Поделиться через


Краткое руководство. Развертывание индексатора видео 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

  1. Скопируйте и вставьте следующее содержимое в файл с именем 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 
      ] 
    } 
    
    
  2. Измените 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

  1. Откройте терминал и убедитесь, что вы вошли в подписку Azure.

    az login

    az account set --subscription <your-subscription-name>

  2. Создать группу ресурсов.

    az group create -n <your-resource-group-name> -l eastus

  3. Разверните шаблон в группе ресурсов.

    az deployment group create --resource-group <your-resource-group-name> --template-file .\main.template.json

  4. Дождитесь завершения развертывания и проверки созданного ресурса на портал Azure.

Если вы не знакомы с Индексатором видео в Azure AI, ознакомьтесь со следующими сведениями:

Если вы не знакомы с развертыванием Bicep, см. следующие статьи: