Краткое руководство. Развертывание индексатора видео Azure AI (VI) с помощью Bicep
С помощью этого краткого руководства можно создать учетную запись Индексатора видео Azure (VI) с помощью Bicep.
Следующие ресурсы устанавливаются с помощью шаблона Bicep:
- Учетная запись хранения Azure. Учетные записи хранения для VI должны быть учетной записью хранения версии 2 уровня "Стандартный".
- Учетная запись VI с подключением к учетной записи хранения с помощью управляемого удостоверения, назначаемого системой
- Назначение роли участника данных BLOB-объектов хранилища для учетной записи хранения в учетной записи хранения
Необходимые компоненты
- Подписка Azure с разрешением на создание ресурсов.
- Последняя версия Azure CLI.
- Рекомендуется: средства Bicep.
Проверка BICEP-файла
Код, сопровождающий это краткое руководство, можно найти в официальных примерах индексатора видео в Azure AI.
Файл main.bicep
оркеструет установку двух модулей:
- Модуль VI, который развертывает учетную запись VI со своим зависимым ресурсом служба хранилища Azure учетной записи.
- Модуль разрешения роли, предоставляющий удостоверение VI, Хранилище BLOB-объектов Azure разрешение владельца данных в учетной записи хранения.
Примечание.
Рекомендуется разделить ресурсы Azure на несколько модулей Bicep. Полное представление о работе модулей Bicep см. в разделе "Модули Bicep" в Azure Resource Manager.
Создание файла Bicep
Скопируйте и вставьте следующее содержимое в файл с именем main.bicep в рабочем каталоге.
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
файл, заполнив отсутствующие параметры:- storageAccountName — имя учетной записи хранения, которую вы хотите подключить к учетной записи индексатора видео Azure AI.
- videoIndexerAccountName — имя учетной записи VI
Создание модуля Bicep индексатора видео СИ
Скопируйте и вставьте следующее содержимое в файл с именем videoindexer.bicep в рабочем каталоге. Файл развертывает учетную запись хранения вместе с учетной записью VI с назначенным системой удостоверением.
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
Создание модуля Bicep назначения ролей
Скопируйте и вставьте следующее содержимое в файл с именем role-assignment.bicep в рабочем каталоге. Модуль предоставляет системе удостоверение, назначаемое системой, роль участника данных BLOB-объектов хранилища в учетной записи хранения учетной записи 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'
}
}
Развертывание файлов Bicep
Откройте терминал и убедитесь, что вы вошли в подписку Azure.
az login
az account set --subscription <your-subscription-name>
Создать группу ресурсов.
az group create -n <your-resource-group-name> -l eastus
Разверните шаблон в группе ресурсов.
az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json
Дождитесь завершения развертывания и проверки созданного ресурса на портал Azure.
Связанные статьи
Если вы не знакомы с Индексатором видео в Azure AI, ознакомьтесь со следующими сведениями:
- Документация по индексатору видео в Azure AI
- Портал разработчика Индексатора видео в Azure AI
- Официальные примеры индексатора видео Azure AI
Если вы не знакомы с развертыванием Bicep, см. следующие статьи: