Mit der com.google.cloud.google-cloud-Bibliothek (http://googlecloudplatform.github.io/google-cloud-java/0.21.1/index.html) habe ich den folgenden Code für den Google Cloud Platform-Pub/Sub:Google Cloud Platform Pub/Sub Publisher, wie Sie andere Anmeldeinformationen als die Standardanmeldeinformationen für die Anmeldung angeben können
TopicName topicName = TopicName.create("projectId...", "topic...");
Publisher pub = Publisher.defaultBuilder(topicName).build();
Wie kann ich die Anmeldeinformationen angeben, die vom Herausgeber verwendet werden sollen? Ich habe sie bereits im Speicher, da sie auf andere Weise bereitgestellt werden, als sie in eine Datei zu codieren.
Alle Beispiele für benutzerdefinierte Anmeldeinformationen sind wie folgt:
Storage storage = StorageOptions.newBuilder()
.setProjectId(PROJECT_ID)
.setCredentials(GoogleCredentials.fromStream(
new FileInputStream(PATH_TO_JSON_KEY))).build();
Bucket bucket = storage.create(BucketInfo.of("myBucketName"));
Aber es gibt keine PubSubOptions oder PublisherOptions Klasse ähnlichen Code zu schreiben (ich den Fileinputstream mit einem ByteArrayInputStream ersetzen).
Hier ist jemand, der das gleiche Problem hat, aber das Code-Beispiel funktioniert nicht: https://github.com/GoogleCloudPlatform/google-cloud-java/issues/1751
Dieses Bit: "FixedCredentialsProvider.create (credentials)" ist genau das, was ich brauchte! Vielen Dank! – RedShift
Folgefrage, woher haben Sie das abgeleitet? Ich habe jetzt eine Stunde lang die Dokumente gesucht und gelesen: - \ – RedShift
@RedShift: Einfach den Quelltext durchsuchen - aber mit dem eindeutigen Vorteil, dass ich an dem Client-Bibliotheksteam für C# arbeite, und die Bibliotheken sind das nicht * anders ... also wusste ich irgendwie, wo ich hinschauen sollte :) Ich habe einige weitere Details am Ende der Antwort hinzugefügt. –