次の方法で共有


クイック スタート: Bicep を使用して Azure AI Video Indexer (VI) をデプロイする

このクイック スタートを使用すると、 Bicep を使用して Azure AI Video Indexer (VI) アカウントを作成できます。

Bicep テンプレートを使用して、次のリソースがインストールされます。

  • Azure Storage アカウント。 VI のストレージ アカウントは、Standard 汎用 v2 ストレージ アカウントである必要があります
  • システム割り当てマネージド ID を使用してストレージ アカウントに接続する VI アカウント
  • ストレージ アカウントの VI アカウントに対するストレージ BLOB データ共同作成者ロールの割り当て

前提条件

  • リソースを作成するアクセス許可を持つ Azure サブスクリプション。
  • 最新バージョンの Azure CLI
  • 推奨: Bicep ツール。

Bicep ファイルを確認する

このクイック スタートに付属するコードは、 Official Azure AI Video Indexer サンプルで確認できます。

main.bicep ファイルは、次の 2 つのモジュールのインストールを調整します。

  • 依存する Azure Storage アカウント リソースを使用して VI アカウントをデプロイする VI モジュール。
  • ストレージ アカウントに対する Azure Blob Storage データ所有者アクセス許可を VI ID に付与するロールアクセス許可モジュール。

Note

Azure リソースを複数の Bicep モジュールに分離することをお勧めします。 Bicep モジュールのしくみの包括的な理解については、「 Bicep モジュール - Azure Resource Manager」を参照してください。

Bicep ファイルを作成する

  1. 次の内容をコピーし、作業ディレクトリの main.bicep というファイルに貼り付けます。

    param location string = resourceGroup().location 
    @description('Storage Account Name') 
    param storageAccountName string = “<add_your_storage_account_name” 
    @description('Video Indexer Account Name') 
    param videoIndexerAccountName string = = “<add_your_videoindexer_account_name>” 
    
    module videoIndexer 'videoIndexer.bicep' = { 
      name: 'videoIndexer.bicep' 
      params: { 
        location: location 
        storageAccountName: storageAccountName 
        videoIndexerAccountName: videoIndexerAccountName 
      } 
    } 
    
    // Role Assignment must be on a separate resource  
    
    module roleAssignment 'role-assignment.bicep' = { 
      name: 'grant-storage-blob-data-contributor' 
      params: { 
        servicePrincipalObjectId: videoIndexer.outputs.servicePrincipalId 
        storageAccountName: storageAccountName 
      } 
      dependsOn: [ 
        videoIndexer 
      ] 
    } 
    
    
  2. 不足しているパラメーターを入力して、 main.bicep ファイルを編集します。

    • storageAccountName - Azure AI Video Indexer アカウントに接続するストレージ アカウントの名前
    • videoIndexerAccountName - VI アカウント名

Video AI Indexer Bicep モジュールを作成する

次の内容をコピーし、作業ディレクトリの videoindexer.bicep というファイルに貼り付けます。 このファイルは、ストレージ アカウントと共に、システム割り当て ID を持つ VI アカウントをデプロイします。


param location string = resourceGroup().location 
@description('Storage Account Name') 
param storageAccountName string 
@description('Video Indexer Account Name') 
param videoIndexerAccountName string 
@description('Storage Account Kind') 
var storageKind = 'StorageV2' 
@description('Storage Account Sku') 
var storageSku = 'Standard_LRS' 
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = { 
  name: storageAccountName 
  location: location 
  kind: storageKind 
  properties: { 
    minimumTlsVersion: 'TLS1_2' 
  } 
  sku: { 
    name: storageSku 
  }
} 

resource videoIndexer 'Microsoft.VideoIndexer/accounts@2024-01-01' = { 
  name: videoIndexerAccountName 
  location: location 
  identity: { 
    type: 'SystemAssigned' 
  } 

  properties: { 
    storageServices: { 
      resourceId: storageAccount.id 
    } 
  } 
} 

output storageAccountName string = storageAccount.name 
output accountName string = videoIndexer.name 
output servicePrincipalId string = videoIndexer.identity.principalId 

ロールの割り当てを作成する Bicep モジュール

次の内容をコピーして、作業ディレクトリの role-assignment.bicep というファイルに貼り付けます。 このモジュールは、VI アカウントのストレージ アカウントに対するストレージ BLOB データ共同作成者のロールをシステム割り当て ID に付与します。


@secure() 
param servicePrincipalObjectId string 
param storageAccountName string
@description('Storage Blob Data Contributor Role Id') 
var storageBlobDataContributorRoleId = 'ba92f5b4-2d11-453d-a403-e96b0029c9fe' 
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-04-01' existing= { 
  name: storageAccountName 
} 

resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = { 
  name: guid(storageAccount.id, servicePrincipalObjectId, 'Storage Blob Data Contributor')  
  scope: storageAccount  
  properties: { 
    roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', storageBlobDataContributorRoleId)  
    principalId: servicePrincipalObjectId 
    principalType: 'ServicePrincipal'
  }
} 

Bicep ファイルをデプロイする

  1. ターミナルを開き、Azure サブスクリプションにサインインしていることを確認します。

    az login

    az account set --subscription <your-subscription-name>

  2. リソース グループを作成する。

    az group create -n <your-resource-group-name> -l eastus

  3. テンプレートをリソース グループにデプロイします。

    az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json

  4. デプロイが完了するのを待ち、Azure portal で作成されたリソースを調べます。

Azure AI Video Indexer の初心者の方は、次のドキュメントをご覧ください。

Bicep のデプロイについてご存じない方は、次を参照してください。