Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les conditions requises pour les points de terminaison implémentant des ressources personnalisées du cache. Si vous n’êtes pas familiarisé avec les fournisseurs de ressources personnalisés Azure, consultez la vue d’ensemble des fournisseurs de ressources personnalisés.
Définir un point de terminaison de ressource de cache
Une ressource proxy peut être créée en spécifiant la routingType valeur « Proxy, Cache ».
Exemple de fournisseur de ressources personnalisé :
{
"properties": {
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy, Cache",
"endpoint": "https://{endpointURL}/"
}
]
},
"location": "eastus",
"type": "Microsoft.CustomProviders/resourceProviders",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
"name": "{resourceProviderName}"
}
Créer un point de terminaison de ressource proxy
Un point de terminaison qui implémente un point de terminaison de ressource « Proxy, Cache » doit gérer la demande et la réponse pour la nouvelle API dans Azure. Dans ce cas, resourceType génère une nouvelle API de ressource Azure pour PUT, GETet DELETE exécute CRUD sur une seule ressource, ainsi que GET pour récupérer toutes les ressources existantes.
Note
L’API Azure génère les méthodes PUTde requête, GETet DELETE, mais le point de terminaison du cache doit uniquement gérer PUT et DELETE.
Nous avons recommandé que le point de terminaison implémente GETégalement .
Créer une ressource personnalisée
Requête entrante de l’API Azure :
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Cette demande sera ensuite transférée au point de terminaison 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}/myCustomResources/{myCustomResourceName}
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
La réponse du point de terminaison est ensuite renvoyée au client. La réponse doit retourner :
- Document d’objet JSON valide. Tous les tableaux et chaînes doivent être imbriqués sous un objet supérieur.
- L’en-tête
Content-Typedoit être défini sur « application/json ; charset=utf-8". - Le fournisseur de ressources personnalisées remplace les champs
name,type, etidpour la requête. - Le fournisseur de ressources personnalisé retournera uniquement les champs sous l'objet
propertiespour un point de terminaison de cache.
Réponse du point de terminaison :
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Les champs name, id et type seront générés automatiquement pour la ressource personnalisée par le fournisseur de ressources personnalisé.
Réponse du fournisseur de ressources personnalisé Azure :
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"name": "{myCustomResourceName}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}",
"type": "Microsoft.CustomProviders/resourceProviders/myCustomResources",
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Supprimer une ressource personnalisée
Requête entrante de l’API Azure :
Delete https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
Cette demande sera ensuite transférée au point de terminaison sous la forme suivante :
Delete 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}/myCustomResources/{myCustomResourceName}
La réponse du point de terminaison est ensuite renvoyée au client. La réponse doit retourner :
- Document d’objet JSON valide. Tous les tableaux et chaînes doivent être imbriqués sous un objet supérieur.
- L’en-tête
Content-Typedoit être défini sur « application/json ; charset=utf-8". - Le fournisseur de ressources personnalisé Azure supprime uniquement l’élément de son cache si une réponse de 200 niveaux est retournée. Même si la ressource n’existe pas, le point de terminaison doit retourner 204.
Réponse du point de terminaison :
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Réponse du fournisseur de ressources personnalisé Azure :
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Récupérer une ressource personnalisée
Requête entrante de l’API Azure :
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
La demande ne sera pas transférée au point de terminaison.
Réponse du fournisseur de ressources personnalisé Azure :
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"name": "{myCustomResourceName}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}",
"type": "Microsoft.CustomProviders/resourceProviders/myCustomResources",
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Énumérer toutes les ressources personnalisées
Requête entrante de l’API Azure :
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
La demande ne sera pas transférée au point de terminaison.
Réponse du fournisseur de ressources personnalisé Azure :
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"value" : [
{
"name": "{myCustomResourceName}",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/myCustomResources/{myCustomResourceName}",
"type": "Microsoft.CustomProviders/resourceProviders/myCustomResources",
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
]
}
Étapes suivantes
- Vue d’ensemble des fournisseurs de ressources personnalisés Azure
- Démarrage rapide : Créer un fournisseur de ressources personnalisé Azure et déployer des ressources personnalisées
- Tutoriel : Créer des actions et des ressources personnalisées dans Azure
- Guide pratique pour ajouter des actions personnalisées à l’API REST Azure
- Référence : Informations de référence sur le proxy de ressources personnalisées