Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
После создания нового шаблона интерфейса командной строкиazd разработчика Azure () или начать работу с существующего, вы можете расширить и развивать свое приложение и инфраструктуру по мере изменения требований. В этом руководстве показано, как добавить новую службу Azure в шаблон без использования модуля, который уже предоставляет шаблон.
Начните с шаблона hello-azd, создайте модуль Bicep, который определяет ресурс Azure Translator, сошлитесь на этот модуль из точки входа инфраструктуры шаблона и предоставьте его выходные значения как значения среды azd. В этом руководстве основное внимание уделяется расширению инфраструктуры и не изменяет код приложения.
Note
Вы можете внести следующие изменения напрямую или с помощью помощника по написанию кода ИИ. Независимо от метода разработки просмотрите полученные файлы и проверьте шаблон перед развертыванием.
Prerequisites
Чтобы завершить работу с этим руководством, вам потребуется:
- установлен интерфейс командной строки разработчика Azure.
- Подписка на Azure.
- Разрешение на создание ресурсов Azure в подписке.
- Пустой каталог для инициализированного шаблона.
Инициализация шаблона
Откройте терминал в пустом каталоге, а затем инициализируйте шаблон hello-azd в этом каталоге:
azd init --template hello-azd .
Шаблон включает:
- Приложение C#, развернутое в Контейнеры приложений Azure как сервис
acaвazure.yaml. - Управляемое удостоверение, назначаемое пользователем для приложения.
- Учетная запись хранилища Azure с контейнером BLOB-объектов и таблицей.
- Реестр контейнеров Azure и среда Контейнеры приложений Azure.
- Для повторного использования модулей Bicep в разделе
infra/core.
Рекомендации по выбору и просмотру шаблона перед инициализацией см. в разделе "Пуск" из существующего шаблона.
Создание модуля Переводчика
Создайте файл с именем infra/translator.bicepвручную или с помощью помощника по программированию искусственного интеллекта. Этот новый модуль является автономным и не зависит от модулей из начального шаблона:
@description('Name of the Azure Translator resource.')
param name string
@description('Azure region for the resource.')
param location string
@description('Tags to apply to the resource.')
param tags object = {}
@description('Pricing tier for Azure Translator.')
@allowed([
'F0'
'S1'
])
param sku string = 'F0'
resource translator 'Microsoft.CognitiveServices/accounts@2023-05-01' = {
name: name
location: location
kind: 'TextTranslation'
sku: {
name: sku
}
properties: {
customSubDomainName: name
disableLocalAuth: true
publicNetworkAccess: 'Enabled'
}
tags: tags
}
output name string = translator.name
output endpoint string = translator.properties.endpoint
Модуль использует TextTranslation тип ресурса и отключает проверку подлинности локального ключа. Уровень F0 удобен для оценки, но допускает только один бесплатный ресурс Translator на подписку. Используйте S1 , если подписка уже содержит F0 ресурс или если для проекта требуется платный уровень.
Important
Этот вводный пример включает общедоступную конечную точку, чтобы можно было подготовить ресурс без добавления сетевой инфраструктуры. Прежде чем использовать этот шаблон в рабочей среде, оцените частные конечные точки, элементы управления доступом к сети, мониторинг и требования к безопасности вашей организации.
Ссылка на модуль из main.bicep
Шаблон hello-azd определяет группу ресурсов rg, а также значения location, tags и resourceToken в infra/main.bicep. Вы можете сделать это изменение вручную или предложить помощнику по искусственному интеллекту добавить его. Добавьте следующий модуль после rg объявления ресурса:
module translator './translator.bicep' = {
name: 'translator'
scope: rg
params: {
name: 'translator-${resourceToken}'
location: location
tags: tags
}
}
Свойство scope развертывает модуль в группу ресурсов, которую создает шаблон. Существующее resourceToken значение делает имя ресурса Переводчика уникальным для каждой среды.
Экспорт выходных данных Переводчика
Добавьте следующие выходные данные в конце infra/main.bicep:
output AZURE_TRANSLATOR_NAME string = translator.outputs.name
output AZURE_TRANSLATOR_ENDPOINT string = translator.outputs.endpoint
После выделения ресурсов azd сохраняет эти несекретные выходные значения в активном окружении. Более поздние изменения кода приложения могут использовать эти значения для поиска ресурса Переводчика.
Подготовка и проверка инфраструктуры
Подготовьте инфраструктуру шаблона без развертывания кода приложения:
azd provision
Запустите azd env get-values и убедитесь, что выходные данные включают AZURE_TRANSLATOR_NAME и AZURE_TRANSLATOR_ENDPOINT. На портале Azure убедитесь, что группа ресурсов содержит ресурс Azure Translator.
На этом этапе шаблон подготавливает службу ИИ, но не подключает к ней пример приложения. Чтобы завершить эту интеграцию, настройте доступ с минимально необходимыми привилегиями для управляемой идентификации приложения, передайте приложению адрес конечной точки и добавьте в код приложения клиент Translator. Дополнительные сведения см. в документации по Azure Translator.
Очистите ресурсы
Если ресурсы больше не нужны, удалите их, чтобы избежать дальнейших расходов:
azd down --purge
Связанные материалы
- Обзор разработки шаблонов
- Начните с нового шаблона
- Начало работы с существующего шаблона
- Изучение и изменение файлов шаблонов
Запрос помощи
Чтобы получить информацию о том, как сообщить об ошибке, запросить помощь или предложить новую функцию для интерфейса командной строки разработчика Azure (CLI), перейдите на страницу устранения неполадок и поддержки.