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

Mempersiapkan lingkungan Anda untuk Azure CLI.

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.

Button to deploy the Resource Manager template to 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.

Screenshot of Azure portal displaying hidden resource types and resources deployed in a resource group.

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: