0

書き込み可能ではありませんん。私は成功したデータフローパイプラインのプラグインとのgcloud SDKをインストールしたhttps://cloud.google.com/dataflow/getting-started-eclipseGoogleのクラウドストレージ:出力パスが存在しないか、私はGoogleのクラウドサイトからこの単純なデータフロー例に従うしようとしています

を(だけでなく、 Python 2.7)。また、上記の手順で指定されているように、googleクラウドのプロジェクトを設定し、請求とすべての必要なAPIを有効にしました。私は実行構成に移動し、BlockingDataflowPipelineRunnerを選択するために、パイプラインの引数]タブを変更したとき

はしかし、バケットを作成し、私のプロジェクト-IDを設定入力した後、実行を打つことは私を与える:java.langで:によって引き起こさ

.IllegalArgumentException:出力パスが存在しないか、書き込み可能でない:gs:// my-cloud-dataflow-bucket at com.google.cloud.dataflow.sdk.repackaged.com.google.common.base.Preconditions.checkArgument Preconditions.java:146) (com.google.cloud.dataflow.sdk.util.DataflowPathValidator.verifyPathIsAccessible(DataflowPathValidator.java:79) (com.google.cloud.dataflow.sdk.util.DataflowPathValidator.validateOutputFilePrefixSupporte) d(DataflowPathValidator.java:62) at com.google.cloud.dataflow.sdk.runners.DataflowPipelineRunner.fromOptions(DataflowPipelineRunner.java:255) at com.google.cloud.dataflow.sdk.runners.BlockingDataflowPipelineRunner.fromOptions BlockingDataflowPipelineRunner.java:82) ... 9もっと

私は「のgcloud認証ログイン」を実行するために私の端末を使用していると私は私が正常にログインしていますブラウザでご覧ください。

私は本当にわかりません私がここで間違っていること。これがデータフローのパイプラインとGoogleのバケットを使用する際の既知の問題であるかどうかは誰でも確認できますか?

ありがとうございます!

+0

コマンドラインで 'gsutil ls gs:// my-cloud-dataflow-bucket'を実行できますか? (最初に一般的な答えを出し、根本原因を突き止めると、より具体的なものをフォローアップします) –

答えて

1

パイプラインをGoogle Cloud Dataflowサービスに送信すると、ローカルマシンのパイプラインランナーは、クラウドで実行するために必要なファイルをGoogle Cloud Storageの「ステージング場所」にアップロードします。

ローカルマシンのパイプラインランナーが、指定されたステージング場所(gs://my-cloud-dataflow-bucket)に必要なファイルを書き込めないようです。場所が存在しないか、認証されたものとは異なるGCPプロジェクトに属しているか、特定の権限がそのバケットに設定されている可能性があります。

gsutilコマンドラインもあります。たとえば、gsutil ls gs://my-cloud-dataflow-bucketを実行して、バケットの内容を一覧表示しようとします。次に、gsutil cpコマンドでアップロードを試みます。これはおそらく、あなたが直面している問題を根本的に解決するのに十分な情報を生成します。

+0

端末で次のコマンドを実行しました: あなたの現在のプロジェクトは[rosh-test]です。 $のgcloud設定セットプロジェクトPROJECT_ID Roshs-のMacBook - エア::〜RoshPlaha $ gsutilのLSのGS://私のクラウド・データフロー・バケット AccessDeniedException:あなたが実行することにより、この設定を変更することができます403は を禁止し、私は、指摘しなければなりませんEclipseのデータフロープラグインでは、プロジェクトを作成するときにバケットの名前を指定して「作成」をクリックしました。 Eclipseは、バケツの作成が成功したと私に言った。しかし、バケットが存在するかどうかを確認するためにgcpをチェックすると、バケットは存在しないと表示されます。 – RoshP

+0

さらに、同じバケットを手動で作成しようとすると、同じ名前のバケットが2つありません。 gcpでは、私はgsutilを起動し、以下を実行しました:gsutil acl ch -u [email protected]:W gs:// my-cloud-dataflow-bucket。しかし、これはまた403禁止されたエラーを与える。 – RoshP

+0

いくつか確認する必要があります:あなたのアカウントがプロジェクトのエディタ以上であることを確認し、 'gcloud auth login'を実行することを忘れないでください。また、バケットを作成するときは、プロジェクト名が指定されていることを確認してください。これが失敗した場合は、Developers Consoleで手動でバケットを作成し、Eclipseでバケットを使用することをおすすめします。 –

-2

私はgsutilを使って特定のaclコマンドを使う必要があることに気づきました。私のアカウントに所有者権限を持たせるように設定しても、その仕事はできませんでした。代わりに使用して:

gsutilのACL設定公開読み書きGS://私のバケット名-ここ

は、この場合で働いていました。これが誰かを助けることを願って!

+1

あなたは 'public-read-write'をプロジェクトの編集者には書き込みアクセス権とサービスアカウントが必要ですが、編集者の1人として認証する必要があります。 –