Импорт и экспорт определений схемы с помощью PowerShell
Важно!
11 июля 2026 г. blueprints (предварительная версия) будет считаться нерекомендуемой. Перенесите существующие определения и назначения схем в спецификации шаблонов и стеки развертывания. Артефакты схемы необходимо преобразовать в шаблоны JSON ARM или файлы Bicep, используемые для определения стеков развертывания. Чтобы узнать, как создать артефакт в качестве ресурса ARM, см. следующие статьи:
Службой Azure Blueprints можно полностью управлять с помощью портала Azure. По мере того, как организации совершенствуют использование Azure Blueprints, им следует начать применять определения схемы как управляемый код. Эта концепция часто называется "инфраструктура как код" (IaC). Использование определений схемы в качестве кода обеспечивает дополнительные преимущества, помимо возможностей на портале Azure. К этим преимуществам относятся следующие:
- Совместное использование определений схемы.
- Резервное копирование определений схемы.
- Повторное использование определений схемы в разных клиентах или подписках.
- Размещение определений схемы в управлении исходным кодом:
- автоматическое тестирование определений схемы в тестовых средах;
- поддержка конвейеров непрерывной интеграции и непрерывного развертывания (CI/CD).
В любом случае управление определениями схемы как кодом имеет свои преимущества. В этой статье описано, как использовать команды Import-AzBlueprintWithArtifact
и Export-AzBlueprintWithArtifact
в модуле Az.Blueprint.
Предварительные требования
Для работы с этой статьей необходим опыт использования Azure Blueprints. Если опыта использования нет, изучите указанные ниже статьи.
- Создание схемы на портале
- Ознакомьтесь с этапами развертывания и жизненным циклом схемы.
- Создание определений и назначений схемы и управление ими с помощью PowerShell.
Выполните инструкции из этой статьи, чтобы установить модуль Az.Blueprint из коллекции PowerShell и проверить его работу.
Структура папок определения схемы
Прежде чем посмотреть, как экспортировать и импортировать схемы, необходимо изучить, как структурированы файлы, составляющие определение схемы. Определение схемы должно храниться в отдельной папке.
Важно!
Если в параметр Имя командлета Import-AzBlueprintWithArtifact
не передается соответствующее значение, то используется имя папки, в которой хранится определение схемы.
Вместе с определением схемы, которое должно называться blueprint.json
, сохраняются артефакты, из которых состоит определение схемы. Каждый артефакт должен находиться в подпапке с именем artifacts
.
В итоге структура определения схемы в виде файлов JSON в папках должна выглядеть следующим образом:
.
|
|- MyBlueprint/ _______________ # Root folder name becomes default name of blueprint definition
| |- blueprint.json __________ # The blueprint definition. Fixed name.
|
| |- artifacts/ ______________ # Subfolder for all blueprint artifacts. Fixed name.
| |- artifact.json ________ # Blueprint artifact as JSON file. Artifact named from file.
| |- ...
| |- more-artifacts.json
Экспорт определения схемы
Действия по экспорту определения схемы выполняются очень просто. Экспорт определения схемы может быть полезен при операциях совместного использования, резервного копирования или размещения в управлении исходным кодом.
-
Blueprint [обязательный]:
- указывает определение схемы;
- используйте
Get-AzBlueprint
для получения объекта ссылки.
-
OutputPath [обязательный]:
- указывает путь для сохранения файлов JSON определения схемы;
- выходные файлы находятся во вложенной папке с именем определения схемы.
-
Version (необязательный):
- указывает версию для вывода данных, если объект ссылки Blueprint содержит ссылки на несколько версий.
Получите ссылку на определение схемы для экспорта из подписки в виде
{subId}
:# Login first with Connect-AzAccount if not using Cloud Shell # Get version '1.1' of the blueprint definition in the specified subscription $bpDefinition = Get-AzBlueprint -SubscriptionId '{subId}' -Name 'MyBlueprint' -Version '1.1'
С помощью командлета
Export-AzBlueprintWithArtifact
экспортируйте указанное определение схемы:Export-AzBlueprintWithArtifact -Blueprint $bpDefinition -OutputPath 'C:\Blueprints'
Импорт определения схемы
После экспорта определения схемы или его создания вручную, используя необходимую структуру папок, можно импортировать это определение схемы в другую группу управления или подписку.
Примеры встроенных определений схемы см. в репозитории Azure Blueprint GitHub.
-
Name [обязательный]:
- указывает имя для нового определения схемы.
-
InputPath [обязательный]:
- указывает путь для создания определения схемы;
- необходимо соответствие требуемой структуре папок.
-
ManagementGroupId (необязательный):
- идентификатор группы управления для сохранения определения схемы, если не является текущим контекстом по умолчанию;
- необходимо указать либо ManagementGroupId, либо SubscriptionId.
-
SubscriptionId (необязательный):
- идентификатор подписки для сохранения определения схемы, если не является текущим контекстом по умолчанию;
- необходимо указать либо ManagementGroupId, либо SubscriptionId.
С помощью командлета
Import-AzBlueprintWithArtifact
импортируйте указанное определение схемы:# Login first with Connect-AzAccount if not using Cloud Shell Import-AzBlueprintWithArtifact -Name 'MyBlueprint' -ManagementGroupId 'DevMG' -InputPath 'C:\Blueprints\MyBlueprint'
После импорта определения схемы назначьте его с помощью PowerShell.
Дополнительные сведения о создании расширенных определений схемы см. в указанных ниже статьях.
- Использование статических и динамических параметров.
- Настройка последовательности схем.
- Защита развертываний с помощью блокировки ресурсов схемы.
- Управление схемами как кодом.
Дальнейшие действия
- Ознакомьтесь со сведениями о жизненном цикле схем.
- Узнайте, как использовать статические и динамические параметры.
- Научитесь настраивать последовательность схемы.
- Узнайте, как применять блокировку ресурсов схемы.
- Устраняйте проблемы, возникающие во время назначения схемы, с помощью общих инструкций по устранению неполадок.