Dela via


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: