Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
@azure/provisioning-coreобеспечивает модель совместного авторинга для библиотек ресурсов предоставления Azure.
Начало работы
Создайте стек развертывания, затем прикрепите ресурсы к стеку или другому компоненту провизионирования:
import { Stack, ResourceGroup, fn } from "@azure/provisioning-core";
const stack = new Stack("application");
new ResourceGroup(stack, {
name: fn.concat("rg-", fn.uniqueString("application")),
location: "eastus",
});
Используйте основной Resource API для подключения ресурса Key Vault напрямую к группе ресурсов:
import { Stack, ResourceGroup, Resource, fn } from "@azure/provisioning-core";
const stack = new Stack("keyvault-deployment");
const resourceGroup = new ResourceGroup(stack, {
name: "rg-keyvault",
location: "eastus",
});
new Resource(resourceGroup, {
type: "Microsoft.KeyVault/vaults",
apiVersion: "2024-11-01",
name: fn.concat("kv-", fn.uniqueString(resourceGroup.id)),
location: resourceGroup.location,
properties: {
tenantId: "00000000-0000-0000-0000-000000000000",
sku: { family: "A", name: "standard" },
},
});
Для специализированных сервисных типизированных классов ресурсов см. пример предоставления Key Vault.
Определения предоставления создаются до развертывания. Свойства ресурсов только для чтения остаются доступны в виде выражений для выходов проводки и зависимых ресурсов, тогда как можно назначить только записываемые свойства.
Дискриминаторы по времени развертывания
Свойства дискриминатора используют литеральные типы, чтобы TypeScript мог выбрать правильного члена профсоюза. Когда дискриминатор исходит из выражения времени развертывания, используйте asDiscriminator для выбора предполагаемого варианта, сохраняя проверку типа для его других свойств:
import { ParameterCollection, asDiscriminator } from "@azure/provisioning-core";
type Rule =
| {
kind: "cache";
cacheKind: "long" | "short";
days: number;
}
| {
kind: "redirect";
url: string;
};
const ruleKind = new ParameterCollection().add("ruleKind", "string", {
allowed: ["cache"],
});
const widget: {
properties: {
primaryRule?: Rule;
};
} = {
properties: {},
};
widget.properties.primaryRule = {
kind: asDiscriminator(ruleKind),
cacheKind: "long",
days: 7,
};
Предпочитайте буквальные дискриминаторы, когда это возможно.
asDiscriminator не валидирует значение времени развертывания; ограничить параметр заданным литералом с помощью allowed.
Azure SDK for JavaScript