Vue d’ensemble de l’intégration des ressources des fournisseurs de ressources personnalisés Azure

L’intégration des ressources des fournisseurs de ressources personnalisés Azure est un modèle d’extensibilité pour les types de ressources Azure. Elle vous permet d’appliquer des opérations ou une gestion à des ressources Azure existantes à l’échelle. Pour plus d’informations, consultez Comment les fournisseurs de ressources personnalisés Azure peuvent étendre Azure. Cet article aborde les points suivants :

  • Ce que peut faire l’intégration des ressources.
  • Les notions de base sur l’intégration des ressources et comment l’utiliser.
  • Où trouver des guides et exemples de code pour commencer.

Important

Les fournisseurs de ressources personnalisés sont actuellement disponibles en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Que fait l’intégration des ressources ?

Comme pour les ressources personnalisés des fournisseurs de ressources personnalisés Azure, l’intégration des ressources établit un contrat qui proxyse les demandes d’intégration vers un point de terminaison. Contrairement aux ressources personnalisées, l’intégration de ressources ne crée pas de nouveau type de ressource. Au lieu de cela, elle autorise l’extension de types de ressources existants. Et l’intégration de ressources fonctionne avec Azure Policy ; ainsi, la gestion et la configuration des ressources peuvent être effectuées à grande échelle. Voici quelques exemples de flux de travail d’intégration de ressources :

  • Installer et gérer sur les extensions de machine virtuelle.
  • Télécharger et configurer les valeurs par défaut sur les comptes de stockage Azure.
  • Activer les paramètres de diagnostic de base à l’échelle.

Notions de base de l’intégration des ressources

Vous pouvez configurer l’intégration des ressources via les fournisseurs de ressources personnalisés Azure à l’aide des types de ressources Microsoft.CustomProviders/resourceProviders et Microsoft.CustomProviders/associations. Afin d’activer l’intégration des ressources pour un fournisseur de ressources personnalisé, pendant le processus de configuration, créez un resourceType appelé « associations » avec un routingType incluant « extension ». Microsoft.CustomProviders/associations et Microsoft.CustomProviders/resourceProviders n’ont pas besoin d’appartenir au même groupe de ressources.

Voici un exemple de fournisseur de ressources personnalisé Azure :

{
  "properties": {
    "resourceTypes": [
      {
        "name": "associations",
        "routingType": "Proxy,Cache,Extension",
        "endpoint": "https://microsoft.com/"
      }
    ]
  },
  "location": "eastus"
}
Propriété Requis ? Description
name Oui Nom de la définition de point de terminaison. Pour l’intégration de ressources, le nom doit être « associations ».
routingType Oui Détermine le type de contrat avec le point de terminaison. Pour l’intégration des ressources, les routingTypes acceptables sont « Proxy,Cache,Extension » et « Webhook,Cache,Extension ».
endpoint Oui Point de terminaison vers lequel router les requêtes. Il gère la réponse, ainsi que tous les effets secondaires de la requête.

Après avoir créé le fournisseur de ressources personnalisé avec le type de ressource Associations, vous pouvez cibler avec Microsoft.CustomProviders/associations. Microsoft.CustomProviders/associations est une ressource d’extension qui peut étendre n’importe quelle autre ressource Azure. Lorsqu’une instance de Microsoft.CustomProviders/associations est créée, elle prend une propriété targetResourceId, qui doit être un ID de ressource Microsoft.CustomProviders/resourceProviders ou Microsoft.Solutions/applications valide. Dans de tels cas, la requête est transférée au type de ressource associations sur l’instance Microsoft.CustomProviders/resourceProviders que vous avez créée.

Notes

Si un ID de ressource Microsoft.Solutions/applications est fourni en tant que targetResourceId, il doit y avoir un Microsoft.CustomProviders/resourceProviders déployé dans le groupe de ressources géré portant le nom « public ».

Exemple d’association de fournisseurs de ressources personnalisés Azure :

{
  "properties": {
    "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
    ...
  }
}
Propriété Requis ? Description
targetResourceId Oui L’ID de la ressource Microsoft.CustomProviders/resourceProviders ou Microsoft.Solutions/applications.

Utilisation de l’intégration des ressources

L’intégration de ressources fonctionne en étendant d’autres ressources avec la ressource d’extension Microsoft.CustomProviders/associations. Dans l’exemple suivant, la requête est effectuée pour une machine virtuelle, mais toutes les ressources peuvent être étendues.

Tout d’abord, vous devez créer une ressource de fournisseur de ressources personnalisé avec un type de ressource Associations. Cela permet de déclarer l’URL de rappel qui sera utilisée lors de la création d’une ressource Microsoft.CustomProviders/associations correspondante, qui cible le fournisseur de ressources personnalisé.

Exemple de demande de création 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}"
}

Après avoir créé le fournisseur de ressources personnalisé, vous pouvez cibler d’autres ressources et appliquer les effets secondaires du fournisseur de ressources personnalisé à ceux-ci.

Exemple de demande de création de 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"
    }
  }
}

Cette demande est ensuite transférée au point de terminaison spécifié dans le fournisseur de ressources personnalisé que vous avez créé, qui est référencé par le targetResourceId sous la forme suivante :

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"
    }
  }
}

Le point de terminaison doit répondre avec le Content-Type application/json et un corps de réponse JSON valide. Les champs qui sont renvoyés sous l’objet properties du JSON sont ajoutés à la réponse de retour de l’association.

Obtenir de l’aide

Si vous avez des questions sur le développement de fournisseurs de ressources personnalisés Azure, postez-les sur Stack Overflow. Avant de publier une question, vérifiez si une question similaire a déjà reçu une réponse. Ajoutez le mot clé azure-custom-providers pour obtenir une réponse rapide !

Étapes suivantes

Dans cet article, vous avez découvert les fournisseurs de ressources personnalisés. Pour en savoir plus, consultez les articles suivants :