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


Использование динамических типов для ресурсов 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 будут доступны только в новых версиях динамических типов.

Переключение на динамические типы из встроенных типов:

  1. Запустите VS Code и откройте папку, содержащую файлы main.bicep и bicepconfig.json .

  2. В файле main.bicep есть предупреждение в встроенном microsoftGraph расширении. Наведите указатель мыши на предупреждение, чтобы просмотреть сведения.

    Встроенное предупреждение типа Bicep в Microsoft Graph

  3. Чтобы устранить проблему, выберите ссылку "Быстрое исправление " в нижней части сведений о предупреждении.