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.
A integração de recursos dos Provedores de Recursos Personalizados do Azure é um modelo de extensibilidade para tipos de recursos do Azure. Ele permite que você aplique operações ou gerenciamento em todos os recursos existentes do Azure em escala. Para obter mais informações, consulte como os Provedores de Recursos Personalizados do Azure podem estender o Azure. Este artigo descreve:
- O que a integração de recursos pode fazer.
- Noções básicas de integração de recursos e como usá-lo.
- Onde encontrar guias e exemplos de código para começar.
Importante
Os Provedores de Recursos Personalizados estão atualmente 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. Determinados recursos podem não ter suporte ou ter recursos restritos. Para obter mais informações, consulte Termos de Uso Complementares para Versões Prévias do Microsoft Azure.
O que a integração de recursos pode fazer?
Semelhante aos recursos personalizados dos Provedores de Recursos Personalizados do Azure, a integração de recursos define um contrato que direcionará as solicitações de "integração" a um ponto de extremidade. Ao contrário dos recursos personalizados, a integração de recursos não cria um novo tipo de recurso. Em vez disso, permite a extensão dos tipos de recursos existentes. E a integração de recursos funciona com o Azure Policy, para que o gerenciamento e a configuração de recursos possam ser feitos em escala. Alguns exemplos de fluxos de trabalho de integração de recursos:
- Instale e gerencie nas extensões de máquina virtual.
- Carregue e configure padrões em contas de armazenamento do Azure.
- Habilitar as configurações de diagnóstico de linha de base em escala.
Noções básicas de integração de recursos
Você configura a integração de recursos por meio dos Provedores de Recursos Personalizados do Azure, usando os tipos de recursos Microsoft.CustomProviders/resourceProviders e Microsoft.CustomProviders/associations. Para habilitar a integração de recursos para um provedor de recursos personalizados, durante o processo de configuração, crie um resourceType chamado "associations" com um routingType que inclua "Extension". Microsoft.CustomProviders/associations e Microsoft.CustomProviders/resourceProviders não precisam pertencer ao mesmo grupo de recursos.
Aqui está um provedor de recursos personalizado do Azure de exemplo:
{
"properties": {
"resourceTypes": [
{
"name": "associations",
"routingType": "Proxy,Cache,Extension",
"endpoint": "https://microsoft.com/"
}
]
},
"location": "eastus"
}
| Propriedade | Obrigatório? | Description |
|---|---|---|
| nome | Yes | O nome da definição do ponto de extremidade. Para integração de recursos, o nome deve ser "associações". |
| routingType | Yes | Determina o tipo de contrato com o endpoint. Para integração de recursos, os routingTypes válidos são "Proxy, Cache, Extensão" e "Webhook, Cache, Extensão". |
| ponto de extremidade | Yes | O ponto de extremidade para o qual encaminhar as solicitações. Isso vai gerenciar a resposta e os efeitos colaterais da solicitação. |
Depois de criar o provedor de recursos personalizados com o tipo de recurso de associações, você poderá direcionar usando o Microsoft.CustomProviders/associations. Microsoft.CustomProviders/associations é um recurso de extensão que pode estender qualquer outro recurso do Azure. Quando uma instância de Microsoft.CustomProviders/associations for criada, ela usará uma propriedade targetResourceId, que deve ser uma ID de recurso Microsoft.CustomProviders/resourceProviders ou Microsoft.Solutions/applications válida. Nesses casos, a solicitação será encaminhada para o tipo de recurso de associações na instância Microsoft.CustomProviders/resourceProviders que você criou.
Observação
Se uma ID de recurso Microsoft.Solutions/applications for fornecida como o targetResourceId, deverá haver um Microsoft.CustomProviders/resourceProviders implantado no grupo de recursos gerenciados com o nome "Public".
Associação de provedores de recursos personalizados do Azure de exemplo:
{
"properties": {
"targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
...
}
}
| Propriedade | Obrigatório? | Description |
|---|---|---|
| targetResourceId | Yes | A ID de recurso do Microsoft.CustomProviders/resourceProviders ou Microsoft.Solutions/applications. |
Como usar a integração de recursos
A integração de recursos funciona estendendo outros recursos com o recurso de extensão Microsoft.CustomProviders/associations. No exemplo a seguir, a solicitação é feita para uma máquina virtual, mas qualquer recurso pode ser estendido.
Primeiro, você precisa criar um recurso de provedor de recursos personalizado com um tipo de recurso de associações. Isso vai declarar o URL de retorno de chamada que será usado quando um recurso Microsoft.CustomProviders/associations correspondente for criado, o qual se destina ao provedor de recursos personalizados.
Exemplo de solicitação de criação de Microsoft.CustomProviders/resourceProviders:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
{
"properties": {
"resourceTypes": [
{
"name": "associations",
"routingType": "Proxy,Cache,Extension",
"endpoint": "https://{myCustomEndpoint}/"
}
]
},
"location": "{location}"
}
Depois de criar o provedor de recursos personalizado, você pode direcionar outros recursos e aplicar os efeitos colaterais do provedor de recursos personalizado a eles.
Exemplo de solicitação de criação do Microsoft.CustomProviders/associations:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.CustomProviders/associations/{associationName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
{
"properties": {
"targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Essa solicitação será encaminhada para o ponto de extremidade especificado no provedor de recursos personalizado que você criou, que é referenciado pelo targetResourceId neste formulário:
PUT https://{endpointURL}/?api-version=2018-09-01-preview
Content-Type: application/json
X-MS-CustomProviders-RequestPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/associations/{associationName}
X-MS-CustomProviders-ExtensionPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.CustomProviders/associations/{associationName}
X-MS-CustomProviders-ExtendedResource: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
O ponto de extremidade deve responder com um aplicativo/json Content-Type e um corpo de resposta JSON válido. Os campos retornados sob o objeto de propriedades do JSON serão adicionados à resposta de retorno da associação.
Obtendo ajuda
Se você tiver dúvidas sobre o desenvolvimento de Provedores de Recursos Personalizados do Azure, tente perguntar sobre eles no Stack Overflow. Uma pergunta semelhante pode já ter sido respondida, portanto, verifique primeiro antes da postagem. Adicione a marca azure-custom-providers para obter uma resposta rápida!
Próximas etapas
Neste artigo, você aprendeu sobre provedores de recursos personalizados. Confira estes artigos para saber mais:
- Tutorial: integração de recursos com provedores de recursos personalizados
- Tutorial: Criar ações e recursos personalizados no Azure
- Início rápido: criar um Provedor de Recursos Personalizado do Azure e implantar recursos personalizados
- Como adicionar ações personalizadas a uma API REST do Azure
- Como adicionar recursos personalizados a uma API REST do Azure