使用 Azure 资源管理器模板创建 Azure 时序见解 Gen 1 资源
注意
时序见解服务将于 2024 年 7 月 7 日停用。 请考虑尽快将现有环境迁移到备用解决方案。 有关弃用和迁移的详细信息,请访问我们的文档。
注意
这是一篇 Gen1 文章。
本文介绍如何使用 Azure 资源管理器模板、PowerShell 和 Azure 时序见解资源提供程序创建和部署 Azure 时序见解资源。
Azure 时序见解支持以下资源:
资源 | 说明 |
---|---|
环境 | Azure 时序见解环境是从事件中转站读取的、经存储的并可供查询使用的事件的逻辑分组。 有关详细信息,请阅读规划 Azure 时序见解环境 |
事件源 | 事件源是与事件中转站建立的连接,Azure 时序见解从该中转站读取和引入事件至环境。 目前支持的事件源是 IoT 中心和事件中心。 |
引用数据集 | 引用数据集提供有关环境中事件的元数据。 在引入期间,引用数据集中的元数据将与事件联接。 引用数据集根据其事件键属性定义为资源。 构成引用数据集的实际元数据通过数据平面 API 上传或修改。 |
访问策略 | 访问策略授予的权限适用于:发出数据查询、操作环境中的引用数据,以及共享已保存的与环境关联的查询和透视。 有关详细信息,请参阅使用 Azure 门户授予对 Azure 时序见解环境的数据访问权限 |
资源管理器模板是用于定义资源组中资源的基础结构和配置的 JSON 文件。 以下文档更详细地介绍了模板文件:
GitHub 上已发布 timeseriesinsights-environment-with-eventhub 快速入门模板。 此模板创建一个 Azure 时序见解环境、一个配置为使用事件中心的事件的子事件源,以及授予环境数据访问权限的访问策略。 如果未指定现有的事件中心,则会连同部署创建一个事件中心。
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
指定部署模板和参数
以下过程描述如何使用 PowerShell 部署一个 Azure 资源管理器模板,该模板创建一个 Azure 时序见解环境、一个配置为使用事件中心事件的子事件源,以及授予环境数据访问权限的访问策略。 如果未指定现有的事件中心,则会连同部署创建一个事件中心。
按照 Azure PowerShell 入门中的说明安装 Azure PowerShell。
从 GitHub 克隆或复制 timeseriesinsights-environment-with-eventhub 模板。
创建参数文件
若要创建参数文件,请复制 timeseriesinsights-environment-with-eventhub 文件。
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "eventHubNamespaceName": { "value": "GEN-UNIQUE" }, "eventHubName": { "value": "GEN-UNIQUE" }, "consumerGroupName": { "value": "GEN-UNIQUE" }, "environmentName": { "value": "GEN-UNIQUE" }, "eventSourceName": { "value": "GEN-UNIQUE" } } }
必需的参数
参数 说明 eventHubNamespaceName 源事件中心的命名空间。 eventHubName 源事件中心的名称。 consumerGroupName 由 Azure 时序见解服务用来从事件中心读取数据的使用者组的名称。 注意: 为了避免资源争用,此使用者组必须专门用于 Azure 时序见解服务,而不能与其他读者共享。 environmentName 环境的名称。 此名称不能包含: <
、>
、%
、&
、:
、\\
、?
、/
和任何控制字符。 允许其他所有字符。eventSourceName 事件源子资源的名称。 此名称不能包含: <
、>
、%
、&
、:
、\\
、?
、/
和任何控制字符。 允许其他所有字符。
可选参数
参数 说明 existingEventHubResourceId 要通过事件源连接到 Azure 时序见解环境的现有事件中心的可选资源 ID。 注意: 部署模板的用户必须有权对事件中心执行 listkeys 操作。 如果未传递任何值,则模板会创建新的事件中心。 environmentDisplayName 要在工具或用户界面中显示的可选友好名称,而不是环境名称。 environmentSkuName SKU 的名称。 有关详细信息,请阅读“Azure 时序见解定价”页。 environmentSkuCapacity SKU 的单位容量。 有关详细信息,请阅读“Azure 时序见解定价”页。 environmentDataRetentionTime 环境事件可供查询的最小时间跨度。 必须以 ISO 8601 格式指定该值,例如 P30D
表示保留策略为 30 天。eventSourceDisplayName 要在工具或用户界面中显示的可选友好名称,而不是事件源名称。 eventSourceTimestampPropertyName 用作事件源时间戳的事件属性。 如果未为 timestampPropertyName 指定值,或者指定 null 或空字符串,则会使用事件创建时间。 eventSourceKeyName 由 Azure 时序见解服务用来连接到事件中心的共享访问密钥的名称。 accessPolicyReaderObjectIds Microsoft Entra ID 中应该对环境拥有“读者”访问权限的用户或应用程序的对象 ID 列表。 可以通过调用 Get-AzADUser 或 Get-AzADServicePrincipal cmdlet 获取服务主体 objectId。 目前不支持创建 Microsoft Entra 组的访问策略。 accessPolicyContributorObjectIds Microsoft Entra ID 中应该对环境拥有“参与者”访问权限的用户或应用程序的对象 ID 列表。 可以通过调用 Get-AzADUser 或 Get-AzADServicePrincipal cmdlet 获取服务主体 objectId。 目前不支持创建 Microsoft Entra 组的访问策略。 例如,以下参数文件将用于创建环境,以及可从现有事件中心读取事件的事件源。 此外,它会创建两个访问策略,用于授予对环境的“参与者”访问权限。
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "eventHubNamespaceName": { "value": "tsiTemplateTestNamespace" }, "eventHubName": { "value": "tsiTemplateTestEventHub" }, "consumerGroupName": { "value": "tsiTemplateTestConsumerGroup" }, "environmentName": { "value": "tsiTemplateTestEnvironment" }, "eventSourceName": { "value": "tsiTemplateTestEventSource" }, "existingEventHubResourceId": { "value": "/subscriptions/{yourSubscription}/resourceGroups/MyDemoRG/providers/Microsoft.EventHub/namespaces/tsiTemplateTestNamespace/eventhubs/tsiTemplateTestEventHub" }, "accessPolicyContributorObjectIds": { "value": [ "AGUID001-0000-0000-0000-000000000000", "AGUID002-0000-0000-0000-000000000000" ] } } }
有关详细信息,请阅读参数一文。
使用 PowerShell 在本地部署快速入门模板
重要
下面显示的命令行操作描述 Az PowerShell 模块。
在 PowerShell 中,登录到 Azure 帐户。
在 PowerShell 提示符下,运行以下命令:
Connect-AzAccount -Environment AzureChinaCloud
系统会提示登录到 Azure 帐户。 登录后,运行以下命令以查看可用订阅:
Get-AzSubscription
此命令返回可用 Azure 订阅的列表。 通过运行以下命令为当前会话选择订阅。 将
<YourSubscriptionId>
替换为要使用的 Azure 订阅的 GUID:Set-AzContext -SubscriptionID <YourSubscriptionId>
创建新资源组(如果不存在)。
如果目前没有资源组,请使用 New-AzResourceGroup 命令创建新的资源组。 提供资源组的名称,以及要使用的位置。 例如:
New-AzResourceGroup -Name MyDemoRG -Location "China East 2"
如果成功,则会显示新的资源组的摘要。
ResourceGroupName : MyDemoRG Location : chinaeast2 ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/<GUID>/resourceGroups/MyDemoRG
测试部署。
通过运行
Test-AzResourceGroupDeployment
cmdlet 验证部署。 测试部署时,请提供与执行部署时所提供的完全相同的参数。Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json
创建部署
若要创建新部署,请运行
New-AzResourceGroupDeployment
cmdlet,并在出现提示时提供必需的参数。 参数包括部署的名称、资源组的名称,以及模板文件的路径或 URL。 如果未指定 Mode 参数,将使用 Incremental 的默认值。 有关详细信息,请阅读增量部署和完整部署。以下命令提示在 PowerShell 窗口中输入五个必需的参数:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
若要改为指定参数文件,请使用以下命令:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json
运行部署 cmdlet 时,还可以使用内联参数。 该命令如下所示:
New-AzResourceGroupDeployment -Name MyDemoDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -parameterName "parameterValue"
要运行完整部署,请将 Mode 参数设置为 Complete:
New-AzResourceGroupDeployment -Name MyDemoDeployment -Mode Complete -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json
验证部署
如果资源已成功部署,会在 PowerShell 窗口中显示部署的摘要:
DeploymentName : MyDemoDeployment ResourceGroupName : MyDemoRG ProvisioningState : Succeeded Timestamp : 10/11/2019 3:20:37 AM Mode : Incremental TemplateLink : Parameters : Name Type Value ================================== ========================= ========== eventHubNewOrExisting String new eventHubResourceGroup String MyDemoRG eventHubNamespaceName String tsiquickstartns eventHubName String tsiquickstarteh consumerGroupName String tsiquickstart environmentName String tsiquickstart environmentDisplayName String tsiquickstart environmentSkuName String S1 environmentSkuCapacity Int 1 environmentDataRetentionTime String P30D eventSourceName String tsiquickstart eventSourceDisplayName String tsiquickstart eventSourceTimestampPropertyName String eventSourceKeyName String manage accessPolicyReaderObjectIds Array [] accessPolicyContributorObjectIds Array [] location String chinaeast2 Outputs : Name Type Value ================ ========================= ========== dataAccessFQDN String 11aa1aa1-a1aa-1a1a-a11a-aa111a111a11.env.timeseries.azure.com DeploymentDebugLogLevel :
通过 Azure 门户部署快速入门模板
后续步骤
- 有关使用 REST API 以编程方式管理 Azure 时序见解资源的信息,请阅读Azure 时序见解管理。