Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Microsoft Azure Api Management – II

Poster un commentaire

L’article précédent nous a permis de monter un exemple concret et de prendre contact avec API MANAGEMENT. Nous allons continuer sur ce thème en approfondissant certaines fonctionnalités passées sous silence:

  • Le cache
  • Les policies

Je reprendrais les exemples de l’article qui précède.

Le cache

Il existe une possibilité de mettre en cache les réponses des API. Elle se paramètre dans les opérations.

2014-10-12_09-11-13

Le cache s’active en cochant l’option Enable du formulaire. On déclare la durée de vie du cache en renseignant Duration. Les deux autres options permettent de calculer la clef du cache:

  1. Vary by query string parameters
    On donne une liste de noms de paramètres de la chaîne de requête séparés par des points virgules
  2. Vary by headers
    On donne une liste de headers séparés par des points virgule

Comme toujours dans mes articles, une démo. On va ajouter cette API:

[HttpGet]
public DateTime Now(int b)
{
    return DateTime.Now;
}

En l’absence de cache on constate que chaque requête renvoie un résultat différent.

Ajoutons un cache sur la chaîne de requête:

2014-10-12_12-35-22

Cette fois vous constatez que pendant 10 secondes La méthode remonte la même chose:

« 2014-10-12T10:33:20.2553378+00:00 »
« 2014-10-12T10:33:20.2553378+00:00 »
« 2014-10-12T10:33:20.2553378+00:00 »
« 2014-10-12T10:33:20.2553378+00:00 »

Mais si vous changez la valeur du paramètre:

« 2014-10-12T10:34:18.1130629+00:00 »

Les policies

2014-10-12_12-42-10

Les policies sont un des éléments les plus intéressants je trouve.

On commence par sélectionner une portée. Il peut s’agir de:

  • Produits
  • Api
  • Opérations

Ces portées peuvent bien sûr se superposer.

Par défaut aucune policy est appliquée. Cliquons sur ADD POLICY pour en créer une par défaut.

2014-10-12_13-21-08

Une policy est déclarée sous la forme d’un fichier XML qui contient la description des actions appliquées. Examinons son contenu:

Les policies sont déclarée dans un élément <inbound> ou <outbound>:

  • <inbound>
    Policies pour les requêtes de l’appelant vers le service
  • <outbound>
    Policies pour les requêtes du service vers l’appelant

Les policies sont appliquées dans l’ordre où elles sont rencontrées. L’élément <base/> représente les policies héritées de l’environnement.

L’environnement propose une série de policies prêtes à l’emploi dans la zone Policy Statement. Pour ajouter une nouvelle Policy sélectionnez un emplacement dans le XML, puis cliquez sur la flèche correspondant à la Policy ciblée.

la liste des policies active dépend de la portée sélectionnée. Par exemple:

2014-10-12_13-40-38

On a appliqué un cache à l’opération et une réécriture d’url. Le cache et la réécriture d’url sont des Policies comme on peut le voir. Choisissons une portée sur un Produit.

2014-10-12_13-51-30

On sélectionne la Policy « Set usage quota ». La Policy affiche plus de choses que représentées, j’ai juste fait un peu de ménage. J’ai fixé un quota d’utilisation du produit de 3.

Relancez la requête plusieurs fois, après 3 passages:

2014-10-12_13-57-47On est bloqué!

 

 

 

 

 

 

 

 

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s