Özel kaynak önbellek başvurusu
Bu makalede, önbellek özel kaynaklarını uygulayan uç noktaların gereksinimleri gözden geçirilecektir. Azure Özel Kaynak Sağlayıcıları hakkında bilginiz yoksa özel kaynak sağlayıcılarına genel bakışa bakın.
Önbellek kaynak uç noktası tanımlama
"Ara Sunucu, Önbellek" olarak belirtilerek routingType
bir ara sunucu kaynağı oluşturulabilir.
Örnek özel kaynak sağlayıcısı:
{
"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}"
}
Ara sunucu kaynak uç noktası oluşturma
"Ara Sunucu, Önbellek" kaynak uç noktası uygulayan bir uç nokta, Azure'daki yeni API'nin isteğini ve yanıtını işlemelidir. Bu durumda resourceType, tek bir kaynakta CRUD gerçekleştirmek ve mevcut tüm kaynakları almak için , GET
ve DELETE
için PUT
yeni bir Azure kaynak GET
API'si oluşturur.
Not
Azure API, , GET
ve istek yöntemlerini PUT
oluşturur, ancak önbellek uç noktasının yalnızca ve DELETE
'yi işlemesi PUT
DELETE
gerekir.
Uç noktanın da uygulamasını GET
öneririz.
Özel kaynak oluşturma
Azure API gelen isteği:
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"
}
}
}
Bu istek daha sonra şu şekilde uç noktaya iletilir:
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"
}
}
}
Ardından uç noktadan gelen yanıt müşteriye geri iletilir. Yanıt şu değeri döndürmelidir:
- Geçerli bir JSON nesne belgesi. Tüm diziler ve dizeler üst nesnenin altına yerleştirilmelidir.
- Üst
Content-Type
bilgi "application/json; charset=utf-8". - Özel kaynak sağlayıcısı istek için ,
type
veid
alanlarının üzerine yazarname
. - Özel kaynak sağlayıcısı yalnızca önbellek uç noktası için nesnenin
properties
altındaki alanları döndürür.
Uç nokta yanıtı:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
name
, id
ve type
alanları, özel kaynak sağlayıcısı tarafından özel kaynak için otomatik olarak oluşturulur.
Azure Özel Kaynak Sağlayıcısı yanıtı:
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"
}
}
}
Özel kaynağı kaldırma
Azure API gelen isteği:
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
Bu istek daha sonra şu şekilde uç noktaya iletilir:
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}
Ardından uç noktadan gelen yanıt müşteriye geri iletilir. Yanıt şu değeri döndürmelidir:
- Geçerli bir JSON nesne belgesi. Tüm diziler ve dizeler üst nesnenin altına yerleştirilmelidir.
- Üst
Content-Type
bilgi "application/json; charset=utf-8". - Azure Özel Kaynak Sağlayıcısı yalnızca 200 düzeyli bir yanıt döndürülürse öğeyi önbelleğinden kaldırır. Kaynak mevcut olmasa bile uç nokta 204 döndürmelidir.
Uç nokta yanıtı:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Azure Özel Kaynak Sağlayıcısı yanıtı:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Özel kaynak alma
Azure API gelen isteği:
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
İstek uç noktaya iletilmeyecek .
Azure Özel Kaynak Sağlayıcısı yanıtı:
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"
}
}
}
Tüm özel kaynakları listeleme
Azure API gelen isteği:
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
İstek uç noktaya iletilmeyecek .
Azure Özel Kaynak Sağlayıcısı yanıtı:
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"
}
}
}
]
}