Sdílet prostřednictvím


Vytvoření a použití vlastního poskytovatele prostředků

Vlastní poskytovatel prostředků je kontrakt mezi Azure a koncovým bodem. S vlastními poskytovateli prostředků můžete měnit pracovní postupy v Azure. Tento kurz ukazuje proces vytvoření vlastního poskytovatele prostředků. Pokud vlastní poskytovatele prostředků Azure neznáte, projděte si přehled poskytovatelů vlastních prostředků Azure.

Vytvoření vlastního poskytovatele prostředků

Poznámka

Tento kurz neukazuje, jak vytvořit koncový bod. Pokud nemáte koncový bod RESTFUL, postupujte podle kurzu vytváření koncových bodů RESTful, který je základem aktuálního kurzu.

Po vytvoření koncového bodu můžete vytvořit vlastního poskytovatele prostředků, který vygeneruje kontrakt mezi poskytovatelem a koncovým bodem. Pomocí vlastního poskytovatele prostředků můžete zadat seznam definic koncových bodů:

{
  "name": "myEndpointDefinition",
  "routingType": "Proxy",
  "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Vlastnost Povinné Popis
Jméno Yes Název definice koncového bodu. Azure tento název zveřejňuje prostřednictvím svého rozhraní API ve složce /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders.
/resourceProviders/{resourceProviderName}/{endpointDefinitionName}
typ směrování No Typ kontraktu koncového bodu Pokud hodnota není zadaná, použije se výchozí hodnota Proxy.
Koncový bod Yes Koncový bod, do který se mají požadavky směrovat. Tento koncový bod zpracovává odpověď a všechny vedlejší účinky požadavku.

Hodnota koncového bodu je adresa URL triggeru aplikace funkcí Azure. Zástupné <yourapp>symboly , <funcname>a <functionkey> se musí nahradit hodnotami pro vytvořenou aplikaci funkcí.

Definování vlastních akcí a prostředků

Vlastní poskytovatel prostředků obsahuje seznam definic koncových bodů modelovaných ve vlastnostech actions a resourceTypes . Vlastnost actions se mapuje na vlastní akce vystavené poskytovatelem vlastních prostředků a vlastnost resourceTypes je vlastní prostředky. V tomto kurzu má vlastní poskytovatel prostředků vlastnost actions s názvem myCustomAction a vlastnost resourceTypes s názvem 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"
}

Nasazení vlastního poskytovatele prostředků

Poznámka

Hodnoty koncových bodů musíte nahradit adresou URL triggeru z aplikace funkcí vytvořené v předchozím kurzu.

Předchozího vlastního poskytovatele prostředků můžete nasadit pomocí šablony Azure Resource Manager:

{
    "$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>"
                    }
                ]
            }
        }
    ]
}

Použití vlastních akcí a prostředků

Po vytvoření vlastního poskytovatele prostředků můžete použít nová rozhraní API Azure. Následující části vysvětlují, jak volat a používat vlastního poskytovatele prostředků.

Vlastní akce

Azure CLI

Poznámka

Zástupné symboly a {resourceGroupName} musíte nahradit {subscriptionId} předplatným a skupinou prostředků, do které jste nasadili vlastního poskytovatele prostředků.

az resource invoke-action --action myCustomAction \
                          --ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
                          --request-body
                            '{
                                "hello": "world"
                            }'
Parametr Povinné Popis
Akce Yes Název akce definované ve vlastním poskytovateli prostředků.
Id Yes ID prostředku vlastního poskytovatele prostředků.
text požadavku No Text požadavku, který se odešle do koncového bodu.

Vlastní prostředky

Poznámka

You must replace the {subscriptionId} and {resourceGroupName} placeholders with the subscription and resource group of where you deployed the custom resource provider.

Vytvoření vlastního prostředku

az resource create --is-full-object \
                   --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1 \
                   --properties
                    '{
                        "location": "eastus",
                        "properties": {
                            "hello" : "world"
                        }
                    }'
Parametr Povinné Popis
is-full-object Yes Určuje, jestli objekt properties zahrnuje další možnosti, jako je umístění, značky, skladová položka nebo plán.
id Yes ID vlastního prostředku. Toto ID je rozšířením ID prostředku vlastního poskytovatele prostředků.
Vlastnosti Yes The request body that will be sent to the endpoint.

Odstranění vlastního prostředku

az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parametr Povinné Popis
id Yes The resource ID of the custom resource. This ID is an extension of the custom resource provider's resource ID.

Načtení vlastního prostředku

az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parametr Povinné Popis
id Yes The resource ID of the custom resource. This ID is an extension of the custom resource provider's resource ID.

Poznámka

Po dokončení nasazení a používání vlastního poskytovatele prostředků nezapomeňte vyčistit všechny vytvořené prostředky, včetně aplikace funkcí Azure.

Další kroky

V tomto článku jste se dozvěděli o vlastních poskytovatelích prostředků. Další informace naleznete v tématu: