Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
@azure/provisioning-coremenyediakan model penulisan bersama untuk pustaka sumber daya penyediaan Azure.
Memulai Langkah Pertama
Buat stack deployment, lalu lampirkan sumber daya ke stack atau ke komponen provisioning lain:
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",
});
Gunakan API inti Resource untuk menghubungkan sumber daya Key Vault langsung ke grup sumber daya:
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" },
},
});
Untuk kelas sumber daya bertipe khusus layanan, lihat contoh penyediaan Key Vault.
Definisi provisioning dibuat sebelum penerapan. Properti sumber daya hanya-baca tetap tersedia sebagai ekspresi untuk output kabel dan sumber daya dependen, sementara hanya properti yang dapat ditulis yang dapat ditetapkan.
Diskriminator waktu penyebaran
Properti diskriminator menggunakan tipe literal sehingga TypeScript dapat memilih anggota union yang benar. Ketika discriminator berasal dari ekspresi waktu deployment, gunakan asDiscriminator untuk memilih varian yang dimaksud sambil mempertahankan pemeriksaan tipe untuk properti lainnya:
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,
};
Lebih memilih diskriminator literal kapan pun memungkinkan.
asDiscriminator tidak memvalidasi nilai waktu deployment; membatasi parameter ke literal yang dimaksudkan menggunakan allowed.
Azure SDK for JavaScript