我想运行数据流作业以将数据从 google-project-1-table 迁移到 google-project-2-table。(从一个读取并写入另一个)。这样做时我遇到了许可问题。我已将“GOOGLE_APPLICATION_CREDENTIALS”设置为指向我的项目 1 的凭据文件。下面的 project-2 是 project-1 的权限/角色。1) 服务帐户(角色 - 编辑) 2) -compute@developer.gserviceaccount.com(角色 - 编辑) 3) @cloudservices.gserviceaccount.com(角色 - 编辑)。
我还需要做些什么来完成这项工作吗?
原因:com.google.bigtable.repackaged.com.google.cloud.grpc.io.IOExceptionWithStatus:com.google.bigtable.repackaged.com.google.cloud.grpc.scanner.ResultQueueEntry$ExceptionResultQueueEntry 的响应流错误。 getResponseOrThrow(ResultQueueEntry.java:66) 在 com.google.bigtable.repackaged.com.google.cloud.grpc.scanner.ResponseQueueReader.getNextMergedRow(ResponseQueueReader.java:55) 在 com.google.bigtable.repackaged.com.google。 cloud.grpc.scanner.StreamingBigtableResultScanner.next(StreamingBigtableResultScanner.java:42) 在 com.google.bigtable.repackaged.com.google.cloud.grpc.scanner.StreamingBigtableResultScanner.next(StreamingBigtableResultScanner.java:27) 在 com.google。 bigtable.repackaged.com.google.cloud.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:89) at com.google.bigtable.repackaged.com.google.cloud.grpc.scanner.ResumingStreamingResultScanner.next(ResumingStreamingResultScanner.java:45) at com.google.cloud.bigtable.dataflow.CloudBigtableIO$1.next(CloudBigtableIO .java:221) 在 com.google.cloud.bigtable.dataflow.CloudBigtableIO$1.next(CloudBigtableIO.java:216) 在 com.google.cloud.bigtable.dataflow.CloudBigtableIO$Reader.advance(CloudBigtableIO.java:775)在 com.google.cloud.bigtable.dataflow.CloudBigtableIO$Reader.start(CloudBigtableIO.java:799) 在 com.google.cloud.dataflow.sdk.io.Read$Bounded$1.evaluateReadHelper(Read.java:178) 。 .. 还有 18 个原因:com.google.bigtable.repackaged.io.grpc.StatusRuntimeException:PERMISSION_DENIED:用户无法访问项目:com.google.bigtable.repackaged 的项目 2。io.grpc.Status.asRuntimeException(Status.java:431) 在 com.google.bigtable.repackaged.com.google.cloud.grpc.scanner.StreamObserverAdapter.onClose(StreamObserverAdapter.java:48) 在 com.google.bigtable。 repackaged.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$3.runInContext(ClientCallImpl.java:462) 在 com.google.bigtable.repackaged.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:54) 在 com.google .bigtable.repackaged.io.grpc.internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker .run(ThreadPoolExecutor.java:617) ... 还有 1 个com.google.cloud.grpc.scanner.StreamObserverAdapter.onClose(StreamObserverAdapter.java:48) 在 com.google.bigtable.repackaged.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$3.runInContext(ClientCallImpl.java:462) 在 com .google.bigtable.repackaged.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:54) 在 com.google.bigtable.repackaged.io.grpc.internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154)在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 还有 1 个com.google.cloud.grpc.scanner.StreamObserverAdapter.onClose(StreamObserverAdapter.java:48) 在 com.google.bigtable.repackaged.io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$3.runInContext(ClientCallImpl.java:462) 在 com .google.bigtable.repackaged.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:54) 在 com.google.bigtable.repackaged.io.grpc.internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154)在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 还有 1 个ClientCallImpl$ClientStreamListenerImpl$3.runInContext(ClientCallImpl.java:462) 在 com.google.bigtable.repackaged.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:54) 在 com.google.bigtable.repackaged.io.grpc .internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617 ) ... 还有 1 个ClientCallImpl$ClientStreamListenerImpl$3.runInContext(ClientCallImpl.java:462) 在 com.google.bigtable.repackaged.io.grpc.internal.ContextRunnable.run(ContextRunnable.java:54) 在 com.google.bigtable.repackaged.io.grpc .internal.SerializingExecutor$TaskRunner.run(SerializingExecutor.java:154) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617 ) ... 还有 1 个runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 还有 1 个runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 还有 1 个