Möglicherweise möchten Sie IBM Cloudant verwenden, aber Qiita enthält viele Node Red-Artikel. .. .. Es gibt nicht viele Artikel für Leute, die es mit Java verwenden möchten, daher werde ich es als Einführung veröffentlichen. Außerdem werde ich schreiben, bis es in der Cloud Foundry von IBM bereitgestellt wird.
dependency Spring boot 2.0.4 cloudant-client 2.12.0 okhttp3 3.11.0
Früher musste die Cloudant-Authentifizierung einen HMAC-Schlüssel ausstellen. 2018/08/21 Derzeit HMAC, VCAP_SERVICES, IAM-API-Schlüssel, lokale Authentifizierung oder Kontoendpunkt? Es scheint, dass die Authentifizierung durch verschiedene Authentifizierungen wie möglich möglich ist.
Jede Authentifizierungsmethode ist in Ordnung, aber dieses Mal verwenden wir VCAP_SERVICES, ohne uns über den Unterschied zwischen der lokalen Umgebung und der Cloud Foundry-Umgebung Gedanken zu machen.
Es wird beschrieben, wie Sie Cludant starten, eine Verbindung zu Cloud Foundry herstellen und eine Verbindung zu VCAP_SERVICES herstellen.
Erstellen Sie einen Cloudant. Greifen Sie nach Möglichkeit auf das Dashboard zu, erstellen Sie eine Datenbank und registrieren Sie die Daten.
Erstellen Sie eine Cloud-Gießerei. Ich werde den Dienst später neu schreiben, aber ich habe ihn vorerst mit Tomcat erstellt.
Verbinden Sie Cloudant nach der Erstellung.
IAM wird vorerst automatisch erstellt.
Folgen Sie den Anweisungen, um die App neu zu starten.
Wenn Sie auf Cloud Foundry zugreifen und die Registerkarte Laufzeit öffnen, wird VCAP_SERVEICE im Element Umgebungsvariablen erstellt.
Löschen Sie bei der Registrierung in application.yml oder application.properties die Zeilenumbrüche in JSON und schreiben Sie sie in eine Zeile!
Beschreiben Sie VCAP_SERVEICES in einer Zeile in der Eigenschaftendatei. [1](# Cloud-Foundry und Cludant-Verbindung vcap_service-Erwerb) Wenn Sie mit dieser Einstellung in der Cloud Foundry-Umgebung bereitstellen, werden die Eigenschaftsvariablen lokal verwendet und die Cloud Foundry-Variablen werden aufgrund der Priorität der Variablen in der Produktion verwendet, sodass Sie sich mit einem guten Gefühl entwickeln können.
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();
}
}
Wenn Sie kein Dao zum Empfangen erstellt haben, ist es besser, es mit JsonObject zu empfangen. Es funktioniert einwandfrei, da die Cloudant-Bibliothek die Klasse standardmäßig verwendet.
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();
}
}
Wenn Sie die App mit run etc. ausführen und curl werfen, wird sie wie folgt zurückgegeben.
```bash
$ curl http://localhost:8080/
[{"_id":"18f6e5d603317e7a8189513270bc6e28","_rev":"1-487469bb37faf2e391ce4f8897b54e75","name":"LLENN"}]
Auf pom.xml setzen, um war auszugeben Erstellen Sie den Quellcode.
$ mvn -DskipTests=true package
In der erstellten Umgebung bereitstellen. Verwenden Sie den Befehl bx in der IBM Cloud CLI (https://console.bluemix.net/docs/cli/index.html).
#Melden Sie sich mit dem Befehl bx an.
$ bx login
#Wählen Sie die Umgebung für die Cloud-Gießerei aus.
$ bx target --cf
#Holen Sie sich eine Liste der Apps.
$ bx cf apps
Name Angeforderte Statusinstanz Speicher-Festplatten-URL
Cludant-Demo started 1/1 768M 1G Cludant-Demo.mybluemix.net
#Stellen Sie die App in Cloud Foundry bereit.
$ bx cf push Cludant-Demo -p ./target/cloudantdemo-0.0.1-SNAPSHOT.war -b https://github.com/cloudfoundry/java-buildpack.git
...
...
Status Startdatum und Uhrzeit Details zur CPU-Speicherplatte
#0 Lauf 2018-09-01T00:00:00Z 0.0% 1.1M of 768M 1.3M of 1G
Cloud Foundry wird automatisch gestartet. Versuchen Sie daher, mit curl auf die URL zuzugreifen.
$ curl https://Cludant-Demo.mybluemix.net/
[{"_id":"18f6e5d603317e7a8189513270bc6e28","_rev":"1-487469bb37faf2e391ce4f8897b54e75","name":"LLENN"}]
Lassen Sie es uns nach der Überprüfung stoppen.
$ bx cf stop Cludant-Demo
Der Quellcode ist unten. https://github.com/amanoese/cloudant-demo
https://console.bluemix.net/docs/cli/index.html https://github.com/cloudant/java-cloudant