Quickstart: Azure AI Video Indexer (VI) implementeren met Bicep
Met deze quickstart kunt u een Azure AI Video Indexer-account (VI) maken met behulp van Bicep.
De volgende resources worden geïnstalleerd met behulp van de Bicep-sjabloon:
- Azure-opslagaccount. Opslagaccounts voor VI moeten een Standaard v2-opslagaccount voor algemeen gebruik zijn.
- VI-account met een verbinding met het opslagaccount met behulp van een door het systeem toegewezen beheerde identiteit
- De roltoewijzing Inzender voor opslagblobgegevens voor het VI-account in het opslagaccount
Vereisten
- Een Azure-abonnement met machtigingen voor het maken van resources.
- De nieuwste versie van de Azure CLI.
- Aanbevolen: Bicep tools.
Het Bicep-bestand controleren
De code die bij deze quickstart hoort, vindt u in de officiële Voorbeelden van Azure AI Video Indexer.
Het main.bicep
bestand organiseert de installatie van twee modules:
- De VI-module waarmee het VI-account wordt geïmplementeerd met de afhankelijke Resource van het Azure Storage-account.
- De module Rolmachtiging waarmee de VI-identiteit wordt verleend aan de azure Blob Storage-gegevenseigenaar voor het opslagaccount.
Notitie
Het is een goede gewoonte om Azure-resources te scheiden van meerdere Bicep-modules. Zie Bicep-modules - Azure Resource Manager voor een uitgebreid begrip van de werking van Bicep-modules.
Het Bicep-bestand maken
Kopieer en plak de volgende inhoud in een bestand met de naam main.bicep in uw werkmap.
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 ] }
Bewerk het
main.bicep
bestand door de ontbrekende parameters in te vullen:- storageAccountName : de naam van het opslagaccount dat u wilt verbinden met het Azure AI Video Indexer-account
- videoIndexerAccountName - de naam van het VI-account
Een Video AI Indexer Bicep-module maken
Kopieer en plak de volgende inhoud in een bestand met de naam videoindexer.bicep in uw werkmap. Het bestand implementeert het opslagaccount samen met een VI-account met een door het systeem toegewezen identiteit.
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
Een Bicep-module voor roltoewijzing maken
Kopieer en plak de volgende inhoud in een bestand met de naam role-assignment.bicep in uw werkmap. De module verleent de door het systeem toegewezen identiteit de rol van Inzender voor opslagblobgegevens voor het opslagaccount van het VI-account.
@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'
}
}
De Bicep-bestanden implementeren
Open een terminal en zorg ervoor dat u bent aangemeld bij uw Azure-abonnement.
az login
az account set --subscription <your-subscription-name>
Maak een resourcegroep.
az group create -n <your-resource-group-name> -l eastus
Implementeer de sjabloon in de resourcegroep.
az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json
Wacht tot de implementatie is voltooid en inspecteer de gemaakte resource in Azure Portal.
Verwante artikelen:
Als u niet eerder met Azure AI Video Indexer werkt, raadpleegt u:
- De documentatie voor Azure AI Video Indexer
- De Ontwikkelaarsportal van Azure AI Video Indexer
- De officiële Voorbeelden van Azure AI Video Indexer
Als u nog geen gebruik hebt van bicep-implementatie, raadpleegt u: