Ce document vous guide à travers la procédure d'association de votre application à une instance RabbitMQ non répertoriée sur la place de marché Kf (y compris pour RabbitMQ en déploiement par clic sur la place de marché avec le connecteur Spring Cloud Foundry). Ainsi, les identifiants RabbitMQ sont injectés dans votre application, comme en cas d'association aux services provisionnés via des forfaits de place de marché.
Avant de commencer
- Vérifiez que RabbitMQ est installé et accessible par votre cluster Kf.
- Vérifiez que RabbitMQ a déjà été configuré pour votre application.
- Assurez-vous d'avoir ciblé l'espace qui exécute votre application.
Créer l'instance fournie par l'utilisateur
Pour que Kf puisse associer une application à votre instance RabbitMQ, la variable d'environnement minimale est l'URI (par exemple, amqp://username:password@host:port/vhost?query
). Des paires clé-valeur supplémentaires peuvent être incluses si vous le souhaitez. La documentation de RabbitMQ peut vous aider à créer une chaîne URI. L'exemple suivant devrait suffire pour les déploiements de base.
kf cups service-instance-name -p '{"uri":"amqp://username:password@rabbitmq-host:5672"}' -t "rabbitmq"
Associer votre application
Maintenant que le service fourni par l'utilisateur a été créé, vous pouvez lier votre application au nom d'instance :
kf bind-service application-name service-instance-name
Redémarrez votre application pour que les modifications prennent effet :
kf restart application-name
Vous pouvez confirmer les nouvelles variables d'environnement fournies à votre application :
kf vcap-services application-name
Mettre à jour l'instance fournie par l'utilisateur
Si des modifications sont apportées à l'environnement (par exemple, la mise à jour du mot de passe ou de l'hôte dans l'URI, ou l'ajout de nouvelles paires clé-valeur) et doivent être transmises aux applications liées, vous pouvez mettre à jour l'instance fournie par l'utilisateur.
kf uups service-instance-name -p '{"uri":"new-uri", "some-new-key": "some-new-value"}'
kf unbind-service application-name service-instance-name
kf bind-service application-name service-instance-name