共用方式為


快速入門:使用 Bicep 部署 Azure AI 影片索引器 (VI)

使用此快速入門,您可以使用 Bicep 建立 Azure AI 影片索引器 (VI) 帳戶

下列資源是使用 Bicep 樣本來安裝:

  • Azure 儲存體帳戶。 VI 的記憶體帳戶必須是標準一般用途 v2 儲存體帳戶
  • 使用系統指派的受控識別連線至記憶體帳戶的 VI 帳戶
  • 記憶體帳戶上 VI 帳戶的記憶體 Blob 數據參與者角色指派

必要條件

  • 具有建立資源許可權的 Azure 訂用帳戶。
  • 最新版的 Azure CLI
  • 建議:Bicep 工具。

檢閱 Bicep 檔案

本快速入門隨附的程式代碼可在官方 Azure AI 影片索引器範例中找到

檔案 main.bicep 會協調兩個模組的安裝:

  • 使用其相依 Azure 儲存體 帳戶資源部署 VI 帳戶的 VI 模組。
  • 角色許可權模組,授與記憶體帳戶上 Azure Blob 儲存體 數據擁有者許可權的VI身分識別。

注意

最好將 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 影片索引器帳戶的記憶體帳戶名稱
    • videoIndexerAccountName - VI 帳戶名稱

建立影片 AI 索引器 Bicep 模組

將下列內容複製並貼到工作目錄中名為 videoindexer.bicep 的檔案。 檔案會部署記憶體帳戶,以及具有系統指派身分識別的 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 的檔案。 模組會將記憶體 Blob 數據參與者角色授與系統指派的身分識別,該角色位於 VI 帳戶的記憶體帳戶上。


@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 入口網站 上建立的資源。

如果您不熟悉 Azure AI Video Indexer,請參閱:

如果您不熟悉 Bicep 部署,請參閱: