Skapa och använda en anpassad resursprovider
En anpassad resursprovider är ett kontrakt mellan Azure och en slutpunkt. Med anpassade resursprovidrar kan du ändra arbetsflöden i Azure. Den här självstudien visar processen för att skapa en anpassad resursprovider. Om du inte känner till anpassade Azure-resursprovidrar kan du läsa översikten över anpassade Azure-resursprovidrar.
Skapa en anpassad resursprovider
Anteckning
Den här självstudien visar inte hur du skapar en slutpunkt. Om du inte har en RESTFUL-slutpunkt följer du självstudien om hur du redigerar RESTful-slutpunkter, vilket är grunden för den aktuella självstudien.
När du har skapat en slutpunkt kan du skapa en anpassad resursprovider för att generera ett kontrakt mellan providern och slutpunkten. Med en anpassad resursprovider kan du ange en lista över slutpunktsdefinitioner:
{
"name": "myEndpointDefinition",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Egenskap | Krävs | Beskrivning |
---|---|---|
Namn | Yes | Namnet på slutpunktsdefinitionen. Azure exponerar det här namnet via api:et under /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders /resourceProviders/{resourceProviderName}/{endpointDefinitionName} |
routingType | No | Kontraktstypen för slutpunkt. Om värdet inte anges är standardvärdet "Proxy". |
Slutpunkt | Yes | Slutpunkten som begäranden ska dirigeras till. Den här slutpunkten hanterar svaret och eventuella biverkningar av begäran. |
Värdet för slutpunkten är utlösar-URL:en för Azure-funktionsappen. Platshållarna <yourapp>
, <funcname>
och <functionkey>
måste ersättas med värden för den skapade funktionsappen.
Definiera anpassade åtgärder och resurser
Den anpassade resursprovidern innehåller en lista över slutpunktsdefinitioner som modelleras under egenskaperna actions och resourceTypes . Åtgärdsegenskapen mappar till anpassade åtgärder som exponeras av den anpassade resursprovidern och egenskapen resourceTypes är de anpassade resurserna. I den här självstudien har den anpassade resursprovidern en åtgärdsegenskap med namnet myCustomAction
och egenskapen resourceTypes med namnet .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"
}
Distribuera den anpassade resursprovidern
Anteckning
Du måste ersätta slutpunktsvärdena med utlösar-URL:en från funktionsappen som skapades i föregående självstudie.
Du kan distribuera den tidigare anpassade resursprovidern med hjälp av en Azure Resource Manager-mall:
{
"$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>"
}
]
}
}
]
}
Använda anpassade åtgärder och resurser
När du har skapat en anpassad resursprovider kan du använda de nya Azure-API:erna. I följande avsnitt beskrivs hur du anropar och använder en anpassad resursprovider.
Anpassade åtgärder
Azure CLI
Anteckning
Du måste ersätta {subscriptionId}
platshållarna och {resourceGroupName}
med prenumerationen och resursgruppen där du distribuerade den anpassade resursprovidern.
az resource invoke-action --action myCustomAction \
--ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
--request-body
'{
"hello": "world"
}'
Parameter | Krävs | Beskrivning |
---|---|---|
Åtgärder | Yes | Namnet på åtgärden som definierats i den anpassade resursprovidern. |
Id | Yes | Resurs-ID för den anpassade resursprovidern. |
request-body | No | Begärandetexten som ska skickas till slutpunkten. |
Anpassade resurser
Anteckning
Du måste ersätta {subscriptionId}
platshållarna och {resourceGroupName}
med prenumerationen och resursgruppen där du distribuerade den anpassade resursprovidern.
Skapa en anpassad resurs
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 | Krävs | Beskrivning |
---|---|---|
is-full-object | Yes | Anger om egenskapsobjektet innehåller andra alternativ som plats, taggar, SKU eller plan. |
id | Yes | Resurs-ID för den anpassade resursen. Det här ID:t är ett tillägg för den anpassade resursproviderns resurs-ID. |
Egenskaper | Yes | Begärandetexten som ska skickas till slutpunkten. |
Ta bort en anpassad resurs
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parameter | Krävs | Beskrivning |
---|---|---|
id | Yes | Resurs-ID för den anpassade resursen. Det här ID:t är ett tillägg för den anpassade resursproviderns resurs-ID. |
Hämta en anpassad resurs
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parameter | Krävs | Beskrivning |
---|---|---|
id | Yes | Resurs-ID för den anpassade resursen. Det här ID:t är ett tillägg för den anpassade resursproviderns resurs-ID. |
Anteckning
När du är klar med distributionen och användningen av den anpassade resursprovidern ska du komma ihåg att rensa alla skapade resurser, inklusive Azure-funktionsappen.
Nästa steg
I den här artikeln har du lärt dig om anpassade resursprovidrar. Mer information finns i: