Snabbstart: Distribuera Azure AI Video Indexer (VI) med hjälp av Bicep
Med den här snabbstarten kan du skapa ett Azure AI Video Indexer-konto (VI) med hjälp av Bicep.
Följande resurser installeras med Bicep-mallen:
- Azure Storage-konto. Lagringskonton för VI måste vara ett standardlagringskonto för generell användning v2.
- VI-konto med en anslutning till lagringskontot med hjälp av en systemtilldelad hanterad identitet
- Rolltilldelningen Storage Blob Data Contributor för VI-kontot på lagringskontot
Förutsättningar
- En Azure-prenumeration med behörighet att skapa resurser.
- Den senaste versionen av Azure CLI.
- Rekommenderas: Bicep-verktyg.
Granska Bicep-filen
Koden som medföljer den här snabbstarten finns i de officiella Azure AI Video Indexer-exemplen.
Filen main.bicep
samordnar installationen av två moduler:
- VI-modulen som distribuerar VI-kontot med dess beroende Azure Storage-kontoresurs.
- Modulen Rollbehörighet som ger VI-identiteten behörigheten Azure Blob Storage Data Owner för lagringskontot.
Kommentar
Det är en bra idé att separera Azure-resurser till flera Bicep-moduler. En omfattande förståelse för hur Bicep-moduler fungerar finns i Bicep-moduler – Azure Resource Manager.
Skapa Bicep-filen
Kopiera och klistra in följande innehåll i en fil med namnet main.bicep i arbetskatalogen.
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 ] }
main.bicep
Redigera filen genom att fylla i parametrarna som saknas:- storageAccountName – namnet på det lagringskonto som du vill ansluta till Azure AI Video Indexer-kontot
- videoIndexerAccountName – VI-kontonamnet
Skapa en Video AI Indexer Bicep-modul
Kopiera och klistra in följande innehåll i en fil med namnet videoindexer.bicep i arbetskatalogen. Filen distribuerar lagringskontot tillsammans med ett VI-konto med en systemtilldelad identitet.
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
Skapa en Bicep-modul för rolltilldelning
Kopiera och klistra in följande innehåll i en fil med namnet role-assignment.bicep i arbetskatalogen. Modulen ger den systemtilldelade identiteten rollen Storage Blob Data Contributor för lagringskontot för VI-kontot.
@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'
}
}
Distribuera Bicep-filerna
Öppna en terminal och se till att du är inloggad på din Azure-prenumeration.
az login
az account set --subscription <your-subscription-name>
Skapa en resursgrupp.
az group create -n <your-resource-group-name> -l eastus
Distribuera mallen till resursgruppen.
az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json
Vänta tills distributionen har slutförts och inspektera den skapade resursen på Azure Portal.
Relaterade artiklar
Om du inte har använt Azure AI Video Indexer tidigare kan du läsa:
- Dokumentation om Azure AI Video Indexer
- Utvecklarportalen för Azure AI Video Indexer
- De officiella Azure AI Video Indexer-exemplen
Om du inte har använt Bicep-distributionen tidigare kan du läsa: