Início Rápido: Implantar o VI (Video Indexer) do Azure AI usando o Bicep
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
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 ] }
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
Abra um terminal e verifique se você está conectado à sua assinatura do Azure.
az login
az account set --subscription <your-subscription-name>
Crie um grupos de recursos.
az group create -n <your-resource-group-name> -l eastus
Implante o modelo no grupo de recursos.
az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json
Aguarde a conclusão da implantação e inspecione o recurso criado no portal do Azure.
Artigos relacionados
Se você está começando a usar o Azure AI Video Indexer, confira:
- A documentação do Azure AI Video Indexer
- O portal do desenvolvedor do Azure AI Video Indexer
- Os exemplos oficiais do Azure AI Video Indexer
Se você não estiver familiarizado com a implantação pelo Bicep, confira: