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
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 ] }
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
Ouvrez un terminal et vérifiez que vous êtes connecté à votre abonnement Azure.
az login
az account set --subscription <your-subscription-name>
Créez un groupe de ressources.
az group create -n <your-resource-group-name> -l eastus
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
Attendez que le déploiement se termine et inspecte la ressource créée sur Portail Azure.
Articles connexes
Si vous débutez avec Azure AI Video Indexer, consultez :
- Documentation d’Azure AI Video Indexer
- Portail des développeurs Azure AI Video Indexer
- Exemples Officiels d’Azure AI Video Indexer
Si vous découvrez le déploiement Bicep, consultez :