快速入门:使用 Azure 资源管理器模板创建事件中心

Azure 事件中心是一个大数据流式处理平台和事件引入服务,每秒能够接收和处理数百万个事件。 事件中心可以处理和存储分布式软件和设备生成的事件、数据或遥测。 可以使用任何实时分析提供程序或批处理/存储适配器转换和存储发送到数据中心的数据。 有关事件中心的详细概述,请参阅事件中心概述事件中心功能

在此快速入门中,使用 Azure 资源管理器模板创建事件中心。 使用 Azure 资源管理器模板创建包含一个事件中心和一个使用者组的事件中心类型命名空间。 本文介绍如何定义要部署的资源以及如何定义执行部署时指定的参数。 可将此模板用于自己的部署,或自定义此模板以满足要求。 有关创建模板的信息,请参阅创作 Azure 资源管理器模板

Note

有关完整的模板,请参阅 GitHub 上的事件中心和使用者组模板。 除了一个事件中心命名空间和一个事件中心之外,此模板还创建了一个使用者组。 若要检查最新模板,请访问 Azure 快速启动模板 库并搜索事件中心。

先决条件

若要完成本快速入门,需要一个 Azure 订阅。 如果没有订阅,请在开始之前创建一个试用帐户

若要使用 Azure PowerShell 部署资源管理器模板,请安装 Azure PowerShell

若要使用 Azure CLI 部署资源管理器模板,请安装 Azure CLI

创建资源管理器模板 JSON

创建包含以下内容且名为 MyEventHub.json 的一个 JSON 文件,并将其保存到某个文件夹(例如:C:\EventHubsQuickstarts\ResourceManagerTemplate)。

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "eventhub-namespace-name": {
            "type": "String"
        },
        "eventhub_name": {
            "type": "String"
        }
    },
    "resources": [
        {
            "type": "Microsoft.EventHub/namespaces",
            "sku": {
                "name": "Standard",
                "tier": "Standard",
                "capacity": 1
            },
            "name": "[parameters('eventhub-namespace-name')]",
            "apiVersion": "2017-04-01",
            "location": "China North",
            "tags": {},
            "scale": null,
            "properties": {
                "isAutoInflateEnabled": false,
                "maximumThroughputUnits": 0
            },
            "dependsOn": []
        },
        {
            "type": "Microsoft.EventHub/namespaces/eventhubs",
            "name": "[concat(parameters('eventhub-namespace-name'), '/', parameters('eventhub_name'))]",
            "apiVersion": "2017-04-01",
            "location": "China North",
            "scale": null,
            "properties": {
                "messageRetentionInDays": 7,
                "partitionCount": 1,
                "status": "Active"
            },
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/namespaces', parameters('eventhub-namespace-name'))]"
            ]
        }
    ]
}

创建参数 JSON

创建一个名为 MyEventHub-Parameters.json 且包含 Azure 资源管理器模板参数的 JSON 文件。

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
        "eventhub-namespace-name": {
            "value": "<specify a name for the event hub namespace>"
        },
        "eventhub_name": {
            "value": "<Specify a name for the event hub in the namespace>"
        }
  }
}

使用 Azure PowerShell 部署模板

登录 Azure

  1. 启动 Azure PowerShell

  2. 运行以下命令来登录到 Azure:

    Login-AzureRmAccount -EnvironmentName AzureChinaCloud
    
  3. 如果发出以下命令来设置当前的订阅上下文:

    Select-AzureRmSubscription -SubscriptionName "<YourSubscriptionName>" 
    

预配资源

若要使用 Azure PowerShell 部署/预配资源,请切换到 C:\EventHubsQuickStart\ARM\ 文件夹,然后运行以下命令:

Important

在运行命令之前,指定 Azure 资源组的名称作为 $resourceGroupName 的值。

$resourceGroupName = "<Specify a name for the Azure resource group>"

# Create an Azure resource group
New-AzureRmResourceGroup $resourceGroupName -location 'China North'

# Deploy the Resource Manager template. Specify the names of deployment itself, resource group, JSON file for the template, JSON file for parameters
New-AzureRmResourceGroupDeployment -Name MyARMDeployment -ResourceGroupName $resourceGroupName -TemplateFile MyEventHub.json -TemplateParameterFile MyEventHub-Parameters.json

使用 Azure CLI 部署模板

登录 Azure

如果在本地运行 CLI,请按以下步骤登录到 Azure 并设置当前订阅:

运行以下命令来登录到 Azure:

az cloud set -n AzureChinaCloud
az login

设置当前订阅上下文。 将 MyAzureSub 替换为要使用的 Azure 订阅的名称:

az account set --subscription <Name of your Azure subscription>

预配资源

若要使用 Azure CLI 部署资源,请切换到 C:\EventHubsQuickStart\ARM\ 文件夹,然后运行以下命令:

Important

在 az group create 命令中指定 Azure 资源组的名称。

# Create an Azure resource group
az group create --name <YourResourceGroupName> --location chinanorth

# # Deploy the Resource Manager template. Specify the names of resource group, deployment, JSON file for the template, JSON file for parameters
az group deployment create --name <Specify a name for the deployment> --resource-group <YourResourceGroupName> --template-file MyEventHub.json --parameters @MyEventHub-Parameters.json

祝贺! 现已使用 Azure 资源管理器模板创建了一个事件中心命名空间,并在该命名空间中创建了一个事件中心。

后续步骤

在本文中,我们已创建事件中心命名空间,并使用示例应用程序从事件中心发送和接收事件。 有关如何将事件发送到事件中心(或)从事件中心接收事件的分步说明,请参阅以下教程: