Использование динамических типов для ресурсов Bicep Microsoft Graph
Расширение Microsoft Graph Bicep использует динамические типы, которые позволяют использовать семантические версии версий для бета-версии Microsoft Graph и версии 1.0. Использование динамических типов позволяет вносить критические изменения в существующие типы ресурсов Microsoft Graph Bicep без влияния на развертывание существующих файлов Bicep, использующих старые версии этих типов ресурсов. При использовании динамических типов репозиторий типов Bicep в версии Microsoft Graph ссылается и извлекается из Реестр артефактов Microsoft. Эти версии типов отделены от пакета NuGet компилятора Bicep.
Существует два способа настройки динамических типов непосредственно в файле main.bicep или с псевдонимом версии понятного типа в файле bicepconfig.json, на который можно ссылаться в файле main.bicep.
Выбор версии типа
Необходимо добавить ссылку на репозиторий типов ресурсов Bicep Microsoft Graph из Реестр артефактов Microsoft. Чтобы найти последнюю или соответствующую версию репозитория, перейдите в Реестр артефактов Microsoft и выполните поиск по запросу "Расширение Bicep Microsoft Graph". Существуют версии для бета-версии Microsoft Graph и версии 1.0.
Настройка динамических типов в файле Bicep
В файле main.bicep можно ссылаться на используемую версию репозитория типов Bicep Microsoft Graph, заменив <v1.0-version>
заполнитель версией типа, которую вы хотите использовать для Microsoft Graph версии 1.0.
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
Вы также можете указать бета-версию в одном файле Bicep, а затем использовать типы из обеих версий.
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/beta:<beta-version>'
// using Microsoft Graph v1.0
resource group 'Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// using Microsoft Graph beta
resource app 'Microsoft.Graph/applications@beta' existing = {
uniqueName: appName
}
Кроме того, можно объявить ресурсы, использующие более старые и новые версии типов Bicep. В примере показано, как использовать старый и более новый тип. Он отличается от типа того же имени, который доступен в двух разных импортированных расширениях, используя полное имя типа:
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version-latest>' as latestGraphV1
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version-older>' as olderGraphV1
// using the latest version of the Microsoft Graph v1.0 Bicep types
resource group 'latestGraphV1:Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// using and older version of the Microsoft Graph v1.0 Bicep types
resource app 'olderGraphV1:Microsoft.Graph/applications@v1.0' existing = {
uniqueName: appName
}
Настройка динамических типов в конфигурации Bicep
Вы можете указать понятный псевдоним, ссылающийся на версию репозитория типов Bicep Microsoft Graph для использования в файле bicepconfig.json , заменив <v1.0-version>
<beta-version>
заполнители версиями типов, которые вы хотите использовать.
{
"experimentalFeaturesEnabled": {
"extensibility": true
},
"extensions": {
"graphV1": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>",
"graphBeta": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/beta:<beta-version>"
}
}
Затем эти псевдонимы можно использовать в файле main.bicep при указании используемого расширения. Как показано ниже, можно объявить использование расширения версии 1.0 и бета-версии, что позволяет объявлять ресурсы из бета-версий Microsoft Graph версии 1.0 и Microsoft Graph.
extension graphV1
extension graphBeta
// using Microsoft Graph v1.0
resource group 'Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// using Microsoft Graph beta
resource app 'Microsoft.Graph/applications@beta' existing = {
uniqueName: appName
}
Примечание.
Вы также можете объявить псевдонимы для разных версий типов из той же версии Microsoft Graph (например, более новой и старой версии типа Bicep из Microsoft Graph версии 1.0) в файле bicepconfig.json и ссылаться на эти псевдонимы в файле main.bicep при импорте расширений и объявлении ресурсов с использованием полных имен типов.
Миграция на использование динамических типов из встроенных типов
Типы Bicep Microsoft Graph также встроены в пакет NuGet компилятора Bicep. Этот пакет NuGet содержит определения типов Microsoft Graph для бета-версии Microsoft Graph и версии 1.0. Встроенные типы были единственным вариантом, доступным до сентября 2024 года.
Внимание
Встроенные типы устарели и будут прекращены 24 января 2025 г. До даты выхода на пенсию встроенные типы, обозначаемые extension microsoftGraph
, будут сосуществовать с новыми динамическими типами. Любые изменения типов Bicep в Microsoft Graph будут доступны только в новых версиях динамических типов.
Переключение на динамические типы из встроенных типов:
Запустите VS Code и откройте папку, содержащую файлы main.bicep и bicepconfig.json .
В файле main.bicep есть предупреждение в встроенном
microsoftGraph
расширении. Наведите указатель мыши на предупреждение, чтобы просмотреть сведения.Чтобы устранить проблему, выберите ссылку "Быстрое исправление " в нижней части сведений о предупреждении.