Erstellen und Verwenden eines benutzerdefinierten Ressourcenanbieters
Ein benutzerdefinierter Ressourcenanbieter ist ein Vertrag zwischen Azure und einem Endpunkt. Mit benutzerdefinierten Ressourcenanbietern können Sie Workflows in Azure ändern. In diesem Tutorial wird der Prozess zum Erstellen eines benutzerdefinierten Ressourcenanbieters veranschaulicht. Sollten Sie noch nicht mit benutzerdefinierten Azure-Ressourcenanbietern vertraut sein, sehen Sie sich die Übersicht über benutzerdefinierte Azure-Ressourcenanbieter an.
Erstellen eines benutzerdefinierten Ressourcenanbieters
Hinweis
In diesem Tutorial wird nicht gezeigt, wie Sie einen Endpunkt erstellen. Falls Sie keinen RESTful-Endpunkt besitzen, arbeiten Sie das Tutorial zur Erstellung von RESTful-Endpunkten durch. Dieses Tutorial dient als Grundlage für das aktuelle Tutorial.
Nach der Erstellung eines Endpunkts können Sie einen benutzerdefinierten Ressourcenanbieter erstellen, um einen Vertrag zwischen dem Anbieter und dem Endpunkt zu generieren. Mit einem benutzerdefinierten Ressourcenanbieter können Sie eine Liste mit Endpunktdefinitionen angeben:
{
"name": "myEndpointDefinition",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Eigenschaft | Erforderlich | Beschreibung |
---|---|---|
name | Ja | Der Name der Endpunktdefinition. Azure macht diesen Namen über seine API unter „/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders /resourceProviders/{resourceProviderName}/{endpointDefinitionName}“ verfügbar. |
routingType | Nein | Der Endpunktvertragstyp. Wird kein Wert angegeben, wird standardmäßig „Proxy“ verwendet. |
endpoint | Ja | Der Endpunkt, an den die Anforderungen geleitet werden. Der Endpunkt verarbeitet die Antwort sowie alle Nebenwirkungen der Anforderung. |
Der Wert von endpoint ist die Trigger-URL der Azure-Funktions-App. Die Platzhalter <yourapp>
, <funcname>
und <functionkey>
müssen durch Werte für Ihre erstellte Funktions-App ersetzt werden.
Definieren von benutzerdefinierten Aktionen und Ressourcen
Der benutzerdefinierte Ressourcenanbieter enthält eine Liste mit Endpunktdefinitionen, die unter den Eigenschaften actions und resourceTypes modelliert sind. Die Eigenschaft actions ist den benutzerdefinierten Aktionen zugeordnet, die vom benutzerdefinierten Ressourcenanbieter verfügbar gemacht werden, und bei der Eigenschaft resourceTypes handelt es sich um die benutzerdefinierten Ressourcen. In diesem Tutorial verfügt der benutzerdefinierte Ressourcenanbieter über die Eigenschaft actions mit dem Namen myCustomAction
und die Eigenschaft resourceTypes mit dem Namen myCustomResources
.
{
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
],
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
]
},
"location": "eastus"
}
Bereitstellen eines benutzerdefinierten Ressourcenanbieters
Hinweis
Sie müssen die endpoint-Werte durch die Trigger-URL aus der Funktions-App ersetzen, die im vorherigen Tutorial erstellt wurde.
Sie können den vorherigen benutzerdefinierten Ressourcenanbieter mit einer Azure Resource Manager-Vorlage bereitstellen:
{
"$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.CustomProviders/resourceProviders",
"name": "myCustomProvider",
"apiVersion": "2018-09-01-preview",
"location": "eastus",
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
],
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
]
}
}
]
}
Verwenden benutzerdefinierter Aktionen und Ressourcen
Nach dem Erstellen eines benutzerdefinierten Ressourcenanbieters können Sie die neuen Azure-APIs verwenden. In den folgenden Abschnitten wird das Aufrufen und Verwenden eines benutzerdefinierten Ressourcenanbieters erläutert.
Benutzerdefinierte Aktionen
Azure CLI
Hinweis
Sie müssen die Platzhalter {subscriptionId}
und {resourceGroupName}
durch das Abonnement und die Ressourcengruppe ersetzen, die Sie für die Bereitstellung des benutzerdefinierten Ressourcenanbieters verwendet haben.
az resource invoke-action --action myCustomAction \
--ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
--request-body
'{
"hello": "world"
}'
Parameter | Erforderlich | BESCHREIBUNG |
---|---|---|
action | Ja | Der Name der Aktion, die im benutzerdefinierten Ressourcenanbieter definiert ist |
ids | Ja | Die Ressourcen-ID des benutzerdefinierten Ressourcenanbieters |
request-body | Nein | Der Anforderungstext, der an den Endpunkt gesendet wird |
Benutzerdefinierte Ressourcen
Hinweis
Sie müssen die Platzhalter {subscriptionId}
und {resourceGroupName}
durch das Abonnement und die Ressourcengruppe ersetzen, die Sie für die Bereitstellung des benutzerdefinierten Ressourcenanbieters verwendet haben.
Erstellen einer benutzerdefinierten Ressource
az resource create --is-full-object \
--id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1 \
--properties
'{
"location": "eastus",
"properties": {
"hello" : "world"
}
}'
Parameter | Erforderlich | BESCHREIBUNG |
---|---|---|
is-full-object | Ja | Gibt an, dass das properties-Objekt noch andere Optionen enthält, z. B. „location“, „tags“, „SKU“ oder „plan“. |
id | Ja | Die Ressourcen-ID der benutzerdefinierten Ressource. Diese ID ist eine Erweiterung der Ressourcen-ID des benutzerdefinierten Ressourcenanbieters. |
properties | Ja | Der Anforderungstext, der an den Endpunkt gesendet wird |
Löschen einer benutzerdefinierten Ressource
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parameter | Erforderlich | BESCHREIBUNG |
---|---|---|
id | Ja | Die Ressourcen-ID der benutzerdefinierten Ressource. Diese ID ist eine Erweiterung der Ressourcen-ID des benutzerdefinierten Ressourcenanbieters. |
Abrufen einer benutzerdefinierten Ressource
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parameter | Erforderlich | BESCHREIBUNG |
---|---|---|
id | Ja | Die Ressourcen-ID der benutzerdefinierten Ressource. Diese ID ist eine Erweiterung der Ressourcen-ID des benutzerdefinierten Ressourcenanbieters. |
Hinweis
Denken Sie nach Abschluss der Bereitstellung und Nutzung des benutzerdefinierten Ressourcenanbieters daran, alle erstellten Ressourcen zu bereinigen, einschließlich der Azure-Funktions-App.
Nächste Schritte
In diesem Artikel haben Sie Grundlegendes über benutzerdefinierte Ressourcenanbieter gelernt. Weitere Informationen finden Sie unter: