Información general sobre los proveedores de recursos personalizados de Azure

Los proveedores de recursos personalizados de Azure son una plataforma de extensibilidad de Azure. Permite definir las API personalizadas que se pueden usar para enriquecer la experiencia predeterminada de Azure. En esta documentación se describe lo siguiente:

  • Cómo compilar e implementar un proveedor de recursos personalizados de Azure.
  • Cómo utilizar los proveedores de recursos personalizados de Azure para ampliar los flujos de trabajo existentes.
  • Dónde encontrar guías y ejemplos de código para empezar a trabajar.

Diagrama de los proveedores de recursos personalizados de Azure, que muestra la relación entre Azure Resource Manager, los proveedores de recursos personalizados y los recursos.

Importante

La característica Proveedores de recursos personalizados está actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

Lo que pueden hacer los proveedores de recursos personalizados de Azure

Estos son algunos ejemplos de lo que puede lograr con los proveedores de recursos de Azure personalizados:

  • Ampliar la API de REST de Azure Resource Manager para que incluya servicios internos y externos.
  • Habilitar escenarios personalizados sobre los flujos de trabajo de Azure existentes.
  • Personalizar el control y el efecto de las plantillas de Azure Resource Manager.

Qué es un proveedor de recursos personalizados

Los proveedores de recursos personalizados de Azure se realizan mediante la creación de un contrato entre Azure y un punto de conexión. Este contrato define una lista de recursos y acciones nuevos a través de un nuevo recurso, Microsoft.CustomProviders/resourceProviders. El proveedor de recursos personalizados después expondrá estas nuevas API en Azure. Los proveedores de recursos personalizados de Azure se componen de tres partes: el proveedor de recursos personalizados, los puntos de conexión y los recursos personalizados.

Cómo crear proveedores de recursos personalizados de Azure

Los proveedores de recursos personalizados son una lista de contratos entre Azure y los puntos de conexión. Estos contratos describen cómo Azure debe interactuar con sus puntos de conexión. Los proveedores de recursos actúan como un proxy y reenviarán las solicitudes y respuestas hacia y desde su punto de conexión especificado. Un proveedor de recursos puede especificar dos tipos de contratos: resourceTypes y acciones. Estos se habilitan a través de definiciones de punto de conexión. Una definición de punto de conexión está formada por tres campos: nombre, routingType, y punto de conexión.

Punto de conexión de ejemplo:

{
  "name": "{endpointDefinitionName}",
  "routingType": "Proxy",
  "endpoint": "https://{endpointURL}/"
}
Propiedad Obligatorio Descripción
name El nombre de la definición del punto de conexión. Azure expondrá este nombre a través de su API en "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/
resourceProviders/{resourceProviderName}/{endpointDefinitionName}"
routingType no Determina el tipo de contrato con el punto de conexión. Si no se especifica, el valor predeterminado será "Proxy".
endpoint El punto de conexión al que enrutar las solicitudes. Esto controlará la respuesta, así como los efectos secundarios de la solicitud.

Creación de recursos personalizados

ResourceTypes describe los nuevos recursos personalizados que se agregan a Azure. Estos exponen métodos CRUD de RESTful básicos. Obtenga más información sobre la creación de recursos personalizados.

Ejemplo de proveedor de recursos personalizados con resourceTypes:

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

API agregadas a Azure para el ejemplo anterior:

HttpMethod URI de ejemplo Descripción
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
La llamada de API de REST de Azure para crear un nuevo recurso.
Delete /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
La llamada de API de REST de Azure para eliminar un recurso existente.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
La llamada de API de REST de Azure para recuperar un recurso existente.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources?api-version=2018-09-01-preview
La llamada de API de REST de Azure para recuperar la lista de recursos existentes.

Creación de acciones personalizadas

Actions describe las nuevas acciones que se agregan a Azure. Estas se pueden exponer sobre el proveedor de recursos o anidadas bajo un resourceType. Obtenga más información sobre la creación de acciones personalizadas.

Ejemplo de proveedor de recursos personalizados con actions:

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

API agregadas a Azure para el ejemplo anterior:

HttpMethod URI de ejemplo Descripción
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomAction?api-version=2018-09-01-preview
La llamada de API de REST de Azure para activar la acción.

¿Busca ayuda?

Si tiene preguntas sobre el desarrollo del proveedor de recursos personalizados de Azure, haga su consulta en Stack Overflow. Puede que ya se haya formulado y respondido una pregunta similar, así que compruébelo antes de publicar la suya. Agregue la etiqueta azure-custom-providers para obtener una respuesta rápida.

Pasos siguientes

En este artículo, ha obtenido información sobre los proveedores de recursos personalizados. Vaya al artículo siguiente para crear un proveedor de recursos personalizado.