Freigeben über


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

Wichtig

Der Stichtag für die Migration von Azure Video Indexer-Inhalten aufgrund der Einstellung von Azure Media Services ist abgelaufen. Weitere Informationen finden Sie im Einstellungsleitfaden .

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. Speicherkonten für VI müssen ein Standard-V2-Speicherkonto sein.
  • 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 mit dem Namen "main.bicep " in Ihr 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: