Bagikan melalui


Mulai cepat: Membuat Penyedia Sumber Daya Kustom Azure dan menyebarkan sumber daya kustom

Dalam panduan cepat ini, Anda membuat penyedia sumber daya kustom dan menyebarkan sumber daya kustom bagi penyedia 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 Azure CLI 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 yang memiliki operasi atas 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 Microsoft 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 az group create dan az deployment group create 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 Microsoft Azure, pilih tombol Sebarkan ke Azure .

Tombol untuk menyebarkan templat Resource Manager 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.

Cuplikan layar portal Microsoft Azure menampilkan jenis sumber daya tersembunyi dan sumber daya yang disebarkan dalam grup sumber daya.

Untuk melihat sumber daya kustom yang Anda sebarkan, gunakan GET operasi pada jenis sumber daya Anda. Jenis Microsoft.CustomProviders/resourceProviders/users sumber daya yang diperlihatkan dalam respons JSON mencakup 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"
    }
  ]
}

Aksi panggilan

Penyedia sumber daya kustom Anda juga memiliki tindakan bernama ping. Kode yang memproses permintaan diimplementasikan di aplikasi fungsi. Tindakan ping menjawab dengan memberikan 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 panduan memulai cepat ini, templat menggunakan jenis sumber daya Microsoft.CustomProviders/resourceProviders/users untuk menyebarkan sumber daya. Anda juga dapat menggunakan PUT operasi untuk membuat sumber daya. Misalnya, jika suatu sumber daya tidak dikerahkan dengan templat, operasi PUT akan menciptakan 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 ulang GET operasi dari bagian tampilan penyedia sumber daya kustom dan sumber daya untuk menampilkan dua sumber daya yang telah 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 daya kustom

list Gunakan perintah untuk menampilkan semua penyedia sumber daya kustom dalam langganan. Secara bawaan, penyedia sumber daya kustom dari langganan saat ini akan dicantumkan, atau Anda dapat menentukan parameter --subscription. Untuk mencantumkan grup sumber daya, gunakan --resource-group parameter .

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
  }
]

Perlihatkan properti

show Gunakan perintah untuk menampilkan properti penyedia sumber daya kustom. Format output menyerupai list output.

az custom-providers resource-provider show --resource-group $rgName --name $funcName

Membuat sumber daya baru

create Gunakan perintah 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

update Perintah hanya memperbarui tag untuk penyedia sumber daya kustom. Di portal Microsoft Azure, layanan aplikasi penyedia sumber daya kustom menampilkan 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 meminta Anda dan hanya menghapus penyedia sumber daya khusus. Akun penyimpanan, layanan aplikasi, dan paket layanan aplikasi tidak dihapus. Setelah penyedia dihapus, Anda akan kembali 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 selanjutnya

Untuk pengenalan penyedia sumber daya kustom, lihat artikel berikut ini: