Partage via


Démarrage rapide : Déployer Azure AI Video Indexer (VI) à l’aide de Bicep

Avertissement

Au cours de la dernière année, Azure AI Video Indexer (VI) a annoncé la suppression de sa dépendance vis-à-vis d’Azure Media Services (AMS) en raison de sa mise hors service. Les ajustements et modifications des fonctionnalités ont été annoncés et un guide de migration a été fourni.

L’échéance de la migration a été le 30 juin 2024. VI a étendu l’échéance de mise à jour/migration afin de pouvoir mettre à jour votre compte VI et opter pour la migration des ressources AMS VI jusqu’au 31 août 2024.

Toutefois, après le 30 juin, si vous n’avez pas mis à jour votre compte VI, vous ne pourrez pas indexer de nouvelles vidéos et vous serez en mesure de lire des vidéos qui n’ont pas été migrées. Si vous mettez à jour votre compte après le 30 juin, vous pouvez reprendre l’indexation immédiatement, mais vous ne pourrez pas lire les vidéos indexées avant la mise à jour du compte tant qu’ils ne sont pas migrés via la migration AMS VI.

À l’aide de ce guide de démarrage rapide, vous pouvez créer un compte Azure AI Video Indexer (VI) à l’aide de Bicep.

Les ressources suivantes sont installées à l’aide du modèle Bicep :

  • Compte Stockage Azure. Les comptes de stockage pour VI doivent être un compte de stockage v2 universel standard.
  • Compte VI avec une connexion au compte de stockage à l’aide d’une identité managée affectée par le système
  • Attribution de rôle Contributeur aux données Blob de stockage pour le compte VI sur le compte de stockage

Prérequis

  • Un abonnement Azure avec l’autorisation de créer des ressources.
  • La version la plus récente d’Azure CLI.
  • Recommandé : outils Bicep.

Examiner le fichier Bicep

Le code qui accompagne ce guide de démarrage rapide se trouve dans les exemples Officiels d’Azure AI Video Indexer.

Le main.bicep fichier orchestre l’installation de deux modules :

  • Module VI qui déploie le compte VI avec sa ressource de compte Stockage Azure dépendante.
  • Module d’autorisation de rôle qui accorde à l’identité VI l’autorisation Stockage Blob Azure Propriétaire des données sur le compte de stockage.

Remarque

Il est recommandé de séparer les ressources Azure de plusieurs modules Bicep. Pour une compréhension complète du fonctionnement des modules Bicep, consultez les modules Bicep - Azure Resource Manager.

Créer le fichier Bicep

  1. Copiez et collez le contenu suivant dans un fichier appelé main.bicep dans votre répertoire de travail.

    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. Modifiez le main.bicep fichier en remplissant les paramètres manquants :

    • storageAccountName : nom du compte de stockage que vous souhaitez connecter au compte Azure AI Video Indexer
    • videoIndexerAccountName - nom du compte VI

Créer un module Bicep Video AI Indexer

Copiez et collez le contenu suivant dans un fichier appelé videoindexer.bicep dans votre répertoire de travail. Le fichier déploie le compte de stockage avec un compte VI avec une identité affectée par le système.


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 

Créer un module Bicep d’attribution de rôle

Copiez et collez le contenu suivant dans un fichier appelé role-assignment.bicep dans votre répertoire de travail. Le module accorde à l’identité affectée par le système le rôle contributeur aux données Blob de stockage sur le compte de stockage du compte 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'
  }
} 

Déployer les fichiers Bicep

  1. Ouvrez un terminal et vérifiez que vous êtes connecté à votre abonnement Azure.

    az login

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

  2. Créez un groupe de ressources.

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

  3. Déployez le modèle sur le groupe de ressources.

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

  4. Attendez que le déploiement se termine et inspecte la ressource créée sur Portail Azure.

Si vous débutez avec Azure AI Video Indexer, consultez :

Si vous découvrez le déploiement Bicep, consultez :