Mulai cepat: Menyebarkan Azure AI Video Indexer (VI) dengan menggunakan Bicep

Penting

Karena pengumuman penghentian Azure Media Services, Azure AI Video Indexer mengumumkan penyesuaian fitur Azure AI Video Indexer. Lihat Perubahan yang terkait dengan penghentian Azure Media Service (AMS) untuk memahami apa artinya ini untuk akun Azure AI Video Indexer Anda. Lihat panduan Mempersiapkan penghentian AMS: Pembaruan VI dan migrasi.

Dengan menggunakan mulai cepat ini, Anda dapat membuat akun Azure AI Video Indexer (VI) dengan menggunakan Bicep.

Sumber daya berikut diinstal menggunakan templat Bicep:

  • Akun Azure Storage
  • Akun VI dengan koneksi ke akun penyimpanan menggunakan identitas terkelola yang ditetapkan sistem
  • Penetapan peran Kontributor Data Blob Penyimpanan untuk akun VI di akun penyimpanan

Prasyarat

  • Langganan Azure dengan izin untuk membuat sumber daya.
  • Versi terbaru dari Azure CLI.
  • Disarankan: Alat Bicep.

Tinjau file Bicep

Kode yang menyertai mulai cepat ini dapat ditemukan di Sampel Pengindeks Video Azure AI Resmi.

File main.bicep ini mengatur penginstalan dua modul:

  • Modul VI yang menyebarkan akun VI dengan sumber daya akun Azure Storage dependennya.
  • Modul Izin Peran yang memberikan identitas VI izin Pemilik Data Azure Blob Storage di akun penyimpanan.

Catatan

Ini adalah praktik yang baik untuk memisahkan sumber daya Azure ke beberapa modul Bicep. Untuk pemahaman komprehensif tentang cara kerja modul Bicep, lihat modul Bicep - Azure Resource Manager.

Membuat file Bicep

  1. Salin dan tempel konten berikut ke file yang disebut main.bicep di direktori kerja Anda.

    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 Edit file dengan mengisi parameter yang hilang:

    • storageAccountName - nama akun penyimpanan yang ingin Anda sambungkan ke akun Azure AI Video Indexer
    • videoIndexerAccountName - nama akun VI

Membuat modul Video AI Indexer Bicep

Salin dan tempel konten berikut ke file yang disebut videoindexer.bicep di direktori kerja Anda. File menyebarkan akun penyimpanan bersama dengan akun VI dengan identitas yang ditetapkan sistem.


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 

Membuat modul Bicep penetapan peran

Salin dan tempel konten berikut ke file yang disebut role-assignment.bicep di direktori kerja Anda. Modul ini memberi sistem identitas yang ditetapkan peran Kontributor Data Blob Penyimpanan pada akun penyimpanan akun 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'
  }
} 

Menyebarkan file Bicep

  1. Buka terminal dan pastikan Anda masuk ke langganan Azure Anda.

    az login

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

  2. Buat grup sumber daya.

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

  3. Sebarkan templat ke grup sumber daya.

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

  4. Tunggu hingga penyebaran selesai dan periksa sumber daya yang dibuat pada portal Azure.

Jika Anda baru menggunakan Azure AI Video Indexer, lihat:

Jika Anda baru menggunakan penyebaran Bicep, lihat: