Vous voudrez peut-être utiliser IBM Cloudant, mais Qiita propose de nombreux articles Node Red. .. .. Il n'y a pas beaucoup d'articles pour les personnes qui veulent l'utiliser avec java, je vais donc le poster en guise d'introduction. J'écrirai également jusqu'à ce qu'il soit déployé dans Cloud Foundry d'IBM.
dependency Spring boot 2.0.4 cloudant-client 2.12.0 okhttp3 3.11.0
L'authentification Cloudant devait auparavant émettre une clé HMAC, 2018/08/21 Actuellement HMAC, VCAP_SERVICES, clé API IAM, authentification locale ou point de terminaison de compte? Il semble que l'authentification soit possible par diverses authentifications telles que.
Toute méthode d'authentification convient, mais cette fois, nous utiliserons VCAP_SERVICES sans nous soucier de la différence entre l'environnement local et l'environnement Cloud Foundry.
Il décrit comment démarrer Cludant, se connecter à Cloud Foundry et se connecter à VCAP_SERVICES.
Créez un cloudant. Si possible, accédez au tableau de bord, créez une base de données et enregistrez les données.
Créez une fonderie cloud. Je réécrirai le service plus tard, mais je l'ai créé avec Tomcat pour le moment.
Une fois créé, connectez Cloudant.
IAM est créé automatiquement pour le moment.
Suivez les instructions pour redémarrer l'application.
Lorsque vous accédez à Cloud Foundry et ouvrez l'onglet Runtime, VCAP_SERVEICE est créé dans l'élément Variables d'environnement.
Lors de l'inscription dans application.yml ou application.properties, supprimez les sauts de ligne dans JSON et écrivez-le sur une ligne!
Décrivez VCAP_SERVEICES en une ligne dans le fichier de propriétés. [1](# acquisition de vcap_service de connexion cloud-fonderie et cludant) De plus, si vous déployez dans l'environnement Cloud Foundry avec ce paramètre, les variables de propriétés seront utilisées localement et les variables Cloud Foundry seront utilisées en production en raison de la priorité des variables, afin que vous puissiez développer avec une bonne sensation.
application.properties
VCAP_SERVICES={ YOUR_VCAP_SERVICES_JSON : YOUR_JSON_PROPERTIES }
CloudantConfiguration.java
@Configuration
public class CloudantConfiguration {
@Value("${VCAP_SERVICES}")
private String vcapService;
@Bean
public CloudantClient cloudantClient() {
return ClientBuilder.bluemix(vcapService).build();
}
}
Si vous n'avez pas créé de Dao pour recevoir, il est préférable de le recevoir avec JsonObject. Cela fonctionne bien car la bibliothèque cloudant utilise la classe par défaut.
CloudantdemoApplication.java
@RestController
@SpringBootApplication
public class CloudantdemoApplication {
@Autowired
CloudantClient cloudantClient;
public static void main(String[] args) {
SpringApplication.run(CloudantdemoApplication.class, args);
}
@RequestMapping("/")
public String index() {
Database db = cloudantClient.database("users",false);
QueryResult<JsonObject> result = db.query(new QueryBuilder(eq("name","LLENN")).build(), JsonObject.class);
return result.getDocs().toString();
}
}
Si vous exécutez l'application avec run, etc. et lancez curl, elle sera renvoyée comme suit.
```bash
$ curl http://localhost:8080/
[{"_id":"18f6e5d603317e7a8189513270bc6e28","_rev":"1-487469bb37faf2e391ce4f8897b54e75","name":"LLENN"}]
Défini pour afficher la guerre dans pom.xml Construisez le code source.
$ mvn -DskipTests=true package
Déployez dans l'environnement créé. Utilisez la commande bx dans l'interface de ligne de commande IBM Cloud (https://console.bluemix.net/docs/cli/index.html).
#Connectez-vous avec la commande bx.
$ bx login
#Sélectionnez l'environnement pour la fonderie de cloud.
$ bx target --cf
#Obtenez une liste d'applications.
$ bx cf apps
Nom URL du disque mémoire de l'instance d'état demandé
Cludant-Demo started 1/1 768M 1G Cludant-Demo.mybluemix.net
#Déployez l'application sur Cloud Foundry.
$ bx cf push Cludant-Demo -p ./target/cloudantdemo-0.0.1-SNAPSHOT.war -b https://github.com/cloudfoundry/java-buildpack.git
...
...
État Date et heure de début CPU Mémoire disque
#0 course 2018-09-01T00:00:00Z 0.0% 1.1M of 768M 1.3M of 1G
Cloud Foundry démarrera automatiquement, alors essayez d'accéder à l'URL avec curl.
$ curl https://Cludant-Demo.mybluemix.net/
[{"_id":"18f6e5d603317e7a8189513270bc6e28","_rev":"1-487469bb37faf2e391ce4f8897b54e75","name":"LLENN"}]
Arrêtons-le après vérification.
$ bx cf stop Cludant-Demo
Le code source est ci-dessous. https://github.com/amanoese/cloudant-demo
https://console.bluemix.net/docs/cli/index.html https://github.com/cloudant/java-cloudant
Recommended Posts