Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
@azure/provisioning-corebietet das Shared Authoring-Modell für Azure-Bereitstellungsressourcenbibliotheken.
Erste Schritte
Erstellen Sie einen Deployment-Stack und fügen Sie dann Ressourcen dem Stack oder einer anderen Provisioning-Komponente zu:
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",
});
Verwenden Sie die Kern-APIResource, um eine Key Vault-Ressource direkt einer Ressourcengruppe zuzuordnen:
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" },
},
});
Für dienstspezifisch typisierte Ressourcenklassen siehe das Key Vault-Provisioning-Beispiel.
Provisioning-Definitionen werden vor der Bereitstellung verfasst. Nur-lese-Ressourceneigenschaften bleiben als Ausdrücke für Verdrahtungsausgaben und abhängige Ressourcen verfügbar, während nur beschreibbare Eigenschaften zugewiesen werden können.
Deploy-Time-Discriminatoren
Discriminator-Eigenschaften verwenden literale Typen, sodass TypeScript das richtige Gewerkschaftsmitglied auswählen kann. Wenn ein Discriminator aus einem Deployment-Time-Ausdruck stammt, wählen asDiscriminator Sie die beabsichtigte Variante aus, während die Typprüfung für ihre anderen Eigenschaften beibehalten wird:
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,
};
Bevorzuge wörtliche Diskriminatoren, wann immer möglich.
asDiscriminator validiert nicht den Bereitstellungszeitwert; beschränkt den Parameter auf das beabsichtigte Literal mit allowed.
Azure SDK for JavaScript