クイック スタート: 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 ファイルを作成する
次の内容をコピーし、作業ディレクトリの 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 ] }
不足しているパラメーターを入力して、
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 ファイルをデプロイする
ターミナルを開き、Azure サブスクリプションにサインインしていることを確認します。
az login
az account set --subscription <your-subscription-name>
リソース グループを作成する。
az group create -n <your-resource-group-name> -l eastus
テンプレートをリソース グループにデプロイします。
az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json
デプロイが完了するのを待ち、Azure portal で作成されたリソースを調べます。
関連記事
Azure AI Video Indexer の初心者の方は、次のドキュメントをご覧ください。
Bicep のデプロイについてご存じない方は、次を参照してください。