Özel kaynak ara sunucu başvurusu
Bu makalede ara sunucu özel kaynakları 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.
Ara sunucu kaynak uç noktası tanımlama
"Proxy" olarak belirtilerek routingType
bir ara sunucu kaynağı oluşturulabilir.
Örnek özel kaynak sağlayıcısı:
{
"properties": {
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"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
"Proxy" 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 DELETE
mevcut tüm kaynakları almak için , GET
ve için PUT
yeni bir Azure kaynak GET
API'sini oluşturur.
Not
id
, name
ve type
alanları gerekli değildir, ancak özel kaynağı mevcut bir Azure ekosistemiyle tümleştirmek için gereklidir.
Örnek kaynak:
{
"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"
}
}
}
Parametre başvurusu:
Özellik | Örnek | Açıklama |
---|---|---|
name | '{myCustomResourceName}' | Özel kaynağın adı. |
tür | 'Microsoft.CustomProviders/resourceProviders/{resourceTypeName}' | Kaynak türü ad alanı. |
kimlik | '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomResources/{myCustomResourceName}' |
Kaynak kimliği. |
Özel kaynak oluşturma
Azure API gelen isteği:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resource-provider-name}/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 biçimde 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"
}
}
}
Uç noktadan gelen yanıt daha sonra müşteriye geri iletilir. Yanıt şu şekilde 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".
Uç nokta 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"
}
}
}
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 biçimde 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}
Uç noktadan gelen yanıt daha sonra müşteriye geri iletilir. Yanıt şu şekilde döndürmelidir:
- Geçerli JSON nesne belgesi. Tüm diziler ve dizeler üst nesnenin altına yerleştirilmelidir.
- Üst
Content-Type
bilgi "application/json; charset=utf-8".
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
Bu istek daha sonra şu biçimde uç noktaya iletilir:
GET 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}
Uç noktadan gelen yanıt daha sonra müşteriye geri iletilir. Yanıt şu şekilde 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".
Uç nokta 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"
}
}
}
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
Bu istek daha sonra şu biçimde uç noktaya iletilir:
GET 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
Uç noktadan gelen yanıt daha sonra müşteriye geri iletilir. Yanıt şu şekilde 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". - Kaynak listesi en üst düzey
value
özelliğin altına yerleştirilmelidir.
Uç nokta 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"
}
}
}
]
}
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"
}
}
}
]
}