2

J'ai un service de reconnaissance visuelle Watson lié à une application Bluemix. Je gère le déploiement de l'application en utilisant blue-green deploy avec un test de fumée. L'un des contrôles que j'inclus dans le test de fumée est une fonction qui dépend du service de reconnaissance visuelle. Étant donné que le test de détection de fumée s'exécute immédiatement après le déploiement et qu'il semble que la clé de l'API du service de reconnaissance visuelle est régénérée lors de la relance, le test de détection de fumée échoue. L'attente pour devenir valide est documentée, mais cela cause un mal de tête. J'ai essayé deux solutions de contournement:Comment gérer la régénération de clé API sur le service bind dans Bluemix Watson Visual Recognition?

  • Ajoutez une relex-boucle dans mon code pour attendre jusqu'à ce que la clé de service Visual Recognition est valide. Mon test de fumée peut alors appeler cela, en s'assurant que rien ne soit poussé à vivre avant d'avoir une clé valide. Je peux voir que la clé devient valide pour les appels gratuits relativement rapidement (dans environ 30 ans), mais il faut ensuite quelques minutes pour attacher le droit aux appels payants. Attendre que la clé soit valide pour les appels payants ajoute environ cinq minutes à mes déploiements, ce qui n'est pas idéal, puisque notre équipe pousse plusieurs fois par jour et que les déploiements peuvent commencer à sauvegarder.
  • Créez des informations d'identification permanentes et utilisez un service fourni par l'utilisateur pour les lier à mon application. Cela signifie que les déploiements peuvent commencer à utiliser cette clé immédiatement, ce qui est bien, mais j'ai contourné le mécanisme de liaison de service normal, ce qui semble incorrect.

Y at-il une option que j'ai manquée?

Répondre

2

Si le service réinitialise vos informations d'identification, je cours en "mode non lié".

From the CF docs, la liaison d'un service à une application est définie par le texte suivant:

Liaison d'une instance de service à votre application déclenche des informations d'identification à provisionner pour l'instance de service et livré à l'exécution de l'application dans l'environnement VCAP_SERVICES variable. Pour plus de détails sur la consommation de ces informations d'identification avec votre application, voir Utilisation d'instances de service lié.

Il fournit un moyen utile de gérer et de consommer vos instances de service via le VCAP_SERVICES variable d'environnement. Si la reconfiguration d'un service prend> = 5 minutes, réinitialise vos informations d'identification et constitue globalement un désagrément pour votre processus de déploiement, je le délierais de votre application et accéderais aux informations d'identification via une variable d'environnement fournie par l'utilisateur.