Guida introduttiva: Distribuire Azure AI Video Indexer (VI) usando Bicep
Con questa guida introduttiva è possibile creare un account Di Azure AI Video Indexer (VI) usando Bicep.
Le risorse seguenti vengono installate usando il modello Bicep:
- Account di archiviazione di Azure. Gli account di archiviazione per VI devono essere un account di archiviazione per utilizzo generico v2 Standard.
- Account VI con una connessione all'account di archiviazione usando un'identità gestita assegnata dal sistema
- Assegnazione di ruolo Collaboratore dati BLOB di archiviazione per l'account di archiviazione vi nell'account di archiviazione
Prerequisiti
- Una sottoscrizione di Azure con l'autorizzazione per creare risorse.
- L'ultima versione dell'interfaccia della riga di comando di Azure.
- Consigliato: strumenti Bicep.
Esaminare il file Bicep
Il codice che accompagna questa guida introduttiva è disponibile negli esempi ufficiali di Video Indexer per Intelligenza artificiale di Azure.
Il main.bicep
file orchestra l'installazione di due moduli:
- Il modulo VI che distribuisce l'account VI con la risorsa account dipendente Archiviazione di Azure.
- Modulo Autorizzazione ruolo che concede all'identità VI l'autorizzazione del proprietario dei dati Archiviazione BLOB di Azure per l'account di archiviazione.
Nota
È consigliabile separare le risorse di Azure in più moduli Bicep. Per una conoscenza completa del funzionamento dei moduli Bicep, vedere Moduli Bicep - Azure Resource Manager.
Creare il file Bicep
Copiare e incollare il contenuto seguente in un file denominato main.bicep nella directory di lavoro.
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 ] }
Modificare il
main.bicep
file inserendo i parametri mancanti:- storageAccountName : nome dell'account di archiviazione che si vuole connettere all'account Di Azure AI Video Indexer
- videoIndexerAccountName - Nome account VI
Creare un modulo Bicep di Video AI Indexer
Copiare e incollare il contenuto seguente in un file denominato videoindexer.bicep nella directory di lavoro. Il file distribuisce l'account di archiviazione insieme a un account VI con un'identità assegnata dal 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
Creare un modulo Bicep per l'assegnazione di ruolo
Copiare e incollare il contenuto seguente in un file denominato role-assignment.bicep nella directory di lavoro. Il modulo concede all'identità assegnata dal sistema il ruolo collaboratore ai dati dei BLOB di archiviazione nell'account di archiviazione dell'account 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'
}
}
Distribuire il file Bicep
Aprire un terminale e assicurarsi di aver eseguito l'accesso alla sottoscrizione di Azure.
az login
az account set --subscription <your-subscription-name>
Crea un gruppo di risorse.
az group create -n <your-resource-group-name> -l eastus
Distribuire il modello nel gruppo di risorse.
az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json
Attendere il completamento della distribuzione e controllare la risorsa creata in portale di Azure.
Articoli correlati
Se non si ha familiarità con Azure AI Video Indexer, vedere:
- Documentazione di Video Indexer per intelligenza artificiale di Azure
- Portale per sviluppatori di Video Indexer per intelligenza artificiale di Azure
- Esempi ufficiali di Video Indexer per Intelligenza artificiale di Azure
Se non si ha familiarità con la distribuzione Bicep, vedere: