1
1つのプロジェクトでフレキシブル環境で動作しているので、com.google.cloud.datastore.Datastoreを使用して別のプロジェクトに書き込みたいと思います。フレキシブル環境は、別のプロジェクトのデータストアにアクセスするためにどのサービスアカウントを使用しますか?
「サービスアカウント」では、Flex環境でコードが実行されますか?どのようなアクセス許可が必要ですか?
コード:
Datastore ds = DatastoreOptions.builder().projectId("projectB").build().service();
ds.put(entity);
スタックトレースパーミッションが間違っています。
com.google.cloud.datastore.DatastoreException: Missing or insufficient permissions.
at com.google.cloud.datastore.spi.DefaultDatastoreRpc.translate(DefaultDatastoreRpc.java:105)
at com.google.cloud.datastore.spi.DefaultDatastoreRpc.commit(DefaultDatastoreRpc.java:133)
at com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:390)
at com.google.cloud.datastore.DatastoreImpl$4.call(DatastoreImpl.java:387)
at com.google.cloud.RetryHelper.doRetry(RetryHelper.java:179)
at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:244)
at com.google.cloud.datastore.DatastoreImpl.commit(DatastoreImpl.java:386)
at com.google.cloud.datastore.DatastoreImpl.commitMutation(DatastoreImpl.java:380)
at com.google.cloud.datastore.DatastoreImpl.put(DatastoreImpl.java:340)