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 myCustomResources
myCustomAction
.
{
"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: