注释
时序见解服务将于 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" } } }
 - 必需参数 - 参数 - 说明 - 事件中心命名空间名称 - 源事件中心的命名空间。 - 事件中心名称 - 源事件中心的名称。 - 消费者组名称 - 由 Azure 时序见解服务用来从事件中心读取数据的使用者组的名称。 注意: 为了避免资源争用,此使用者组必须专门用于 Azure 时序见解服务,而不能与其他读者共享。 - 环境名称 - 环境的名称。 此名称不能包含: - <、- >、- %、- &、- :、- \\、- ?、- /和任何控制字符。 允许其他所有字符。- 事件源名称 - 事件源子资源的名称。 此名称不能包含: - <、- >、- %、- &、- :、- \\、- ?、- /和任何控制字符。 允许其他所有字符。
 - 可选参数 - 参数 - 说明 - 现有EventHub资源ID (existingEventHubResourceId) - 要通过事件源连接到 Azure 时间序列见解环境的现有事件中心的资源 ID(可选)。 注意: 部署模板的用户必须有权对事件中心执行 listkeys 操作。 如果未传递任何值,则模板会创建新的事件中心。 - 环境显示名称 - 可以在工具或用户界面中显示的可选友好名称,用来代替环境名称。 - environmentSkuName - SKU 的名称。 有关详细信息,请阅读“Azure 时序洞察定价”页面。 - environmentSkuCapacity - SKU 的单位容量。 有关详细信息,请阅读“Azure 时序洞察定价”页面。 - 环境数据保留时间 - 环境事件可被查询的最短时间跨度。 必须以 ISO 8601 格式指定该值,例如 - P30D表示保留策略为 30 天。- 事件来源显示名称 - 可在工具或用户界面中显示的替代事件源名称的可选友好名称。 - 事件源时间戳属性名称 - 将用作事件源时间戳的事件属性。 如果未为 timestampPropertyName 指定值,或者指定 null 或空字符串,则将使用事件创建时间。 - eventSourceKeyName(事件源键名) - Azure 时序见解服务用来连接事件中心的共享访问密钥的名称。 - 访问策略读取对象ID - Microsoft Entra ID 中应拥有对环境阅读权限的用户或应用程序对象 ID 列表。 可以通过调用 Get-AzADUser 或 Get-AzADServicePrincipal cmdlet 获取服务主体 objectId。 目前不支持创建 Microsoft Entra 组的访问策略。 - 访问策略贡献者对象ID - 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
- 系统会提示登录到 Azure 帐户。 登录后,运行以下命令以查看可用订阅: - Get-AzSubscription
- 此命令返回可用 Azure 订阅的列表。 通过运行以下命令为当前会话选择订阅。 将 - <YourSubscriptionId>替换为要使用的 Azure 订阅的 GUID:- Set-AzContext -SubscriptionID <YourSubscriptionId>
 
- 创建新资源组(如果不存在)。 - 如果目前没有资源组,请使用 New-AzResourceGroup 命令创建新的资源组。 提供资源组的名称,以及要使用的位置。 例如: - New-AzResourceGroup -Name MyDemoRG -Location "West US"
- 如果成功,则会显示新的资源组的摘要。 - ResourceGroupName : MyDemoRG Location : westus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/<GUID>/resourceGroups/MyDemoRG
 
- 测试部署。 - 通过运行 - Test-AzResourceGroupDeploymentcmdlet 验证部署。 测试部署时,请提供与执行部署时所提供的完全相同的参数。- Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json
 
- 创建部署 - 若要创建新部署,请运行 - New-AzResourceGroupDeploymentcmdlet,并在出现提示时提供必需的参数。 参数包括部署的名称、资源组的名称,以及模板文件的路径或 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 westus Outputs : Name Type Value ================ ========================= ========== dataAccessFQDN String 11aa1aa1-a1aa-1a1a-a11a-aa111a111a11.env.timeseries.azure.com DeploymentDebugLogLevel :
 
- 通过 Azure 门户部署快速入门模板 
后续步骤
- 有关使用 REST API 以编程方式管理 Azure 时序见解资源的信息,请阅读Azure 时序见解管理。