Snabbstart: Skapa en anpassad provider och distribuera anpassade resurser
I den här snabbstarten skapar du en egen resursprovider och distribuerar anpassade resurstyper för den resursprovidern. Mer information om anpassade providers finns i Översikt över anpassade Azure-providers.
Krav
- Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
- För att slutföra stegen i den här snabbstarten måste du anropa
RESTåtgärder. Det finns olika sätt att skicka REST-begäranden.
Förbered din miljö för Azure CLI.
Använd bash-miljön i Azure Cloud Shell.
Om du vill kan du i stället installera Azure CLI för att köra CLI-referenskommandon.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Fler inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas till det installerar du Azure CLI-tillägg vid första användning. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Azure CLI-exempel använder az rest för REST begäranden. Mer information finns i az rest.
Distribuera anpassad provider
Om du vill konfigurera den anpassade providern distribuerar du en exempelmall till din Azure-prenumeration.
När du har distribuerat mallen har prenumerationen följande resurser:
- Funktionsapp med åtgärder för resurser och åtgärder.
- Lagringskonto för lagring av användare som skapas via den anpassade providern.
- Anpassad provider som definierar anpassade resurstyper och åtgärder. Den använder slutpunkten för funktionsappen för att skicka begäranden.
- Anpassad resurs från den anpassade providern.
Om du vill distribuera den anpassade providern använder du Azure CLI, PowerShell eller Azure Portal:
I det här exemplet uppmanas du att ange en resursgrupp, plats och providerns funktionsappnamn. Namnen lagras i variabler som används i andra kommandon. Kommandona az group create och az deployment group create distribuerar resurserna.
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
Du kan också distribuera lösningen från Azure Portal. Välj knappen Distribuera till Azure för att öppna mallen i Azure Portal.
Visa anpassad provider och resurs
I portalen är den anpassade providern en dold resurstyp. Bekräfta att resursprovidern har distribuerats genom att gå till resursgruppen. Välj alternativet visa dolda typer.

Om du vill se den anpassade resurstyp som du har distribuerat använder GET du åtgärden på din resurstyp.
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
Du får svaret:
{
"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"
}
]
}
Anropa åtgärd
Din anpassade provider har också en åtgärd med namnet ping . Koden som bearbetar begäran implementeras i funktionsappen. Åtgärden ping svarar med en hälsning.
Om du vill ping skicka en begäran använder du åtgärden på din anpassade POST provider.
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
Du får svaret:
{
"message": "hello <function-name>.azurewebsites.net",
"pingcontent": {
"source": "<function-name>.azurewebsites.net"
}
}
Skapa en resurstyp
Om du vill skapa den anpassade resurstypen kan du distribuera resursen i en mall. Den här metoden visas i mallen som du distribuerade i den här snabbstarten. Du kan också skicka en PUT begäran om resurstypen.
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'}}"
Du får svaret:
{
"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"
}
Anpassade resursproviderkommandon
Använd kommandon för anpassade providers för att arbeta med din anpassade resursprovider.
Lista anpassade resursproviders
Använd kommandot list för att visa alla anpassade resursproviders i en prenumeration. Standardvärdet visar den aktuella prenumerationens anpassade resursproviders, eller så kan du ange --subscription parametern . Om du vill visa en lista över en resursgrupp använder du --resource-group parametern .
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
}
]
Visa egenskaperna
Använd kommandot show för att visa egenskaperna för den anpassade resursprovidern. Utdataformatet liknar list utdata.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Skapa en ny resurs
Använd kommandot create för att skapa eller uppdatera en anpassad resursprovider. I det här exemplet uppdateras actions och 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"
}
],
Uppdatera providerns taggar
Kommandot update uppdaterar endast taggar för en anpassad resursprovider. I Azure Portal visar den anpassade resursproviderns apptjänst taggen .
az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
"new": "tag"
},
Ta bort en anpassad resursprovider
Kommandot delete frågar dig och tar bara bort den anpassade resursprovidern. Lagringskontot, App Service och App Service-planen tas inte bort. När providern har tagits bort kommer du tillbaka till en kommandotolk.
az custom-providers resource-provider delete --resource-group $rgName --name $funcName
Nästa steg
En introduktion till anpassade providers finns i följande artikel:
