Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste início rápido, você cria um provedor de recursos personalizado e implanta recursos personalizados para esse provedor de recursos. Para obter mais informações sobre provedores de recursos personalizados, consulte a Visão geral dos Provedores de Recursos Personalizados do Azure.
Pré-requisitos
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Para concluir as etapas deste início rápido, você precisará chamar operações
REST. Há diferentes maneiras de enviar solicitações REST.
Prepare seu ambiente para a CLI do Azure.
Utilize o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se você preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login . Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Exemplos da CLI do Azure usam az rest para solicitações de REST. Para obter mais informações, consulte az rest.
Implantar provedor de recursos personalizado
Para configurar o provedor de recursos personalizado, implante um modelo de exemplo em sua assinatura do Azure.
O modelo implanta os seguintes recursos em sua assinatura:
- O aplicativo de funções com as operações para os recursos e as ações.
- Conta de armazenamento para armazenar usuários criados por meio do provedor de recursos personalizado.
- Provedor de recursos personalizado que define os tipos e ações de recursos personalizados. Ele usa o ponto de extremidade do aplicativo de funções para enviar solicitações.
- O recurso personalizado do provedor de recursos personalizado.
Para implantar o provedor de recursos personalizado, use a CLI do Azure, o PowerShell ou o portal do Azure.
Este exemplo solicita que você insira um grupo de recursos, um local e o nome do aplicativo de funções do provedor. Os nomes são armazenados em variáveis usadas em outros comandos. Os comandos az group create e az deployment group create implantam os recursos.
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
Para implantar o modelo no portal do Azure, selecione o botão Implantar no Azure .
Exibir o provedor de recursos personalizados e o recurso
No portal, o provedor de recursos personalizado é um tipo de recurso oculto. Para confirmar que o provedor de recursos foi implantado, acesse o grupo de recursos e selecione Mostrar tipos ocultos.
Para ver o recurso personalizado que você implantou, use a operação GET no tipo de recurso. O tipo Microsoft.CustomProviders/resourceProviders/users de recurso mostrado na resposta JSON inclui o recurso que foi criado pelo modelo.
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
Você recebe a resposta:
{
"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"
}
]
}
Ação de chamada
Seu provedor de recursos personalizado também tem uma ação chamada ping. O código que processa a solicitação é implementado no aplicativo de funções. A ping ação retribui com uma saudação.
Para enviar uma ping solicitação, realize a operação POST em sua ação.
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
Você recebe a resposta:
{
"message": "hello <function-name>.azurewebsites.net",
"pingcontent": {
"source": "<function-name>.azurewebsites.net"
}
}
Usar PUT para criar recurso
Neste início rápido, o modelo usou o tipo Microsoft.CustomProviders/resourceProviders/users de recurso para implantar um recurso. Você também pode usar uma PUT operação para criar um recurso. Por exemplo, se um recurso não for implantado com o modelo, a PUT operação criará um recurso.
Neste exemplo, como o modelo já implantou um recurso, a PUT operação cria um novo recurso.
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'}}"
Você recebe a resposta:
{
"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"
}
Você pode executar novamente a operação GET na seção exibir provedor de recursos personalizado e recursos para mostrar os dois recursos que foram criados. Este exemplo mostra a saída do comando da CLI do Azure.
{
"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"
}
]
}
Comandos personalizados do provedor de recursos
Use os comandos de provedores personalizados para trabalhar com seu provedor de recursos personalizado.
Listar provedores de recursos personalizados
Use o list comando para exibir todos os provedores de recursos personalizados em uma assinatura. O padrão lista os provedores de recursos personalizados da assinatura atual ou você pode especificar o --subscription parâmetro. Para listar um grupo de recursos, use o --resource-group parâmetro.
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
}
]
Mostrar as propriedades
Use o show comando para exibir as propriedades do provedor de recursos personalizado. O formato de saída é semelhante ao list.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Criar um novo recurso
Use o create comando para criar ou atualizar um provedor de recursos personalizado. Este exemplo atualiza o actions e 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"
}
],
Atualizar as marcas do provedor
O update comando atualiza apenas as tags de um provedor de recursos personalizado. No portal do Azure, o serviço de aplicativo do provedor de recursos personalizado mostra a marca.
az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
"new": "tag"
},
Excluir um provedor de recursos personalizado
O delete comando solicita confirmação e exclui apenas o provedor de recursos personalizado. A conta de armazenamento, o serviço de aplicativo e o plano do serviço de aplicativo não são excluídos. Depois que o provedor é excluído, você é retornado para um prompt de comando.
az custom-providers resource-provider delete --resource-group $rgName --name $funcName
Limpar os recursos
Se você terminar de usar os recursos criados neste artigo, poderá excluir o grupo de recursos. Quando você exclui um grupo de recursos, todos os recursos desse grupo de recursos são excluídos.
az group delete --resource-group $rgName
Próximas etapas
Para obter uma introdução aos provedores de recursos personalizados, consulte o seguinte artigo: