Menambahkan sumber daya kustom ke REST API Azure
Artikel ini akan menerangkan persyaratan dan praktik terbaik untuk membuat titik akhir Penyedia Sumber Daya Kustom Azure yang menerapkan tindakan kustom. Jika Anda tidak terbiasa dengan Penyedia Sumber Daya Kustom Azure, lihat ringkasan penyedia sumber daya kustom.
Cara menentukan titik akhir sumber daya
Titik akhir adalah URL yang menunjuk ke layanan yang mengimplementasikan kontrak yang mendasari antara layanan dan Azure. Titik akhir didefinisikan di penyedia sumber daya kustom dan dapat menjadi URL yang bisa diakses publik. Sampel di bawah ini memiliki resourceType bernama myCustomResource
yang diimplementasikan oleh endpointURL
.
Contoh 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}"
}
Membangun titik akhir sumber daya
Titik akhir yang mengimplementasikan resourceType harus menangani permintaan dan respons untuk API baru di Azure. Saat penyedia sumber daya kustom dengan resourceType dibuat, sumber daya kustom akan menghasilkan set API baru di Azure. Dalam hal ini, resourceType akan menghasilkan API sumber daya Azure baru untuk PUT
, GET
, dan DELETE
untuk melakukan CRUD di satu sumber daya serta GET
untuk mengambil semua sumber daya yang ada:
Memanipulasi Sumber Daya Tunggal (PUT
, GET
, dan DELETE
):
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResource/{myCustomResourceName}
Ambil Semua Sumber Daya (GET
):
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResource
Untuk sumber daya kustom, penyedia sumber daya kustom menawarkan dua jenis routingTypes: "Proxy
" dan "Proxy, Cache
".
tipe perutean proksi
“Proxy
” routingType memproksi semua metode permintaan ke titik akhir yang ditentukan di penyedia sumber daya kustom. Kapan menggunakan “Proxy
”:
- Perlu kontrol penuh atas respons.
- Integrasi sistem dengan sumber daya yang ada.
Untuk selengkapnya tentang sumber daya "Proxy
", lihat referensi proksi sumber daya kustom
tipe perutean cache proksi
“Proxy, Cache
” routingType hanya memproksi PUT
dan metode permintaan DELETE
menuju titik akhir yang ditentukan di penyedia sumber daya kustom. Penyedia sumber daya kustom akan secara otomatis mengembalikan permintaan GET
berdasarkan apa yang telah disimpan dalam cache. Jika sumber daya kustom ditandai dengan cache, penyedia sumber daya kustom juga akan menambahkan / menimpa bidang dalam respons untuk membuat API Azure sesuai. Kapan menggunakan “Proxy, Cache
”:
- Membuat sistem baru yang tidak memiliki sumber daya yang ada.
- Bekerja dengan ekosistem Azure yang ada.
Selengkapnya tentang sumber daya "Proxy, Cache
", lihat referensi cache sumber daya kustom
Membuat sumber daya kustom
Ada dua cara utama untuk membuat sumber daya kustom dari penyedia sumber daya kustom:
- Azure CLI
- Templat Azure Resource Manager
Azure CLI
Buat sumber daya kustom:
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 | Diperlukan | Deskripsi |
---|---|---|
adalah-objek-penuh | ya | Menunjukkan bahwa objek properti menyertakan opsi lain seperti lokasi, tag, sku, dan/atau paket. |
id | ya | ID sumber daya dari sumber daya kustom. ID ini harus ada dari ResourceProvider |
properti | ya | Isi permintaan yang akan dikirim ke titik akhir. |
Menghapus Sumber Daya Kustom Azure:
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{resourceTypeName}/{customResourceName}
Parameter | Diperlukan | Deskripsi |
---|---|---|
id | ya | ID sumber daya dari sumber daya kustom. ID ini harus ada dari ResourceProvider. |
Mengambil Sumber Daya Kustom Azure:
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/{resourceTypeName}/{customResourceName}
Parameter | Diperlukan | Deskripsi |
---|---|---|
id | ya | ID sumber daya dari sumber daya kustom. ID ini harus ada dari ResourceProvider |
Templat Azure Resource Manager
Catatan
Sumber daya mengharuskan agar respons berisi id
, name
yang sesuai, dan type
dari titik akhir.
Templat Azure Resource Manager mengharuskan agar id
, name
, dan type
dikembalikan dengan benar dari titik akhir downstream. Respons sumber daya yang dikembalikan harus berada di formulir:
Contoh respons titik akhir:
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3": "myPropertyValue3"
}
},
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{customResourceName}",
"name": "{customResourceName}",
"type": "Microsoft.CustomProviders/resourceProviders/{resourceTypeName}"
}
Contoh Template Azure Resource Manager:
{
"$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 | Diperlukan | Deskripsi |
---|---|---|
resourceTypeName | ya | NamaresourceType yang ditentukan dalam penyedia sumber daya kustom. |
resourceProviderName | ya | Nama instans penyedia sumber daya kustom. |
customResourceName | ya | Nama sumber daya kustom. |
Langkah berikutnya
- Gambaran umum Azure Custom Resource Providers
- Mulai Cepat: Membuat Azure Custom Resource Provider dan menyebarkan sumber daya kustom
- Tutorial: Membuat tindakan dan sumber daya kustom di Azure
- Cara: Menambahkan Tindakan Kustom ke REST API Azure
- Referensi: Referensi Proksi Sumber Daya Kustom
- Referensi: Referensi Cache Sumber Daya Kustom