Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku szybkiego startu utworzysz niestandardowego dostawcę zasobów i wdrożysz zasoby niestandardowe związane z tym dostawcą zasobów. Aby uzyskać więcej informacji na temat niestandardowych dostawców zasobów, zobacz Omówienie niestandardowych dostawców zasobów platformy Azure.
Wymagania wstępne
- Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.
- Aby ukończyć kroki opisane w przewodniku 'Szybki start', musisz wywołać
RESToperacje. Istnieją różne sposoby wysyłania żądań REST.
Przygotuj swoje środowisko dla Azure CLI.
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie Azure CLI w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do Azure CLI za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane na Twoim terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby zaktualizować do najnowszej wersji, uruchom az upgrade.
Przykłady interfejsu wiersza polecenia platformy Azure wykorzystują az rest do żądań REST. Aby uzyskać więcej informacji, zobacz az rest.
Wdrażanie niestandardowego dostawcy zasobów
Aby skonfigurować niestandardowego dostawcę zasobów, wdróż przykładowy szablon w subskrypcji platformy Azure.
Szablon wdraża następujące zasoby w ramach subskrypcji:
- Aplikacja funkcjonalna z operacjami na zasobach i akcjach.
- Konto przechowywania użytkowników utworzonych za pomocą niestandardowego dostawcy zasobów.
- Niestandardowy dostawca zasobów, który definiuje niestandardowe typy zasobów i akcje. Używa on punktu końcowego aplikacji funkcji do wysyłania żądań.
- Zasób niestandardowy dostarczony przez dostawcę zasobów niestandardowych.
Aby wdrożyć niestandardowego dostawcę zasobów, użyj interfejsu wiersza polecenia platformy Azure, programu PowerShell lub witryny Azure Portal.
W tym przykładzie zostanie wyświetlony monit o wprowadzenie grupy zasobów, lokalizacji i nazwy aplikacji funkcji dostawcy. Nazwy są przechowywane w zmiennych, które są używane w innych poleceniach. Polecenia az group create i az deployment group create wdrażają zasoby.
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
Aby wdrożyć szablon w witrynie Azure Portal, wybierz przycisk Wdróż na platformie Azure .
Wyświetlanie niestandardowego dostawcy zasobów i zasobu
W portalu niestandardowy dostawca zasobów jest ukrytym typem zasobu. Aby potwierdzić, że dostawca zasobów został wdrożony, przejdź do grupy zasobów i wybierz pozycję Pokaż ukryte typy.
Aby wyświetlić wdrożony zasób niestandardowy, użyj operacji GET dla swojego typu zasobu. Typ Microsoft.CustomProviders/resourceProviders/users zasobu pokazany w odpowiedzi JSON zawiera zasób utworzony przez szablon.
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
Otrzymasz odpowiedź:
{
"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"
}
]
}
Wezwanie do działania
Twój niestandardowy dostawca zasobów ma również akcję o nazwie ping. Kod, który przetwarza żądanie, jest implementowany w aplikacji funkcji. Akcja ping odpowiada powitaniem.
Aby wysłać ping żądanie, użyj POST operacji w ramach akcji.
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
Otrzymasz odpowiedź:
{
"message": "hello <function-name>.azurewebsites.net",
"pingcontent": {
"source": "<function-name>.azurewebsites.net"
}
}
Tworzenie zasobu przy użyciu funkcji PUT
W tym przewodniku szybkiego startu, szablon użył typu zasobu Microsoft.CustomProviders/resourceProviders/users do wdrożenia zasobu. Za pomocą PUT operacji można również utworzyć zasób. Jeśli na przykład zasób nie zostanie wdrożony przy użyciu szablonu, PUT operacja utworzy zasób.
W tym przykładzie, ponieważ szablon wdrożył już zasób, operacja PUT tworzy nowy zasób.
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'}}"
Otrzymasz odpowiedź:
{
"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"
}
Możesz ponownie uruchomić operację GET w sekcji Wyświetl niestandardowego dostawcę zasobów i zasób , aby wyświetlić dwa utworzone zasoby. W tym przykładzie pokazano dane wyjściowe z polecenia 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"
}
]
}
Polecenia niestandardowego dostawcy zasobów
Użyj poleceń custom-providers, aby pracować ze swoim niestandardowym dostawcą zasobów.
Lista niestandardowych dostawców zasobów
Użyj polecenia , list aby wyświetlić wszystkich niestandardowych dostawców zasobów w subskrypcji. Domyślne ustawienie wyświetla listę niestandardowych dostawców zasobów bieżącej subskrypcji, lub można określić parametr --subscription. Aby wyświetlić listę dla grupy zasobów, użyj parametru --resource-group .
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
}
]
Pokaż właściwości
Użyj polecenia show, aby wyświetlić właściwości niestandardowego dostawcy zasobów. Format wyjściowy przypomina list.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Tworzenie nowego zasobu
Użyj polecenia , create aby utworzyć lub zaktualizować niestandardowego dostawcę zasobów. Ten przykład aktualizuje actions i 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"
}
],
Aktualizowanie tagów dostawcy
Polecenie update aktualizuje tylko tagi dla niestandardowego dostawcy zasobów. W portalu Azure usługa aplikacji niestandardowego dostawcy zasobów wyświetla tag.
az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
"new": "tag"
},
Usuń niestandardowego dostawcę zasobów
Polecenie delete wyświetla monit dla użytkownika i usuwa tylko niestandardowego dostawcę zasobów. Konto magazynu, usługa App Service i plan usługi App Service nie są usuwane. Po usunięciu dostawcy wrócisz do wiersza polecenia.
az custom-providers resource-provider delete --resource-group $rgName --name $funcName
Uprzątnij zasoby
Jeśli skończysz z zasobami utworzonymi w tym artykule, możesz usunąć grupę zasobów. Po usunięciu grupy zasobów wszystkie zasoby w tej grupie zasobów zostaną usunięte.
az group delete --resource-group $rgName
Dalsze kroki
Aby zapoznać się z wprowadzeniem do niestandardowych dostawców zasobów, zobacz następujący artykuł: