Descrição Geral dos Fornecedores de Recursos Personalizados do Azure

Os Fornecedores de Recursos Personalizados do Azure são uma plataforma de extensibilidade para o Azure. Permite-lhe definir APIs personalizadas que podem ser utilizadas para enriquecer a experiência predefinida do Azure. Esta documentação descreve:

  • Como criar e implementar um Fornecedor de Recursos Personalizados do Azure.
  • Como utilizar os Fornecedores de Recursos Personalizados do Azure para expandir os fluxos de trabalho existentes.
  • Onde encontrar guias e exemplos de código para começar.

Diagrama de Fornecedores de Recursos Personalizados do Azure, apresentando a relação entre Resource Manager do Azure, fornecedores de recursos personalizados e recursos.

Importante

Os Fornecedores de Recursos Personalizados estão atualmente em pré-visualização pública. Esta versão de pré-visualização é disponibiliza sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

O que podem fazer os fornecedores de recursos personalizados

Eis alguns exemplos do que pode alcançar com os Fornecedores de Recursos Personalizados do Azure:

  • Expanda a API REST do Azure Resource Manager para incluir serviços internos e externos.
  • Ative cenários personalizados para além dos fluxos de trabalho existentes do Azure.
  • Personalize o controlo e o efeito modelos do Azure Resource Manager.

O que é um fornecedor de recursos personalizado

Os Fornecedores de Recursos Personalizados do Azure são feitos ao criar um contrato entre o Azure e um ponto final. Este contrato define uma lista de novos recursos e ações através de um novo recurso, Microsoft.CustomProviders/resourceProviders. Em seguida, o fornecedor de recursos personalizado irá expor estas novas APIs no Azure. Os Fornecedores de Recursos Personalizados do Azure são compostos por três partes: fornecedor de recursos personalizado, pontos finais e recursos personalizados.

Como criar fornecedores de recursos personalizados

Os fornecedores de recursos personalizados são uma lista de contratos entre o Azure e os pontos finais. Estes contratos descrevem como o Azure deve interagir com os respetivos pontos finais. Os fornecedores de recursos agem como um proxy e irão reencaminhar pedidos e respostas de e para o ponto final especificado. Um fornecedor de recursos pode especificar dois tipos de contratos: resourceTypes e ações. Estas estão ativadas através de definições de ponto final. Uma definição de ponto final é composta por três campos: nome, routingType e ponto final.

Ponto Final de Exemplo:

{
  "name": "{endpointDefinitionName}",
  "routingType": "Proxy",
  "endpoint": "https://{endpointURL}/"
}
Propriedade Necessário Descrição
name sim O nome da definição do ponto final. O Azure irá expor este nome através da sua API em "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/
resourceProviders/{resourceProviderName}/{endpointDefinitionName}'
routingType não Determina o tipo de contrato com o ponto final. Se não for especificado, a predefinição será "Proxy".
endpoint sim O ponto final para onde encaminhar os pedidos. Isto irá processar a resposta, bem como quaisquer efeitos colaterais do pedido.

Criar recursos personalizados

Os ResourceTypes descrevem novos recursos personalizados que são adicionados ao Azure. Estes expõem métodos CRUD RESTful básicos. Veja mais sobre a criação de recursos personalizados

Fornecedor de Recursos Personalizado de Exemplo com resourceTypes:

{
  "properties": {
    "resourceTypes": [
      {
        "name": "myCustomResources",
        "routingType": "Proxy",
        "endpoint": "https://{endpointURL}/"
      }
    ]
  },
  "location": "eastus"
}

APIs adicionadas ao Azure para o exemplo acima:

HttpMethod URI de exemplo Description
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
A chamada à API REST do Azure para criar um novo recurso.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
A chamada à API REST do Azure para eliminar um recurso existente.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
A chamada à API REST do Azure para obter um recurso existente.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources?api-version=2018-09-01-preview
A chamada à API REST do Azure para obter a lista de recursos existentes.

Criar ações personalizadas

As ações descrevem novas ações que são adicionadas ao Azure. Estes podem ser expostos por cima do fornecedor de recursos ou aninhados sob um resourceType. Veja mais sobre como criar ações personalizadas

Fornecedor de Recursos Personalizado de Exemplo com ações:

{
  "properties": {
    "actions": [
      {
        "name": "myCustomAction",
        "routingType": "Proxy",
        "endpoint": "https://{endpointURL}/"
      }
    ]
  },
  "location": "eastus"
}

APIs adicionadas ao Azure para o exemplo acima:

HttpMethod URI de exemplo Description
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomAction?api-version=2018-09-01-preview
A chamada à API REST do Azure para ativar a ação.

À procura de ajuda

Se tiver dúvidas sobre o desenvolvimento do Fornecedor de Recursos Personalizados do Azure, experimente perguntar no Stack Overflow. Uma pergunta semelhante pode já ter sido feita e respondida, por isso, verifique primeiro antes de publicar. Adicione a etiqueta azure-custom-providers para obter uma resposta rápida!

Passos seguintes

Neste artigo, ficou a conhecer os fornecedores de recursos personalizados. Aceda ao artigo seguinte para criar um fornecedor de recursos personalizado.