Compartir a través de


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

  1. 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 
      ] 
    } 
    
    
  2. 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

  1. 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>

  2. Cree un grupo de recursos.

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

  3. Implemente la plantilla en el grupo de recursos.

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

  4. Espere a que la implementación finalice e inspeccione el recurso creado en Azure Portal.

Si es la primera experiencia con Video Indexer de Azure AI, vea lo siguiente:

Si acaba de empezar a usar la implementación de Bicep, consulte: