Inicio rápido: Implementación de Azure AI Video Indexer (VI) mediante Bicep
Con este inicio rápido, puede crear una cuenta de Azure AI Video Indexer (VI) mediante Bicep.
Los siguientes recursos se instalan mediante la plantilla de Bicep:
- Cuenta de Azure Storage. Las cuentas de almacenamiento de VI deben ser una cuenta de almacenamiento estándar de uso general v2.
- Cuenta VI con una conexión a la cuenta de almacenamiento mediante una identidad administrada asignada por el sistema
- Asignación de roles Colaborador de datos de Storage Blob para la cuenta VI en la cuenta de almacenamiento
Requisitos previos
- Una suscripción de Azure con permiso para crear recursos.
- La versión más reciente de la CLI de Azure.
- Recomendado: Herramientas de Bicep.
Revisión del archivo de Bicep
El código que acompaña a este inicio rápido se puede encontrar en los ejemplos oficiales de Video Indexer de Azure AI.
El main.bicep
archivo organiza la instalación de dos módulos:
- Módulo VI que implementa la cuenta VI con su recurso de cuenta de Azure Storage dependiente.
- El módulo Permiso de rol que concede a la identidad VI el permiso propietario de datos de Azure Blob Storage en la cuenta de almacenamiento.
Nota:
Se recomienda separar los recursos de Azure a varios módulos de Bicep. Para obtener una descripción completa de cómo funcionan los módulos de Bicep, consulte Módulos de Bicep: Azure Resource Manager.
Creación del archivo de Bicep
Copie y pegue el siguiente contenido en un archivo denominado main.bicep en el directorio de trabajo.
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 ] }
Edite el
main.bicep
archivo rellenando los parámetros que faltan:- storageAccountName : el nombre de la cuenta de almacenamiento que desea conectar a la cuenta de Video Indexer de Azure AI
- videoIndexerAccountName : el nombre de la cuenta VI
Creación de un módulo bicep de Video AI Indexer
Copie y pegue el siguiente contenido en un archivo denominado videoindexer.bicep en el directorio de trabajo. El archivo implementa la cuenta de almacenamiento junto con una cuenta VI con una identidad asignada por el sistema.
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
Creación de un módulo bicep de asignación de roles
Copie y pegue el siguiente contenido en un archivo denominado role-assignment.bicep en el directorio de trabajo. El módulo concede a la identidad asignada por el sistema el rol colaborador de datos de Storage Blob en la cuenta de almacenamiento de la cuenta 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'
}
}
Implementación de los archivos de Bicep
Abra un terminal y asegúrese de que ha iniciado sesión en la suscripción de Azure.
az login
az account set --subscription <your-subscription-name>
Cree un grupo de recursos.
az group create -n <your-resource-group-name> -l eastus
Implemente la plantilla en el grupo de recursos.
az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json
Espere a que la implementación finalice e inspeccione el recurso creado en Azure Portal.
Artículos relacionados
Si es la primera experiencia con Video Indexer de Azure AI, vea lo siguiente:
- La documentación de Video Indexer de Azure AI
- Portal para desarrolladores de Video Indexer de Azure AI
- Ejemplos oficiales de Video Indexer de Azure AI
Si acaba de empezar a usar la implementación de Bicep, consulte: