Visão geral dos Provedores de Recursos Personalizados do Azure
Os provedores de recursos personalizados do Azure são uma plataforma de extensibilidade para o Azure. Ele permite que você defina APIs personalizadas que podem ser usadas para enriquecer a experiência padrão do Azure. Esta documentação descreve:
- Como criar e implantar um Provedor de Recursos Personalizados do Azure.
- Como utilizar provedores de recursos personalizados do Azure para estender fluxos de trabalho existentes.
- Onde encontrar guias e exemplos de código para começar.
Importante
No momento, os Provedores de Recursos Personalizados estão em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
O que os provedores de recursos personalizados podem fazer
Estes são alguns exemplos do que você pode fazer com os Provedores de Recursos Personalizados do Azure:
- Estenda o API REST do Azure Resource Manager para incluir serviços internos e externos.
- Habilite cenários personalizados sobre fluxos de trabalho existentes do Azure.
- Personalize o controle e efeito de modelos do Azure Resource Manager.
O que é um provedor de recursos personalizado
Os Provedores de Recursos Personalizados do Azure são feitos criando um contrato entre o Azure e um ponto de extremidade. Esse contrato define uma lista de novos recursos e ações por meio de um novo recurso, Microsoft.CustomProviders/resourceProviders. Em seguida, o provedor de recursos personalizado exporá essas novas APIs no Azure. Os Provedores de Recursos Personalizados do Azure são compostos por três partes: provedor de recursos personalizado, pontos de extremidade e recursos personalizados.
Como criar provedores de recursos personalizados
Provedores de recursos personalizados são uma lista de contratos entre o Azure e os pontos de extremidade. Esses contratos descrevem como o Azure deve interagir com seus pontos de extremidade. Os provedores de recursos atuam como um proxy e encaminharão solicitações e respostas de e para o respectivo ponto de extremidade especificado. Um provedor de recursos pode especificar dois tipos de contratos: resourceTypes e actions. Eles são habilitados por meio de definições de ponto de extremidade. Uma definição de ponto de extremidade é composta de três campos: nome, routingType e ponto de extremidade.
Amostra de ponto de extremidade:
{
"name": "{endpointDefinitionName}",
"routingType": "Proxy",
"endpoint": "https://{endpointURL}/"
}
Propriedade | Obrigatório | Descrição |
---|---|---|
name | sim | O nome da definição do ponto de extremidade. O Azure exporá esse nome por meio de sua API em '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/ resourceProviders/{resourceProviderName}/{endpointDefinitionName}' |
routingType | não | Determina o tipo de contrato com o ponto de extremidade. Se não for especificado, o padrão será "Proxy". |
endpoint | sim | O ponto de extremidade para o qual rotear as solicitações. Isso processará a resposta, bem como os efeitos colaterais, da solicitação. |
Criando recursos personalizados
ResourceTypes descrevem novos recursos personalizados que são adicionados ao Azure. Eles expõem os métodos CRUD de RESTful básico. Veja mais sobre a criação de recursos personalizados
Amostra de provedor de recursos personalizados com ResourceTypes:
{
"properties": {
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://{endpointURL}/"
}
]
},
"location": "eastus"
}
APIs adicionadas ao Azure para a amostra acima:
HttpMethod | URI de Exemplo | Descrição |
---|---|---|
PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomResources/{customResourceName}? API-Version = 2018-09-01 – Pré-visualização |
A chamada à API REST do Azure para criar um novo recurso. |
Delete (excluir) | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomResources/{customResourceName}? API-Version = 2018-09-01 – Pré-visualização |
A chamada à API REST do Azure para excluir um recurso existente. |
GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/ myCustomResources/{customResourceName}? API-Version = 2018-09-01 – Pré-visualização |
A chamada à API REST do Azure para recuperar 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 recuperar uma lista de recursos existentes. |
Criando ações personalizadas
As ações descrevem as novas ações que são adicionadas ao Azure. Elas podem ser expostas na parte superior do provedor de recursos ou aninhadas em um ResourceType. Veja mais sobre a criação de ações personalizadas
Amostra de provedor de recursos personalizados com ações:
{
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://{endpointURL}/"
}
]
},
"location": "eastus"
}
APIs adicionadas ao Azure para a amostra acima:
HttpMethod | URI de Exemplo | Descrição |
---|---|---|
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. |
Procurando ajuda
Em caso de dúvidas sobre o desenvolvimento dos Provedores de Recursos Personalizados do Azure, pergunte no Stack Overflow. Uma pergunta semelhante pode já ter sido feita e respondida. Portanto, verifique primeiro antes de postar. Adicione a marca azure-custom-providers
para obter uma resposta rápida.
Próximas etapas
Neste artigo, você aprendeu sobre os provedores de recursos personalizados. Vá para o próximo artigo para criar um provedor de recursos personalizado.