Udostępnij za pośrednictwem


Szybki start: wdrażanie usługi Azure AI Video Indexer (VI) przy użyciu Bicep

Korzystając z tego przewodnika Szybki start, możesz utworzyć konto usługi Azure AI Video Indexer (VI) przy użyciu aplikacji Bicep.

Następujące zasoby są instalowane przy użyciu szablonu Bicep:

  • Konto usługi Azure Storage. Konta magazynu dla vi muszą być kontem magazynu ogólnego przeznaczenia w warstwie Standardowa w wersji 2.
  • Konto VI z połączeniem z kontem magazynu przy użyciu przypisanej przez system tożsamości zarządzanej
  • Przypisanie roli Współautor danych obiektu blob usługi Storage dla konta VI na koncie magazynu

Wymagania wstępne

  • Subskrypcja platformy Azure z uprawnieniami do tworzenia zasobów.
  • Najnowsza wersja interfejsu wiersza polecenia platformy Azure.
  • Zalecane: narzędzia Bicep.

Przejrzyj plik Bicep

Kod, który towarzyszy temu przewodnikowi Szybki start, można znaleźć w oficjalnym przykładzie usługi Azure AI Video Indexer.

Plik main.bicep organizuje instalację dwóch modułów:

  • Moduł VI, który wdraża konto VI z zależnym zasobem konta usługi Azure Storage.
  • Moduł Uprawnienia roli, który udziela tożsamości VI uprawnienia właściciela danych usługi Azure Blob Storage na koncie magazynu.

Uwaga

Dobrym rozwiązaniem jest oddzielenie zasobów platformy Azure od wielu modułów Bicep. Aby uzyskać kompleksową wiedzę na temat sposobu działania modułów Bicep, zobacz Moduły Bicep — Azure Resource Manager.

Tworzenie pliku Bicep

  1. Skopiuj i wklej następującą zawartość do pliku o nazwie main.bicep w katalogu roboczym.

    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. Edytuj plik, main.bicep wypełniając brakujące parametry:

    • storageAccountName — nazwa konta magazynu, które chcesz połączyć z kontem usługi Azure AI Video Indexer
    • videoIndexerAccountName — nazwa konta VI

Tworzenie modułu Bicep usługi Video AI Indexer

Skopiuj i wklej następującą zawartość do pliku o nazwie videoindexer.bicep w katalogu roboczym. Plik wdraża konto magazynu wraz z kontem VI z tożsamością przypisaną przez system.


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 

Tworzenie modułu Bicep przypisania roli

Skopiuj i wklej następującą zawartość do pliku o nazwie role-assignment.bicep w katalogu roboczym. Moduł udziela przypisanej przez system tożsamości roli Współautor danych obiektu blob usługi Storage na koncie magazynu konta 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'
  }
} 

Wdrażanie plików Bicep

  1. Otwórz terminal i upewnij się, że zalogowałeś się do subskrypcji platformy Azure.

    az login

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

  2. Utwórz grupę zasobów.

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

  3. Wdróż szablon w grupie zasobów.

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

  4. Poczekaj na zakończenie wdrożenia i sprawdź utworzony zasób w witrynie Azure Portal.

Jeśli dopiero zaczynasz korzystać z usługi Azure AI Video Indexer, zobacz:

Jeśli dopiero zaczynasz wdrażanie aplikacji Bicep, zobacz: