Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln går igenom kraven för slutpunkter som implementerar anpassade cacheresurser. Om du inte är bekant med anpassade Resursprovidrar i Azure kan du läsa översikten över anpassade resursprovidrar.
Definiera en cacheresursslutpunkt
Du kan skapa en proxyresurs genom att routingType ange till "Proxy, Cache".
Exempel på anpassad resursprovider:
{
"properties": {
"resourceTypes": [
{
"name": "myCustomResources",
"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 proxyresursslutpunkt
En slutpunkt som implementerar resursslutpunkten "Proxy, Cache" måste hantera begäran och svaret för det nya API:et i Azure. I det här fallet genererar resourceType ett nytt Azure-resurs-API för PUT, GEToch DELETE för att utföra CRUD på en enda resurs samt GET för att hämta alla befintliga resurser.
Anteckning
Azure-API:et genererar förfrågningsmetoderna PUT, GEToch DELETE, men cacheslutpunkten behöver bara hantera PUT och DELETE.
Vi rekommenderar att slutpunkten även implementerar GET.
Skapa en anpassad resurs
Inkommande begäran för Azure API:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Den här begäran vidarebefordras sedan till slutpunkten i formuläret:
PUT https://{endpointURL}/?api-version=2018-09-01-preview
Content-Type: application/json
X-MS-CustomProviders-RequestPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Svaret från slutpunkten vidarebefordras sedan tillbaka till kunden. Svaret bör returnera:
- Ett giltigt JSON-objektdokument. Alla matriser och strängar ska vara kapslade under ett översta objekt.
- Rubriken
Content-Typeska vara inställd på "application/json; charset=utf-8". - Den anpassade resursprovidern skriver över fälten
name,typeochidför begäran. - Den anpassade resursprovidern returnerar endast fält under
propertiesobjektet för en cacheslutpunkt.
Svar på slutpunkt:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Fälten name, idoch type genereras automatiskt för den anpassade resursen av den anpassade resursprovidern.
Svar från anpassad Azure-resursprovider:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"name": "{myCustomResourceName}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}",
"type": "Microsoft.CustomProviders/resourceProviders/myCustomResources",
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Ta bort en anpassad resurs
Inkommande begäran för Azure API:
Delete https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
Den här begäran vidarebefordras sedan till slutpunkten i formuläret:
Delete https://{endpointURL}/?api-version=2018-09-01-preview
Content-Type: application/json
X-MS-CustomProviders-RequestPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}
Svaret från slutpunkten vidarebefordras sedan tillbaka till kunden. Svaret bör returnera:
- Ett giltigt JSON-objektdokument. Alla matriser och strängar ska vara kapslade under ett översta objekt.
- Rubriken
Content-Typeska vara inställd på "application/json; charset=utf-8". - Den anpassade Azure-resursprovidern tar bara bort objektet från cacheminnet om ett svar på 200 nivåer returneras. Även om resursen inte finns ska slutpunkten returnera 204.
Svar på slutpunkt:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Svar från anpassad Azure-resursprovider:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Hämta en anpassad resurs
Inkommande begäran för Azure API:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
Begäran vidarebefordras inte till slutpunkten.
Svar från anpassad Azure-resursprovider:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"name": "{myCustomResourceName}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}",
"type": "Microsoft.CustomProviders/resourceProviders/myCustomResources",
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Räkna upp alla anpassade resurser
Inkommande begäran för Azure API:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
Begäran vidarebefordras inte till slutpunkten.
Svar från anpassad Azure-resursprovider:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"value" : [
{
"name": "{myCustomResourceName}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}",
"type": "Microsoft.CustomProviders/resourceProviders/myCustomResources",
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
]
}