Le programme local peut être authentifié par service-account
.
Here et here est docs sur l'utilisation de service-account dans le programme java.
Utilisation variable env:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/key.json
Ou fournir les informations d'identification de fichier JSON:
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;
import com.google.cloud.datastore.Entity;
import com.google.cloud.datastore.Key;
import com.google.cloud.datastore.KeyFactory;
DatastoreOptions options = DatastoreOptions.newBuilder()
.setProjectId(PROJECT_ID)
.setCredentials(GoogleCredentials.fromStream(
new FileInputStream(PATH_TO_JSON_KEY))).build();
Datastore datastore = options.getService();
KeyFactory keyFactory = datastore.newKeyFactory().setKind(KIND);
Key key = keyFactory.newKey(keyName);
Entity entity = datastore.get(key);
Quel est votre cas d'utilisation? Vous pouvez remplacer votre application par un identifiant de projet différent et utiliser l'admin de datastore pour cloner la banque de données d'un projet à un autre. En passant, je suis sûr que la solution 'bulkloader.py' de la question que vous avez liée est juste un script autonome que vous pouvez exécuter. ce n'est pas grave que votre projet soit en Java. – Alex