Criar e utilizar um fornecedor de recursos personalizado
Um fornecedor de recursos personalizado é um contrato entre o Azure e um ponto final. Com os fornecedores de recursos personalizados, pode alterar os fluxos de trabalho no Azure. Este tutorial mostra o processo de criação de um fornecedor de recursos personalizado. Se não estiver familiarizado com os Fornecedores de Recursos Personalizados do Azure, veja a descrição geral dos Fornecedores de Recursos Personalizados do Azure.
Criar um fornecedor de recursos personalizado
Nota
Este tutorial não mostra como criar um ponto final. Se não tiver um ponto final RESTFUL, siga o tutorial sobre a criação de pontos finais RESTful, que é a base do tutorial atual.
Depois de criar um ponto final, pode criar um fornecedor de recursos personalizado para gerar um contrato entre o fornecedor e o ponto final. Com um fornecedor de recursos personalizado, pode especificar uma lista de definições de ponto final:
{
"name": "myEndpointDefinition",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Propriedade | Necessário | Descrição |
---|---|---|
nome | Yes | O nome da definição do ponto final. O Azure expõe este nome através da sua API em /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders /resourceProviders/{resourceProviderName}/{endpointDefinitionName} |
routingType | No | O tipo de contrato de ponto final. Se o valor não for especificado, a predefinição é "Proxy". |
ponto final | Yes | O ponto final para onde encaminhar os pedidos. Este ponto final processa a resposta e quaisquer efeitos colaterais do pedido. |
O valor do ponto final é o URL do acionador da aplicação de funções do Azure. Os <yourapp>
marcadores de posição , <funcname>
e <functionkey>
têm de ser substituídos por valores para a sua aplicação de funções criada.
Definir ações e recursos personalizados
O fornecedor de recursos personalizado contém uma lista de definições de ponto final modeladas nas propriedades actions e resourceTypes . A propriedade actions mapeia para as ações personalizadas expostas pelo fornecedor de recursos personalizado e a propriedade resourceTypes são os recursos personalizados. Neste tutorial, o fornecedor de recursos personalizado tem uma propriedade de ações chamada myCustomAction
e uma propriedade resourceTypes chamada myCustomResources
.
{
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
],
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
]
},
"location": "eastus"
}
Implementar o fornecedor de recursos personalizado
Nota
Tem de substituir os valores do ponto final pelo URL do acionador da aplicação de funções criada no tutorial anterior.
Pode implementar o fornecedor de recursos personalizados anterior com um modelo de Resource Manager do Azure:
{
"$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.CustomProviders/resourceProviders",
"name": "myCustomProvider",
"apiVersion": "2018-09-01-preview",
"location": "eastus",
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
],
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
]
}
}
]
}
Utilizar ações e recursos personalizados
Depois de criar um fornecedor de recursos personalizado, pode utilizar as novas APIs do Azure. As secções seguintes explicam como chamar e utilizar um fornecedor de recursos personalizado.
Ações personalizadas
CLI do Azure
Nota
Tem de substituir os {subscriptionId}
marcadores de posição e {resourceGroupName}
pelo grupo de recursos e subscrição de onde implementou o fornecedor de recursos personalizado.
az resource invoke-action --action myCustomAction \
--ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
--request-body
'{
"hello": "world"
}'
Parâmetro | Necessário | Descrição |
---|---|---|
ação | Yes | O nome da ação definida no fornecedor de recursos personalizado. |
IDs | Yes | O ID de recurso do fornecedor de recursos personalizado. |
request-body | No | O corpo do pedido que será enviado para o ponto final. |
Recursos personalizados
Nota
Tem de substituir os {subscriptionId}
marcadores de posição e {resourceGroupName}
pelo grupo de recursos e subscrição de onde implementou o fornecedor de recursos personalizado.
Criar um recurso personalizado
az resource create --is-full-object \
--id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1 \
--properties
'{
"location": "eastus",
"properties": {
"hello" : "world"
}
}'
Parâmetro | Necessário | Descrição |
---|---|---|
is-full-object | Yes | Indica se o objeto de propriedades inclui outras opções, como localização, etiquetas, SKU ou plano. |
id | Yes | O ID de recurso do recurso personalizado. Este ID é uma extensão do ID de recurso do fornecedor de recursos personalizado. |
propriedades | Yes | O corpo do pedido que será enviado para o ponto final. |
Eliminar um recurso personalizado
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parâmetro | Necessário | Descrição |
---|---|---|
id | Yes | O ID de recurso do recurso personalizado. Este ID é uma extensão do ID de recurso do fornecedor de recursos personalizado. |
Obter um recurso personalizado
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parâmetro | Necessário | Descrição |
---|---|---|
id | Yes | O ID de recurso do recurso personalizado. Este ID é uma extensão do ID de recurso do fornecedor de recursos personalizado. |
Nota
Depois de concluir a implementação e utilização do fornecedor de recursos personalizado, lembre-se de limpar todos os recursos criados, incluindo a aplicação de funções do Azure.
Passos seguintes
Neste artigo, ficou a conhecer os fornecedores de recursos personalizados. Para obter mais informações, consulte: