Compartilhar via


Início Rápido: Implantar o VI (Video Indexer) do Azure AI usando o Bicep

Importante

O prazo para migrar o conteúdo do Azure Video Indexer devido à desativação dos Serviços de Mídia do Azure já passou. Consulte o guia de desativação para obter mais informações.

Usando este guia de início rápido, você pode criar uma conta do VI (Video Indexer) do Azure AI usando o Bicep.

Os seguintes recursos são instalados usando o modelo Bicep:

  • Conta de Armazenamento do Azure. As contas de armazenamento para VI devem ser uma conta de armazenamento Standard de uso geral v2.
  • VI com uma conexão com a conta de armazenamento usando uma identidade gerenciada atribuída pelo sistema
  • A atribuição de função de Colaborador de Dados do Blob de Armazenamento para a conta VI na conta de armazenamento

Pré-requisitos

  • Uma assinatura do Azure com permissão para criar recursos.
  • A versão mais recente da CLI do Azure.
  • Recomendado: Ferramentas de bíceps.

Examinar o arquivo Bicep

O código que acompanha este início rápido pode ser encontrado nos Exemplos Oficiais do Azure AI Video Indexer.

O main.bicep arquivo orquestra a instalação de dois módulos:

  • O módulo VI que implanta a conta VI com seu recurso de conta de Armazenamento do Azure dependente.
  • O módulo de Permissão de Função que concede à identidade do VI a permissão de Proprietário de Dados do Armazenamento de Blobs do Azure na conta de armazenamento.

Observação

É uma boa prática separar os recursos do Azure em vários módulos Bicep. Para obter uma compreensão abrangente de como os módulos Bicep funcionam, consulte Módulos Bicep – Azure Resource Manager.

Criar o arquivo Bicep

  1. Copie e cole o conteúdo a seguir em um arquivo chamado main.bicep em seu diretório de trabalho.

    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 o main.bicep arquivo preenchendo os parâmetros ausentes:

    • storageAccountName – o nome da conta de armazenamento que você deseja conectar à conta do Azure AI Video Indexer
    • videoIndexerAccountName - o nome da conta VI

Criar um módulo Bicep do Video AI Indexer

Copie e cole o conteúdo a seguir em um arquivo chamado videoindexer.bicep em seu diretório de trabalho. O arquivo implanta a conta de armazenamento junto com uma conta VI com uma identidade atribuída pelo 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 

Criar um módulo Bicep de atribuição de função

Copie e cole o conteúdo a seguir em um arquivo chamado role-assignment.bicep em seu diretório de trabalho. O módulo concede à identidade atribuída ao sistema a função de Colaborador de Dados do Blob de Armazenamento na conta de armazenamento da conta 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'
  }
} 

Implantar os arquivos Bicep

  1. Abra um terminal e verifique se você está conectado à sua assinatura do Azure.

    az login

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

  2. Crie um grupos de recursos.

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

  3. Implante o modelo no grupo de recursos.

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

  4. Aguarde a conclusão da implantação e inspecione o recurso criado no portal do Azure.

Se você está começando a usar o Azure AI Video Indexer, confira:

Se você não estiver familiarizado com a implantação pelo Bicep, confira: