Azure Resource Manager テンプレートを使用して Azure Time Series Insights Gen 1 リソースを作成する

Note

Time Series Insights サービスは、2024 年 7 月 7 日に廃止されます。 できるだけ早く既存の環境を代替ソリューションに移行することを検討してください。 サポートの終了と移行の詳細については、こちらのドキュメントを参照してください。

注意事項

これは Gen1 の記事です。

この記事では、Azure Resource Manager テンプレート、PowerShell、Azure Time Series Insights リソース プロバイダーを使用して Azure Time Series Insights リソースを作成し、デプロイする方法について説明します。

Azure Time Series Insights は、次のリソースをサポートしています。

リソース 説明
環境 Azure Time Series Insights 環境とは、イベント ブローカーから読み取って保存したイベントを論理的にグループ化して、クエリで使用できるようにしたものです。 詳細については、「Azure Time Series Insights 環境の計画」を参照してください
イベント ソース イベント ソースとは、イベント ブローカーへの接続を指します。Azure Time Series Insights は、このイベント ブローカーからイベントを読み取って環境に取り込みます。 現在サポートされているイベント ソースは、IoT Hub とイベント ハブです。
参照データ セット 参照データセットは、環境内のイベントに関するメタデータを提供します。 参照データ セット内のメタデータは、受信時にイベントと結合されます。 参照データセットは、そのイベントの主要なプロパティでリソースとして定義されています。 参照データ セットを構成する実際のメタデータをアップロードまたは変更する際は、データ プレーン API を使用します。
アクセス ポリシー アクセス ポリシーは、データ クエリの発行、環境内での参照データの操作、環境に関連付けられた保存クエリとパースペクティブの共有を実行するためのアクセス許可を付与します。 詳細については、Azure portal を使用した Azure Time Series Insights 環境へのデータ アクセスの許可に関する記事を参照してください。

Resource Manager テンプレートは、リソース グループ内のリソースのインフラストラクチャと構成を定義する JSON ファイルです。 以下のドキュメントでは、テンプレート ファイルについてさらに詳しく説明しています。

クイックスタート テンプレート timeseriesinsights-environment-with-eventhub が GitHub で公開されています。 このテンプレートを使用すると、Azure Time Series Insights 環境、イベントをイベント ハブから使用するように構成された子イベント ソース、環境のデータへのアクセスを許可するアクセス ポリシーを作成することができます。 既存のイベント ハブが指定されていない場合は、デプロイ時に 1 つ作成されます。

注意

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

デプロイ テンプレートとパラメーターを指定する

次の手順では、Azure Time Series Insights 環境、イベントをイベント ハブから使用するように構成された子イベント ソース、環境のデータへのアクセスを許可するアクセス ポリシーを作成するための Azure Resource Manager テンプレートを、PowerShell を使用してデプロイする方法について説明します。 既存のイベント ハブが指定されていない場合は、デプロイ時に 1 つ作成されます。

  1. Getting started with Azure PowerShell」の手順に従って、Azure PowerShell をインストールします。

  2. timeseriesinsights-environment-with-eventhub テンプレートを GitHub からクローンまたはコピーします。

    • パラメーター ファイルを作成する

      パラメーター ファイルを作成するために、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 Time Series Insights サービスがイベント ハブからデータを読み取るために使用するコンシューマー グループの名前。 注: リソースの競合を避けるために、このコンシューマー グループは Azure Time Series Insights サービス専用とし、他のリーダーと共有しないようにしてください。
      environmentName 環境の名前。 名前には、<>%&:\\?/、およびどの制御文字も含めることができません。 それ以外の文字は使用できます。
      eventSourceName イベント ソースの子リソースの名前。 名前には、<>%&:\\?/、およびどの制御文字も含めることができません。 それ以外の文字は使用できます。
    • 省略可能なパラメーター

      パラメーター 説明
      existingEventHubResourceId イベント ソースを介して Azure Time Series Insights 環境に接続する既存のイベント ハブの省略可能なリソース ID。 注: テンプレートを展開するユーザーには、イベント ハブに対して listkeys 操作を実行する権限が必要です。 値が渡されない場合、新しいイベント ハブがテンプレートによって作成されます。
      environmentDisplayName ツールやユーザー インターフェイスで環境名の代わりに表示される省略可能なフレンドリ名。
      environmentSkuName SKU の名前。 詳細については、「Azure Time Series Insights の価格」ページを参照してください。
      environmentSkuCapacity SKU のユニット容量。 詳細については、「Azure Time Series Insights の価格」ページを参照してください。
      environmentDataRetentionTime 環境のイベントにクエリを実行できる最小保持期間。 値は ISO 8601 形式で指定する必要があります (たとえば、アイテム保持ポリシーが 30 日間の場合は P30D)。
      eventSourceDisplayName ツールやユーザー インターフェイスでイベント ソース名の代わりに表示される省略可能なフレンドリ名。
      eventSourceTimestampPropertyName イベント ソースのタイムスタンプとして使用されるイベント プロパティ。 TimestampPropertyName に値が指定されていない場合や、null または空の文字列が指定されている場合は、イベントの作成時刻が使用されます。
      eventSourceKeyName Azure Time Series Insights サービスがイベント ハブに接続するために使用する共有アクセス キーの名前。
      accessPolicyReaderObjectIds 環境への閲覧者アクセス権が必要な、Microsoft Entra ID 内のユーザーまたはアプリケーションのオブジェクト ID の一覧。 サービス プリンシパルの objectId は、Get-AzADUser コマンドレットまたは Get-AzADServicePrincipal コマンドレットを呼び出すことで取得できます。 Microsoft Entra グループ用のアクセス ポリシーの作成は、まだサポートされていません。
      accessPolicyContributorObjectIds 環境への共同作成者アクセス権が必要な、Microsoft Entra ID 内のユーザーまたはアプリケーションのオブジェクト ID の一覧。 サービス プリンシパルの objectId は、Get-AzADUser コマンドレットまたは Get-AzADServicePrincipal コマンドレットを呼び出すことで取得できます。 Microsoft Entra グループ用のアクセス ポリシーの作成は、まだサポートされていません。
    • たとえば、環境と、既存のイベント ハブからイベントを読み取るイベント ソースを作成するには、次のようなパラメーター ファイルを使用します。 このファイルによって、環境への共同作成者アクセス権を付与する 2 つのアクセス ポリシーも作成されます。

      {
          "$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 モジュールを説明しています。

  1. PowerShell で Azure アカウントにログインします。

    • PowerShell プロンプトから、次のコマンドを実行します。

      Connect-AzAccount
      
    • Azure アカウントにログオンするように求められます。 ログオンしたら、次のコマンドを実行して、使用できるサブスクリプションを確認します。

      Get-AzSubscription
      
    • このコマンドを実行すると、使用できる Azure サブスクリプションの一覧が返されます。 現在のセッションのサブスクリプションを選択するには、次のコマンドを実行します。 <YourSubscriptionId> は、使用する Azure サブスクリプションの GUID に置き換えてください。

      Set-AzContext -SubscriptionID <YourSubscriptionId>
      
  2. リソース グループが存在しない場合は、新しいリソース グループを作成します。

    • 既存のリソース グループがない場合は、New-AzResourceGroup コマンドで新しいリソース グループを作成します。 使用するリソース グループの名前と場所を指定します。 次に例を示します。

      New-AzResourceGroup -Name MyDemoRG -Location "West US"
      
    • 成功した場合、新しいリソース グループの概要が表示されます。

      ResourceGroupName : MyDemoRG
      Location          : westus
      ProvisioningState : Succeeded
      Tags              :
      ResourceId        : /subscriptions/<GUID>/resourceGroups/MyDemoRG
      
  3. デプロイをテストします。

    • デプロイを検証するには、Test-AzResourceGroupDeployment コマンドレットを実行します。 デプロイをテストする場合、デプロイの実行時と同様に、必要なパラメーターを正確に指定します。

      Test-AzResourceGroupDeployment -ResourceGroupName MyDemoRG -TemplateFile <path to template file>\azuredeploy.json -TemplateParameterFile <path to parameters file>\azuredeploy.parameters.json
      
  4. 配置を作成する

    • 新しいデプロイを作成するには、New-AzResourceGroupDeployment コマンドレットを実行し、プロンプトに従って必要なパラメーターを指定します。 パラメーターには、デプロイの名前、リソース グループの名前、テンプレート ファイルのパスまたは URL が含まれます。 Mode パラメーターを指定しない場合、Incremental の既定値が使用されます。 詳細については、増分デプロイと完全デプロイに関する記事を参照してください。

    • 次のコマンドを実行すると、PowerShell ウィンドウに 5 つの必須パラメーターを指定するように求められます。

      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
      
    • また、デプロイ コマンドレットを実行するときに、インライン パラメーターを使用することもできます。 コマンドは次のとおりです。

      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
      
  5. デプロイを検証する

    • リソースが正常にデプロイされると、デプロイの概要が 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 :
      
  6. Azure Portal からクイックスタート テンプレートをデプロイする

    • GitHub のクイックスタート テンプレートのホーム ページには、[Deploy to Azure]\(Azure へのデプロイ\) ボタンもあります。 このボタンをクリックすると、Azure Portal の [カスタム デプロイ] ページが開きます。 このページで、各パラメーターの値を入力したり、[必要なパラメーター] テーブルまたは [省略可能なパラメーター] テーブルから選択したりできます。 設定に値を入力し、[購入] ボタンをクリックすると、テンプレートのデプロイが開始されます。

[Azure へのデプロイ] ボタン

次のステップ

  • REST API を使用して Azure Time Series Insights リソースをプログラムによって管理する方法の詳細については、Azure Time Series Insights の管理に関するページを参照してください。