Een aangepaste resourceprovider maken en gebruiken
Een aangepaste resourceprovider is een contract tussen Azure en een eindpunt. Met aangepaste resourceproviders kunt u werkstromen in Azure wijzigen. In deze zelfstudie ziet u het proces voor het maken van een aangepaste resourceprovider. Als u niet bekend bent met aangepaste Azure-resourceproviders, raadpleegt u het overzicht van azure aangepaste resourceproviders.
Een aangepaste resourceprovider maken
Notitie
In deze zelfstudie wordt niet beschreven hoe u een eindpunt kunt maken. Als u geen RESTFUL-eindpunt hebt, volgt u de zelfstudie over het maken van RESTful-eindpunten. Dit is de basis voor de huidige zelfstudie.
Nadat u een eindpunt hebt gemaakt, kunt u een aangepaste resourceprovider maken om een contract tussen de provider en het eindpunt te genereren. Met een aangepaste resourceprovider kunt u een lijst met eindpuntdefinities opgeven:
{
"name": "myEndpointDefinition",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Eigenschap | Vereist | Beschrijving |
---|---|---|
name | Ja | De naam van de eindpuntdefinitie. Deze naam wordt door Azure weergegeven via de API onder /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders /resourceProviders/{resourceProviderName}/{endpointDefinitionName} |
routingType | Nee | Het type contract voor het eindpunt. Als de waarde niet is opgegeven, wordt standaard 'Proxy' gebruikt. |
endpoint | Ja | Het eindpunt waarnaar de aanvragen worden gerouteerd. Dit eindpunt verwerkt het antwoord en eventuele neveneffecten van de aanvraag. |
De waarde van endpoint is de trigger-URL van de Azure-functie-app. De tijdelijke aanduidingen <yourapp>
, <funcname>
en <functionkey>
moeten worden vervangen door waarden voor uw gemaakte functie-app.
Aangepaste acties en resources definiëren
De aangepaste resourceprovider bevat een lijst met eindpuntdefinities die zijn gemodelleerd op basis van de eigenschappen actions en resourceTypes . De eigenschap actions wordt toegewezen aan de aangepaste acties die worden weergegeven door de aangepaste resourceprovider en de eigenschap resourceTypes is de aangepaste resources. In deze zelfstudie heeft de aangepaste resourceprovider een eigenschap actions met de naam myCustomAction
en een eigenschap resourceTypes met de naam 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"
}
De aangepaste resourceprovider implementeren
Notitie
U moet de endpoint-waarden vervangen door de trigger-URL uit de functie-app die u in de vorige zelfstudie hebt gemaakt.
U kunt de vorige aangepaste resourceprovider implementeren met behulp van een Azure Resource Manager-sjabloon:
{
"$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>"
}
]
}
}
]
}
Aangepaste acties en resources gebruiken
Nadat u een aangepaste resourceprovider hebt gemaakt, kunt u de nieuwe Azure-API's gebruiken. In de volgende secties wordt uitgelegd hoe u een aangepaste resourceprovider aanroept en gebruikt.
Aangepaste acties
Azure CLI
Notitie
U moet de {subscriptionId}
tijdelijke aanduidingen en {resourceGroupName}
vervangen door het abonnement en de resourcegroep waar u de aangepaste resourceprovider hebt geïmplementeerd.
az resource invoke-action --action myCustomAction \
--ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
--request-body
'{
"hello": "world"
}'
Parameter | Vereist | Beschrijving |
---|---|---|
action | Ja | De naam van de actie die is gedefinieerd in de aangepaste resourceprovider. |
ids | Ja | De resource-id van de aangepaste resourceprovider. |
request-body | Nee | De aanvraagbody die naar het eindpunt wordt verzonden. |
Aangepaste resources
Notitie
U moet de {subscriptionId}
tijdelijke aanduidingen en {resourceGroupName}
vervangen door het abonnement en de resourcegroep waar u de aangepaste resourceprovider hebt geïmplementeerd.
Een aangepaste resource maken
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 | Vereist | Beschrijving |
---|---|---|
is-full-object | Ja | Hiermee wordt aangegeven of het properties-object andere opties bevat, zoals locatie, tags, SKU of plan. |
id | Ja | De resource-id van de aangepaste resource. Deze id is een uitbreiding van de resource-id van de aangepaste resourceprovider. |
properties | Ja | De aanvraagbody die naar het eindpunt wordt verzonden. |
Een aangepaste resource verwijderen
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parameter | Vereist | Beschrijving |
---|---|---|
id | Ja | De resource-id van de aangepaste resource. Deze id is een uitbreiding van de resource-id van de aangepaste resourceprovider. |
Een aangepaste resource ophalen
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parameter | Vereist | Beschrijving |
---|---|---|
id | Ja | De resource-id van de aangepaste resource. Deze id is een uitbreiding van de resource-id van de aangepaste resourceprovider. |
Notitie
Nadat u klaar bent met het implementeren en gebruiken van de aangepaste resourceprovider, moet u alle gemaakte resources opschonen, inclusief de Azure-functie-app.
Volgende stappen
In dit artikel hebt u geleerd over aangepaste resourceproviders. Zie voor meer informatie: