Partager via


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

À 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 dans 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 :