Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
@azure/provisioning-corebiedt het gedeelde authoringmodel voor Azure provisioning resource libraries.
Aan de slag
Maak een deployment stack aan en koppel resources aan die stack of aan een andere provisioningcomponent:
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",
});
Gebruik de kern-API Resource om een Key Vault-resource direct aan een resourcegroep te koppelen:
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" },
},
});
Voor service-specifieke getypeerde resourceklassen, zie het voorbeeld van Key Vault-provisioning.
Provisioning-definities worden vóór de implementatie opgesteld. Alleen-lezen resource-eigenschappen blijven beschikbaar als expressies voor bedradingsuitgangen en afhankelijke bronnen, terwijl alleen beschrijfbare eigenschappen kunnen worden toegewezen.
Discriminatoren op inzettijd
Discriminator-eigenschappen gebruiken letterlijke types zodat TypeScript het juiste vakbondslid kan selecteren. Wanneer een discriminator afkomstig is van een deployment-time expressie, gebruik asDiscriminator je om de bedoelde variant te selecteren terwijl typecontrole behouden blijft voor de andere eigenschappen:
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,
};
Geef waar mogelijk de voorkeur aan letterlijke discriminatoren.
asDiscriminator valideert de implementatietijdwaarde niet; beperk de parameter tot het bedoelde literal met allowedbehulp van .
Azure SDK for JavaScript