Mulai Cepat: Membuat Azure Custom Resource Provider dan menyebarkan sumber daya kustom
Dalam mulai cepat ini, Anda membuat penyedia sumber daya kustom dan menyebarkan sumber daya kustom untuk penyedia sumber daya tersebut. Untuk informasi selengkapnya tentang penyedia sumber daya kustom, lihat Gambaran Umum Penyedia Sumber Daya Kustom Azure.
Prasyarat
- Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
- Untuk menyelesaikan langkah-langkah dalam mulai cepat ini, Anda perlu memanggil operasi
REST
. Ada berbagai cara untuk mengirim permintaan REST.
Mempersiapkan lingkungan Anda untuk Azure CLI.
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Contoh CLI Azure menggunakan az rest
untuk permintaan REST
. Untuk informasi selengkapnya, lihat az rest.
Menyebarkan penyedia sumber daya kustom
Untuk menyiapkan penyedia sumber daya kustom, sebarkan contoh templat ke langganan Azure Anda.
Templat menyebarkan sumber daya berikut ke langganan Anda:
- Aplikasi fungsi dengan operasi untuk sumber daya dan tindakan.
- Akun penyimpanan untuk menyimpan pengguna yang dibuat melalui penyedia sumber daya kustom.
- Penyedia sumber daya kustom yang menentukan jenis dan tindakan sumber daya kustom. Ini menggunakan titik akhir aplikasi fungsi untuk mengirim permintaan.
- Sumber daya kustom dari penyedia sumber daya kustom.
Untuk menyebarkan penyedia sumber daya kustom, gunakan Azure CLI, PowerShell, atau portal Azure.
Contoh ini meminta Anda untuk memasukkan grup sumber daya, lokasi, dan nama aplikasi fungsi penyedia. Nama disimpan dalam variabel yang digunakan dalam perintah lain. Perintah buat grup az membuat dan buat grup penyebaran az menyebarkan sumber daya.
read -p "Enter a resource group name:" rgName &&
read -p "Enter the location (i.e. eastus):" location &&
read -p "Enter the provider's function app name:" funcName &&
templateUri="https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/custom-providers/customprovider.json" &&
az group create --name $rgName --location "$location" &&
az deployment group create --resource-group $rgName --template-uri $templateUri --parameters funcName=$funcName &&
echo "Press [ENTER] to continue ..." &&
read
Untuk menyebarkan templat dari portal Azure, pilih tombol Sebarkan ke Azure.
Menampilkan penyedia sumber daya dan sumber daya kustom
Di portal, penyedia sumber daya kustom adalah jenis sumber daya tersembunyi. Untuk mengonfirmasi bahwa penyedia sumber daya telah disebarkan, buka grup sumber daya dan pilih Tampilkan jenis tersembunyi.
Untuk melihat sumber daya kustom yang Anda sebarkan, gunakan GET
operasi pada jenis sumber daya Anda. Jenis Microsoft.CustomProviders/resourceProviders/users
sumber daya yang ditampilkan dalam respons JSON menyertakan sumber daya yang dibuat oleh templat.
GET https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users?api-version=2018-09-01-preview
subID=$(az account show --query id --output tsv)
requestURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users?api-version=2018-09-01-preview"
az rest --method get --uri $requestURI
Anda menerima respons:
{
"value": [
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
"name": "ana",
"properties": {
"FullName": "Ana Bowman",
"Location": "Moon",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
]
}
Memanggil tindakan
Penyedia sumber daya kustom Anda juga memiliki tindakan bernama ping
. Kode yang memproses permintaan diterapkan di aplikasi fungsi. Tindakan ping
tersebut membalas dengan salam.
Untuk mengirim ping
permintaan, gunakan POST
operasi pada tindakan Anda.
POST https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/ping?api-version=2018-09-01-preview
pingURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/ping?api-version=2018-09-01-preview"
az rest --method post --uri $pingURI
Anda menerima respons:
{
"message": "hello <function-name>.azurewebsites.net",
"pingcontent": {
"source": "<function-name>.azurewebsites.net"
}
}
Gunakan PUT untuk membuat sumber daya
Dalam mulai cepat ini, templat menggunakan jenis Microsoft.CustomProviders/resourceProviders/users
sumber daya untuk menyebarkan sumber daya. Anda juga dapat menggunakan PUT
operasi untuk membuat sumber daya. Misalnya, jika sumber daya tidak disebarkan dengan templat, PUT
operasi akan membuat sumber daya.
Dalam contoh ini, karena templat sudah menyebarkan sumber daya, PUT
operasi membuat sumber daya baru.
PUT https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/<resource-name>?api-version=2018-09-01-preview
{"properties":{"FullName": "Test User", "Location": "Earth"}}
addURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users/testuser?api-version=2018-09-01-preview"
az rest --method put --uri $addURI --body "{'properties':{'FullName': 'Test User', 'Location': 'Earth'}}"
Anda menerima respons:
{
"id": "/subscriptions/<sub-ID>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
"name": "testuser",
"properties": {
"FullName": "Test User",
"Location": "Earth",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
Anda dapat menjalankan GET
ulang operasi dari bagian lihat penyedia sumber daya kustom dan sumber daya untuk menampilkan dua sumber daya yang dibuat. Contoh ini menunjukkan output dari perintah Azure CLI.
{
"value": [
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
"name": "ana",
"properties": {
"FullName": "Ana Bowman",
"Location": "Moon",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
},
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
"name": "testuser",
"properties": {
"FullName": "Test User",
"Location": "Earth",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
]
}
Perintah penyedia sumber daya kustom
Gunakan perintah penyedia- kustom untuk bekerja dengan penyedia sumber daya kustom Anda.
Mencantumkan penyedia sumber kustom
Gunakan list
perintah untuk menampilkan semua penyedia sumber daya kustom dalam langganan. Default mencantumkan penyedia sumber daya kustom langganan saat ini, atau Anda bisa menentukan parameter --subscription
. Untuk mencantumkan grup sumber daya, gunakan parameter --resource-group
.
az custom-providers resource-provider list --subscription $subID
[
{
"actions": [
{
"endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
"name": "ping",
"routingType": "Proxy"
}
],
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceproviders/<provider-name>",
"location": "eastus",
"name": "<provider-name>",
"provisioningState": "Succeeded",
"resourceGroup": "<rg-name>",
"resourceTypes": [
{
"endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
"name": "users",
"routingType": "Proxy, Cache"
}
],
"tags": {},
"type": "Microsoft.CustomProviders/resourceproviders",
"validations": null
}
]
Menampilkan properti
Gunakan perintah show
untuk menampilkan properti penyedia sumber daya kustom. Format output menyerupai output list
.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Membuat grup sumber daya baru
Gunakan perintah create
untuk membuat atau memperbarui penyedia sumber daya kustom. Contoh ini memperbarui actions
dan resourceTypes
.
az custom-providers resource-provider create --resource-group $rgName --name $funcName \
--action name=ping endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type=Proxy \
--resource-type name=users endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type="Proxy, Cache"
"actions": [
{
"endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
"name": "ping",
"routingType": "Proxy"
}
],
"resourceTypes": [
{
"endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
"name": "users",
"routingType": "Proxy, Cache"
}
],
Memperbarui tag penyedia
Perintah update
hanya memperbarui tag untuk penyedia sumber daya kustom. Di portal Microsoft Azure, layanan aplikasi penyedia sumber daya kustom memperlihatkan tag.
az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
"new": "tag"
},
Menghapus penyedia sumber daya kustom
Perintah delete
ini meminta Anda dan hanya menghapus penyedia sumber daya kustom. Akun penyimpanan, layanan aplikasi, dan paket layanan aplikasi tidak dihapus. Setelah penyedia dihapus, Anda dikembalikan ke prompt perintah.
az custom-providers resource-provider delete --resource-group $rgName --name $funcName
Membersihkan sumber daya
Jika Anda sudah selesai dengan sumber daya yang dibuat dalam artikel ini, Anda dapat menghapus grup sumber daya. Saat Anda menghapus grup sumber daya, semua sumber daya dalam grup sumber daya tersebut akan dihapus.
az group delete --resource-group $rgName
Langkah berikutnya
Untuk pengenalan penyedia sumber daya kustom, lihat artikel berikut ini: