Rychlý start: Vytvoření vlastního zprostředkovatele a nasazení vlastních prostředků

V tomto rychlém startu vytvoříte vlastního poskytovatele prostředků a nasadíte pro tohoto poskytovatele prostředků vlastní typy prostředků. Další informace o vlastních poskytovatelích najdete v tématu Přehled služby Azure Custom Providers Preview.

Požadavky

Připravte si prostředí pro Azure CLI.

  • V nástroji použijte prostředí Bash Azure Cloud Shell.

    Spuštění služby Cloud Shell v novém okně

  • Pokud tomu dáváte přednost, můžete nainstalovat Azure CLI a spouštět referenční příkazy CLI.

    • Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení jsou popsané v tématu Přihlášení pomocí Azure CLI.

    • Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.

    • Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.

Příklady Azure CLI se používají az rest pro REST požadavky. Další informace najdete v tématu az rest.

Nasazení vlastního zprostředkovatele

Pokud chcete nastavit vlastního poskytovatele, nasaďte do svého předplatného Azure příklad šablony.

Po nasazení šablony má vaše předplatné následující prostředky:

  • Aplikace funkcí s operacemi pro prostředky a akce.
  • Účet úložiště pro ukládání uživatelů vytvořených prostřednictvím vlastního zprostředkovatele.
  • Vlastní zprostředkovatel, který definuje vlastní typy prostředků a akce. Pro odesílání požadavků používá koncový bod aplikace Function App.
  • Vlastní prostředek z vlastního zprostředkovatele.

Pokud chcete nasadit vlastního zprostředkovatele, použijte Azure CLI, PowerShell nebo Azure Portal:

Tento příklad vás vyzve k zadání názvu skupiny prostředků, umístění a názvu aplikace Function App poskytovatele. Názvy jsou uloženy v proměnných, které se používají v jiných příkazech. K nasazení prostředků nasaďte příkazy AZ Group Create a AZ Deployment Group Create .

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

Řešení můžete nasadit také z Azure Portal. Kliknutím na tlačítko nasadit do Azure otevřete šablonu v Azure Portal.

Nasazení do Azure

Zobrazit vlastního zprostředkovatele a prostředku

V portálu je vlastním poskytovatelem skrytý typ prostředku. Pokud chcete potvrdit, že se poskytovatel prostředků nasadil, přejděte do skupiny prostředků. Vyberte možnost pro zobrazení skrytých typů.

Zobrazit skryté typy prostředků

Pokud chcete zobrazit vlastní typ prostředku, který jste nasadili, použijte GET operaci u svého typu prostředku.

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

Dostanete odpověď:

{
  "value": [
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/santa",
      "name": "santa",
      "properties": {
        "FullName": "Santa Claus",
        "Location": "NorthPole",
        "provisioningState": "Succeeded"
      },
      "resourceGroup": "<rg-name>",
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    }
  ]
}

Akce volání

Váš vlastní zprostředkovatel má také akci s názvem ping . Kód, který zpracovává požadavek, je implementován v aplikaci funkcí. Akce ping odpoví pozdravem.

Pokud chcete odeslat ping požadavek, POST použijte operaci u vlastního poskytovatele.

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

Obdržíte odpověď:

{
  "message": "hello <function-name>.azurewebsites.net",
  "pingcontent": {
    "source": "<function-name>.azurewebsites.net"
  }
}

Vytvoření typu prostředku

Pokud chcete vytvořit vlastní typ prostředku, můžete prostředek nasadit v šabloně. Tento přístup je znázorněný v šabloně, kterou jste nasadili v tomto rychlém startu. Můžete také odeslat PUT požadavek na typ prostředku.

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'}}"

Obdržíte odpověď:

{
  "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"
  },
  "resourceGroup": "<rg-name>",
  "type": "Microsoft.CustomProviders/resourceProviders/users"
}

Příkazy vlastního poskytovatele prostředků

Pomocí příkazů vlastních poskytovatelů můžete pracovat s vlastním poskytovatelem prostředků.

Zobrazení seznamu vlastních poskytovatelů prostředků

Pomocí příkazu list zobrazte všechny poskytovatele vlastních prostředků v předplatném. Výchozí seznam obsahuje vlastní poskytovatele prostředků aktuálního předplatného, nebo můžete zadat --subscription parametr . Pokud chcete zobrazit seznam pro skupinu prostředků, použijte --resource-group parametr .

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

Zobrazit vlastnosti

Pomocí show příkazu můžete zobrazit vlastnosti vlastního poskytovatele prostředků. Výstupní formát se podobá list výstupu.

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

Vytvoření nového prostředku

Pomocí create příkazu vytvořte nebo aktualizujte vlastního poskytovatele prostředků. Tento příklad aktualizuje actions a 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"
  }
],

Aktualizace značek poskytovatele

updatePříkaz aktualizuje pouze značky pro vlastního poskytovatele prostředků. V Azure Portal zobrazuje služba App Service poskytovatele vlastního prostředku značku.

az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
  "new": "tag"
},

Odstranění vlastního poskytovatele prostředků

deletePříkaz vás vyzve a odstraní pouze vlastního poskytovatele prostředků. Účet úložiště, App Service a plán služby App Service se neodstraní. Po odstranění poskytovatele se vrátíte do příkazového řádku.

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

Další kroky

Úvod k vlastním poskytovatelům najdete v následujícím článku: