Rychlý start: Vytvoření vlastního poskytovatele prostředků Azure 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í prostředky. Další informace o vlastních poskytovateli prostředků najdete v tématu Přehled vlastních poskytovatelů prostředků Azure.
Požadavky
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- K dokončení kroků v tomto rychlém startu je potřeba volat
REST
operace. Existují různé způsoby odesílání požadavků REST.
Připravte prostředí pro Azure CLI.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
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í najdete 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 poskytovatele prostředků
Pokud chcete nastavit vlastního poskytovatele prostředků, nasaďte ukázkovou šablonu do předplatného Azure.
Šablona nasadí do vašeho předplatného 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 poskytovatele prostředků.
- Vlastní poskytovatel prostředků, který definuje vlastní typy a akce prostředků. Používá koncový bod aplikace funkcí k odesílání požadavků.
- Vlastní prostředek od vlastního poskytovatele prostředků
Pokud chcete nasadit vlastního poskytovatele prostředků, použijte Azure CLI, PowerShell nebo Azure Portal.
Tento příklad vás vyzve k zadání názvu aplikace funkcí skupiny prostředků, umístění a poskytovatele. Názvy se ukládají v proměnných, které se používají v jiných příkazech. Příkazy az group create a az deployment group create nasadí prostředky.
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
Pokud chcete šablonu nasadit z webu Azure Portal, vyberte tlačítko Nasadit do Azure .
Zobrazení vlastního poskytovatele prostředků a prostředku
Na portálu je vlastní poskytovatel prostředků skrytý typ prostředku. Pokud chcete ověřit, že je poskytovatel prostředků nasazený, přejděte do skupiny prostředků a vyberte Zobrazit skryté typy.
Pokud chcete zobrazit vlastní prostředek, který jste nasadili, použijte GET
operaci typu prostředku. Typ Microsoft.CustomProviders/resourceProviders/users
prostředku zobrazený v odpovědi JSON obsahuje prostředek vytvořený šablonou.
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
Obdržíte odpověď:
{
"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"
}
]
}
Akce volání
Váš vlastní poskytovatel prostředků má také akci s názvem ping
. Kód, který zpracovává požadavek, se implementuje v aplikaci funkcí. Akce ping
odpoví pozdravem.
Pokud chcete odeslat ping
požadavek, použijte POST
operaci akce.
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"
}
}
Použití PUT k vytvoření prostředku
V tomto rychlém startu šablona použila typ Microsoft.CustomProviders/resourceProviders/users
prostředku k nasazení prostředku. K vytvoření prostředku můžete použít PUT
také operaci. Pokud například prostředek není nasazený se šablonou, PUT
operace vytvoří prostředek.
V tomto příkladu, protože šablona už nasadila prostředek, PUT
operace vytvoří nový prostředek.
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"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
Operaci můžete znovu spustit GET
z oddílu zobrazit vlastního poskytovatele prostředků a prostředku , abyste zobrazili dva vytvořené prostředky. Tento příklad ukazuje výstup z příkazu 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"
}
]
}
Vlastní příkazy poskytovatele prostředků
Pomocí příkazů vlastních poskytovatelů můžete pracovat s vaším vlastním poskytovatelem prostředků.
Výpis vlastních poskytovatelů prostředků
list
Pomocí příkazu zobrazíte všechny vlastní poskytovatele 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
}
]
Zobrazení vlastností
show
Pomocí příkazu zobrazte vlastnosti vlastního poskytovatele prostředků. Formát výstupu se podobá výstupu list
.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Vytvoření nového prostředku
create
Pomocí příkazu vytvořte nebo aktualizujte vlastního poskytovatele prostředků. Tento příklad aktualizuje a actions
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
Příkaz update
aktualizuje pouze značky pro vlastního poskytovatele prostředků. Na webu Azure Portal zobrazuje služba App Service vlastního poskytovatele prostředků 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ů
Příkaz delete
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
Vyčištění prostředků
Pokud jste s prostředky vytvořenými v tomto článku hotovi, můžete odstranit skupinu prostředků. Když odstraníte skupinu prostředků, odstraní se všechny prostředky v této skupině prostředků.
az group delete --resource-group $rgName
Další kroky
Úvod k vlastním poskytovatelům prostředků najdete v následujícím článku: