Schnellstart: Bereitstellen von Azure AI Video Indexer (VI) mithilfe von Bicep

Wichtig

Aufgrund der Ankündigung zur Einstellung von Azure Media Services kündigt Azure AI Video Indexer Anpassungen an. Siehe Änderungen im Zusammenhang mit der Einstellung von Azure Media Service (AMS), um zu verstehen, was dies für Ihr Azure AI Video Indexer-Konto bedeutet. Weitere Informationen finden Sie im Leitfaden zur Vorbereitung auf die Einstellung von AMS: VI-Update und -Migration.

Mithilfe dieser Schnellstartanleitung können Sie ein Azure AI Video Indexer (VI)-Konto mithilfe von Bicep erstellen.

Die folgenden Ressourcen werden mithilfe der Bicep-Vorlage installiert:

  • Azure Storage-Konto
  • VI-Konto mit einer Verbindung mit dem Speicherkonto mithilfe einer vom System zugewiesenen verwalteten Identität
  • Rollenzuweisung der Rolle "Storage Blob Data Contributor" für das VI-Konto für das Speicherkonto

Voraussetzungen

Überprüfen der Bicep-Datei

Der Code, der diese Schnellstartanleitung begleitet, finden Sie in den offiziellen Azure AI Video Indexer Samples.

Die main.bicep Datei koordiniert die Installation von zwei Modulen:

  • Das VI-Modul, das das VI-Konto mit seiner abhängigen Azure Storage-Kontoressource bereitstellt.
  • Das Rollenberechtigungsmodul, das der VI-Identität die Berechtigung "Azure Blob Storage Data Owner" für das Speicherkonto erteilt.

Hinweis

Es empfiehlt sich, Azure-Ressourcen auf mehrere Bicep-Module zu trennen. Ein umfassendes Verständnis der Funktionsweise von Bicep-Modulen finden Sie unter Bicep-Module – Azure Resource Manager.

Erstellen der Bicep-Datei

  1. Kopieren Sie den folgenden Inhalt, und fügen Sie ihn in eine Datei namens Standard.bicep in Ihrem Arbeitsverzeichnis ein.

    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. Bearbeiten Sie die main.bicep Datei, indem Sie die fehlenden Parameter ausfüllen:

    • storageAccountName – der Name des Speicherkontos, das Sie mit dem Azure AI Video Indexer-Konto verbinden möchten
    • videoIndexerAccountName - der VI-Kontoname

Erstellen eines Video AI Indexer Bicep-Moduls

Kopieren Sie den folgenden Inhalt, und fügen Sie ihn in eine Datei namens "videoindexer.bicep " in Ihr Arbeitsverzeichnis ein. Die Datei stellt das Speicherkonto zusammen mit einem VI-Konto mit einer vom System zugewiesenen Identität bereit.


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 

Erstellen eines Rollenzuweisungsmoduls Bicep

Kopieren Sie den folgenden Inhalt, und fügen Sie ihn in eine Datei namens role-assignment.bicep in Ihrem Arbeitsverzeichnis ein. Das Modul gewährt dem System die zugewiesene Identität der Rolle von Storage Blob Data Contributor für das Speicherkonto des VI-Kontos.


@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'
  }
} 

Bereitstellen der Bicep-Dateien

  1. Öffnen Sie ein Terminal, und stellen Sie sicher, dass Sie bei Ihrem Azure-Abonnement angemeldet sind.

    az login

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

  2. Erstellen Sie eine Ressourcengruppe.

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

  3. Stellen Sie die Vorlage in der Ressourcengruppe bereit.

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

  4. Warten Sie, bis die Bereitstellung abgeschlossen ist, und prüfen Sie die erstellte Ressource auf Azure-Portal.

Wenn Sie in Azure KI Video Indexer einsteigen, sehen Sie sich diese Ressourcen an:

Wenn Sie in die Bereitstellung von Bicep einsteigen, sehen Sie sich diese Ressourcen an: