Lägga till anpassade resurser i Azure REST API
Den här artikeln går igenom kraven och metodtipsen för att skapa slutpunkter för Azure Custom Resource Provider som implementerar anpassade resurser. Om du inte är bekant med anpassade Resursprovidrar i Azure kan du läsa översikten över anpassade resursprovidrar.
Definiera en resursslutpunkt
En slutpunkt är en URL som pekar på en tjänst som implementerar det underliggande kontraktet mellan den och Azure. Slutpunkten definieras i den anpassade resursprovidern och kan vara valfri offentligt tillgänglig URL. Exemplet nedan har en resourceType som heter myCustomResource
implementerad av endpointURL
.
Exempel på ResourceProvider:
{
"properties": {
"resourceTypes": [
{
"name": "myCustomResource",
"routingType": "Proxy, Cache",
"endpoint": "https://{endpointURL}/"
}
]
},
"location": "eastus",
"type": "Microsoft.CustomProviders/resourceProviders",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
"name": "{resourceProviderName}"
}
Skapa en resursslutpunkt
En slutpunkt som implementerar en resourceType måste hantera begäran och svaret för det nya API:et i Azure. När en anpassad resursprovider med en resourceType skapas genererar den en ny uppsättning API:er i Azure. I det här fallet genererar resourceType ett nytt Azure-resurs-API för PUT
, GET
och DELETE
för att utföra CRUD på en enskild resurs samt GET
för att hämta alla befintliga resurser:
Manipulera enskild resurs (PUT
, GET
och DELETE
):
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResource/{myCustomResourceName}
Hämta alla resurser (GET
):
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResource
För anpassade resurser erbjuder anpassade resursproviders två typer av routingTypes: "Proxy
" och "Proxy, Cache
".
proxyroutningstyp
RoutingType-proxyservrarnaProxy
för alla begärandemetoder till slutpunkten som anges i den anpassade resursprovidern. När du ska använda "Proxy
":
- Fullständig kontroll över svaret behövs.
- Integrera system med befintliga resurser.
Mer information om resurserProxy
finns i referensen för den anpassade resursproxyn
routningstyp för proxycache
Proxy, Cache
RoutingType-proxyservrarnaPUT
och DELETE
förfrågningsmetoderna till slutpunkten som anges i den anpassade resursprovidern. Den anpassade resursprovidern returnerar GET
automatiskt begäranden baserat på vad den har lagrat i cacheminnet. Om en anpassad resurs markeras med cacheminnet lägger den anpassade resursprovidern även till/skriver över fält i svaret för att göra API:erna azure-kompatibla. När du ska använda "Proxy, Cache
":
- Skapa ett nytt system som inte har några befintliga resurser.
- Arbeta med befintliga Azure-ekosystem.
Mer information om resurserProxy, Cache
finns i referensen för anpassad resurscache
Skapa en anpassad resurs
Det finns två huvudsakliga sätt att skapa en anpassad resurs från en anpassad resursprovider:
- Azure CLI
- Azure Resource Manager-mallar
Azure CLI
Skapa en anpassad resurs:
az resource create --is-full-object \
--id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{resourceTypeName}/{customResourceName} \
--properties \
'{
"location": "eastus",
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3": "myPropertyValue3"
}
}
}'
Parameter | Krävs | Beskrivning |
---|---|---|
is-full-object | Ja | Anger att egenskapsobjektet innehåller andra alternativ, till exempel plats, taggar, sku och/eller plan. |
id | Ja | Resurs-ID för den anpassade resursen. Detta bör finnas utanför ResourceProvider |
properties | Ja | Begärandetexten som ska skickas till slutpunkten. |
Ta bort en anpassad Azure-resurs:
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{resourceTypeName}/{customResourceName}
Parameter | Krävs | Beskrivning |
---|---|---|
id | Ja | Resurs-ID för den anpassade resursen. Detta bör finnas utanför ResourceProvider. |
Hämta en anpassad Azure-resurs:
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{resourceTypeName}/{customResourceName}
Parameter | Krävs | Beskrivning |
---|---|---|
id | Ja | Resurs-ID för den anpassade resursen. Detta bör finnas utanför ResourceProvider |
Azure Resource Manager-mall
Anteckning
Resurser kräver att svaret innehåller en lämplig id
, name
och type
från slutpunkten.
Azure Resource Manager-mallar kräver att id
, name
och type
returneras korrekt från den underordnade slutpunkten. Ett returnerat resurssvar ska vara i formatet:
Exempel på slutpunktssvar :
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3": "myPropertyValue3"
}
},
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{customResourceName}",
"name": "{customResourceName}",
"type": "Microsoft.CustomProviders/resourceProviders/{resourceTypeName}"
}
Exempel på Azure Resource Manager-mall:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.CustomProviders/resourceProviders/{resourceTypeName}",
"name": "{resourceProviderName}/{customResourceName}",
"apiVersion": "2018-09-01-preview",
"location": "eastus",
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3": "myPropertyValue3"
}
}
}
]
}
Parameter | Krävs | Beskrivning |
---|---|---|
resourceTypeName | Ja | Namnet på resourceType som definierats i den anpassade resursprovidern. |
resourceProviderName | Ja | Namnet på den anpassade resursproviderinstansen. |
customResourceName | Ja | Det anpassade resursnamnet. |
Nästa steg
- Översikt över anpassade Resursprovidrar i Azure
- Snabbstart: Skapa en anpassad Resursprovider i Azure och distribuera anpassade resurser
- Självstudie: Skapa anpassade åtgärder och resurser i Azure
- Anvisningar: Lägga till anpassade åtgärder i Azure REST API
- Referens: Referens för anpassad resursproxy
- Referens: Referens för anpassad resurscache