2017-03-01 10 views
0

サービスアカウントの資格情報を使用してデータフロージョブを実行しようとしています。 私はGcpOptionsフラグを使用しています:Googleのクラウドデータフローでサービスアカウントを使用する

--serviceAccountKeyfile="dataflow-service-account.p12" --serviceAccountName="dataflow" 

を私は次のエラーを取得しています: GCSバケットexists.com.google.cloud.dataflow.sdk.util.DataflowPathValidator.verifyPathIsAccessible(DataflowPathValidator.javaていることを確認することができません。 84) com.google.cloud.dataflow.sdk.util.DataflowPathValidator.validateOutputFilePrefixSupported(DataflowPathValidator.java:63) com.google.cloud.dataflow.sdk.runners.DataflowPipelineRunner.fromOptions(DataflowPipelineRunner.java:274)

アプリケーションのデフォルト資格情報に対してサービスアカウント資格情報を使用したいと考えています。

+0

これは、ほとんどの場合、(1)パスが存在しないか、(2)指定されたサービスアカウントは、実際に与えられたパスへのアクセス権を持っていないのいずれかの問題です。 –

+0

serviceAccountNameフラグに次の値を指定すると動作します。 --serviceAccountName = "[email protected]" ドキュメントは誤解を招く恐れがあります。私たちは実際にserviceAccountNameフラグに "サービスアカウントID"サービスアカウント名 "を入力します。 – chans

答えて

1

serviceAccountNameは、サービスアカウントの完全な電子メールアドレスです。これは通常、Google APIでどのように識別されるかです。通常のようなもの:

  1. コンピューティングインスタンスを:[email protected]

    はまた、あなたは私が必要the docs.

    ごとにIAMにおける役割の強打を追加する必要があります。管理

  2. データフロー開発
  3. データフローワーカー
  4. ログライター
  5. サービスアカウント俳優
  6. ストレージオブジェクト管理
関連する問題