Udostępnij za pośrednictwem


Tworzenie i używanie niestandardowego dostawcy zasobów

Niestandardowy dostawca zasobów to kontrakt między platformą Azure a punktem końcowym. Za pomocą niestandardowych dostawców zasobów można zmieniać przepływy pracy na platformie Azure. W tym samouczku przedstawiono proces tworzenia niestandardowego dostawcy zasobów. Jeśli nie znasz niestandardowych dostawców zasobów platformy Azure, zobacz omówienie niestandardowych dostawców zasobów platformy Azure.

Tworzenie niestandardowego dostawcy zasobów

Uwaga

W tym samouczku nie pokazano, jak utworzyć punkt końcowy. Jeśli nie masz punktu końcowego RESTFUL, postępuj zgodnie z samouczkiem dotyczącym tworzenia punktów końcowych RESTful, który jest podstawą bieżącego samouczka.

Po utworzeniu punktu końcowego można utworzyć niestandardowego dostawcę zasobów w celu wygenerowania kontraktu między dostawcą a punktem końcowym. Za pomocą niestandardowego dostawcy zasobów można określić listę definicji punktów końcowych:

{
  "name": "myEndpointDefinition",
  "routingType": "Proxy",
  "endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Właściwość Wymagane Opis
Nazwa Tak Nazwa definicji punktu końcowego. Platforma Azure uwidacznia tę nazwę za pomocą interfejsu API w obszarze /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders
/resourceProviders/{resourceProviderName}/{endpointDefinitionName}
routingType Nie Typ kontraktu punktu końcowego. Jeśli wartość nie jest określona, wartość domyślna to "Proxy".
Punktu końcowego Tak Punkt końcowy do kierowania żądań do. Ten punkt końcowy obsługuje odpowiedź i wszelkie skutki uboczne żądania.

Wartość punktu końcowego to adres URL wyzwalacza aplikacji funkcji platformy Azure. <yourapp>Symbole zastępcze , <funcname>i <functionkey> muszą zostać zastąpione wartościami dla utworzonej aplikacji funkcji.

Definiowanie akcji niestandardowych i zasobów

Niestandardowy dostawca zasobów zawiera listę definicji punktów końcowych modelowanych w ramach akcji i właściwości resourceTypes . Właściwość actions jest mapowana na akcje niestandardowe uwidocznione przez niestandardowego dostawcę zasobów, a właściwość resourceTypes jest zasobami niestandardowymi. W tym samouczku niestandardowy dostawca zasobów ma właściwość actions o nazwie i właściwość resourceTypes o nazwie myCustomResourcesmyCustomAction .

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

Wdrażanie niestandardowego dostawcy zasobów

Uwaga

Musisz zastąpić wartości punktu końcowego adresem URL wyzwalacza z aplikacji funkcji utworzonej w poprzednim samouczku.

Poprzedni niestandardowy dostawca zasobów można wdrożyć przy użyciu szablonu usługi 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>"
                    }
                ]
            }
        }
    ]
}

Korzystanie z akcji niestandardowych i zasobów

Po utworzeniu niestandardowego dostawcy zasobów możesz użyć nowych interfejsów API platformy Azure. W poniższych sekcjach opisano sposób wywoływania i używania niestandardowego dostawcy zasobów.

Akcje niestandardowe

Interfejs wiersza polecenia platformy Azure

Uwaga

Symbole zastępcze i {resourceGroupName} należy zastąpić {subscriptionId} subskrypcją i grupą zasobów, w której wdrożono niestandardowego dostawcę zasobów.

az resource invoke-action --action myCustomAction \
                          --ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
                          --request-body
                            '{
                                "hello": "world"
                            }'
Parametr Wymagane Opis
Działania Tak Nazwa akcji zdefiniowanej w niestandardowym dostawcy zasobów.
Identyfikatory Tak Identyfikator zasobu niestandardowego dostawcy zasobów.
treść żądania Nie Treść żądania, która zostanie wysłana do punktu końcowego.

Zasoby niestandardowe

Uwaga

Symbole zastępcze i {resourceGroupName} należy zastąpić {subscriptionId} subskrypcją i grupą zasobów, w której wdrożono niestandardowego dostawcę zasobów.

Tworzenie zasobu niestandardowego

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 Wymagane Opis
is-full-object Tak Wskazuje, czy obiekt właściwości zawiera inne opcje, takie jak lokalizacja, tagi, jednostka SKU lub plan.
id Tak Identyfikator zasobu niestandardowego. Ten identyfikator jest rozszerzeniem identyfikatora zasobu niestandardowego dostawcy zasobów.
Właściwości Tak Treść żądania, która zostanie wysłana do punktu końcowego.

Usuwanie zasobu niestandardowego

az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parametr Wymagane Opis
id Tak Identyfikator zasobu niestandardowego. Ten identyfikator jest rozszerzeniem identyfikatora zasobu niestandardowego dostawcy zasobów.

Pobieranie zasobu niestandardowego

az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parametr Wymagane Opis
id Tak Identyfikator zasobu niestandardowego. Ten identyfikator jest rozszerzeniem identyfikatora zasobu niestandardowego dostawcy zasobów.

Uwaga

Po zakończeniu wdrażania i używaniu niestandardowego dostawcy zasobów pamiętaj, aby wyczyścić wszystkie utworzone zasoby, w tym aplikację funkcji platformy Azure.

Następne kroki

W tym artykule przedstawiono informacje o niestandardowych dostawcach zasobów. Aby uzyskać więcej informacji, zobacz: