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: