Szybki start: wdrażanie usługi Azure AI Video Indexer (VI) przy użyciu Bicep
Korzystając z tego przewodnika Szybki start, możesz utworzyć konto usługi Azure AI Video Indexer (VI) przy użyciu aplikacji Bicep.
Następujące zasoby są instalowane przy użyciu szablonu Bicep:
- Konto usługi Azure Storage. Konta magazynu dla vi muszą być kontem magazynu ogólnego przeznaczenia w warstwie Standardowa w wersji 2.
- Konto VI z połączeniem z kontem magazynu przy użyciu przypisanej przez system tożsamości zarządzanej
- Przypisanie roli Współautor danych obiektu blob usługi Storage dla konta VI na koncie magazynu
Wymagania wstępne
- Subskrypcja platformy Azure z uprawnieniami do tworzenia zasobów.
- Najnowsza wersja interfejsu wiersza polecenia platformy Azure.
- Zalecane: narzędzia Bicep.
Przejrzyj plik Bicep
Kod, który towarzyszy temu przewodnikowi Szybki start, można znaleźć w oficjalnym przykładzie usługi Azure AI Video Indexer.
Plik main.bicep
organizuje instalację dwóch modułów:
- Moduł VI, który wdraża konto VI z zależnym zasobem konta usługi Azure Storage.
- Moduł Uprawnienia roli, który udziela tożsamości VI uprawnienia właściciela danych usługi Azure Blob Storage na koncie magazynu.
Uwaga
Dobrym rozwiązaniem jest oddzielenie zasobów platformy Azure od wielu modułów Bicep. Aby uzyskać kompleksową wiedzę na temat sposobu działania modułów Bicep, zobacz Moduły Bicep — Azure Resource Manager.
Tworzenie pliku Bicep
Skopiuj i wklej następującą zawartość do pliku o nazwie main.bicep w katalogu roboczym.
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 ] }
Edytuj plik,
main.bicep
wypełniając brakujące parametry:- storageAccountName — nazwa konta magazynu, które chcesz połączyć z kontem usługi Azure AI Video Indexer
- videoIndexerAccountName — nazwa konta VI
Tworzenie modułu Bicep usługi Video AI Indexer
Skopiuj i wklej następującą zawartość do pliku o nazwie videoindexer.bicep w katalogu roboczym. Plik wdraża konto magazynu wraz z kontem VI z tożsamością przypisaną przez system.
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
Tworzenie modułu Bicep przypisania roli
Skopiuj i wklej następującą zawartość do pliku o nazwie role-assignment.bicep w katalogu roboczym. Moduł udziela przypisanej przez system tożsamości roli Współautor danych obiektu blob usługi Storage na koncie magazynu konta 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'
}
}
Wdrażanie plików Bicep
Otwórz terminal i upewnij się, że zalogowałeś się do subskrypcji platformy Azure.
az login
az account set --subscription <your-subscription-name>
Utwórz grupę zasobów.
az group create -n <your-resource-group-name> -l eastus
Wdróż szablon w grupie zasobów.
az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json
Poczekaj na zakończenie wdrożenia i sprawdź utworzony zasób w witrynie Azure Portal.
Powiązane artykuły
Jeśli dopiero zaczynasz korzystać z usługi Azure AI Video Indexer, zobacz:
- Dokumentacja usługi Azure AI Video Indexer
- Portal deweloperów usługi Azure AI Video Indexer
- Oficjalne przykłady usługi Azure AI Video Indexer
Jeśli dopiero zaczynasz wdrażanie aplikacji Bicep, zobacz: