Quickstart: Een aangepaste provider maken en aangepaste resources implementeren
In deze quickstart maakt u uw eigen resourceprovider en implementeert u aangepaste resourcetypen voor die resourceprovider. Zie het overzicht van aangepaste Azure-providers (preview) voor meer informatie over aangepaste providers.
Vereisten
- Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
- U moet
REST-bewerkingen aanroepen om de stappen in deze quickstart uit te voeren. Er zijn verschillende manieren om REST-aanvragen te verzenden.
Bereid uw omgeving voor op Azure CLI.
Gebruik de bash-omgeving in Azure Cloud shell.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht AZ login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij de Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Azure CLI-voorbeelden gebruiken az rest voor REST-aanvragen. Ga voor meer informatie naar az rest.
Aangepaste provider implementeren
Implementeer een voorbeeldsjabloon voor uw Azure-abonnement als u de aangepaste provider wilt instellen.
Na de implementatie van de sjabloon heeft uw abonnement de volgende resources:
- Functie-app met de bewerkingen voor de resources en acties.
- Opslagaccount voor het opslaan van gebruikers die zijn gemaakt via de aangepaste provider.
- Aangepaste provider die de aangepaste resourcetypen en acties definieert. Er wordt gebruikgemaakt van het eindpunt voor de functie-app voor het verzenden van aanvragen.
- Aangepaste resource van de aangepaste provider.
Gebruik Azure CLI, PowerShell of de Azure-portal als u de aangepaste provider wilt implementeren:
In dit voorbeeld wordt u gevraagd om een resourcegroep, locatie en naam van de functie-app van de provider in te voeren. De namen worden opgeslagen in variabelen die worden gebruikt in andere opdrachten. Met de opdrachten az group create en az deployment group create implementeert u de resources.
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
U kunt de oplossing ook implementeren vanuit de Azure-portal. Selecteer de knop Implementeren naar Azure om de sjabloon in Azure Portal te openen.
Aangepaste provider en resource weergeven
De aangepaste provider is in de portal een verborgen resourcetype. Ga naar de resourcegroep om te controleren of de resourceprovider is geïmplementeerd. Selecteer de optie Verborgen typen weergeven.

Gebruik de GET-bewerking voor uw resourcetype om het aangepaste resourcetype weer te geven dat u hebt geïmplementeerd.
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
U ontvangt het antwoord:
{
"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"
}
]
}
Aanroepactie
Uw aangepaste provider heeft ook een actie met de naam ping. De code waarmee de aanvraag wordt verwerkt, is geïmplementeerd in de functie-app. De ping-actie beantwoordt met een begroeting.
Gebruik de bewerking POST van uw aangepaste provider als u een ping-aanvraag wilt verzenden.
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
U ontvangt het antwoord:
{
"message": "hello <function-name>.azurewebsites.net",
"pingcontent": {
"source": "<function-name>.azurewebsites.net"
}
}
Een resourcetype maken
Als u het aangepaste resourcetype wilt maken, kunt u de resource implementeren in een sjabloon. Deze benadering wordt weergegeven in de sjabloon die u in deze quickstart hebt geïmplementeerd. U kunt ook een PUT-aanvraag verzenden voor het resourcetype.
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'}}"
U ontvangt het antwoord:
{
"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"
}
Opdrachten voor de aangepaste resourceprovider
Gebruik de custom-providers-opdrachten om samen te werken met uw aangepaste resourceprovider.
Aangepaste resourceproviders weergeven
Gebruik de opdracht list om alle aangepaste resourceproviders in een abonnement weer te geven. De standaardlijst geeft alle aangepaste resourceproviders voor het huidige abonnement weer, maar u kunt ook de parameter --subscription opgeven. Gebruik de parameter --resource-group om een resourcegroep weer te geven.
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
}
]
De eigenschappen weergeven
Gebruik de opdracht show om de eigenschappen van de aangepaste resourceprovider weer te geven. De uitvoerindeling lijkt op de list-uitvoer.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Een nieuwe resource maken
Gebruik de opdracht create om een aangepaste resourceprovider te maken of bij te werken. In dit voorbeeld worden de actions en resourceTypes bijgewerkt.
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"
}
],
De labels van de provider bijwerken
Met de opdracht update worden alleen labels voor een aangepaste resourceprovider bijgewerkt. In Azure Portal geeft de app-service van de aangepaste resourceprovider het label weer.
az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
"new": "tag"
},
Een aangepaste resourceprovider verwijderen
Met de opdracht delete wordt u gevraagd om alleen de aangepaste resourceprovider te verwijderen. Het opslagaccount, de app-service en het app-serviceabonnement worden niet verwijderd. Nadat de provider is verwijderd, wordt u teruggeleid naar een opdrachtprompt.
az custom-providers resource-provider delete --resource-group $rgName --name $funcName
Volgende stappen
Raadpleeg het volgende artikel voor een inleiding tot aangepaste providers:
