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?