Share via


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: