2017-05-18 16 views
0

HDInsightクラスタからアクセスタイプ「Blob」のコンテナ内のBLOBにアクセスしようとしています。しかし、私はやるとき: -HDInsightクラスタからアクセスタイプ「Blob」のコンテナ内のBLOBにアクセスできません

HadoopのFS -text wasb://[email protected]***.blob.core.windows.net/file.csv

私は次の例外を取得:

org.apache.hadoop.fs.azure.AzureException:コンテナ** in account ** .blob.core.windows.netが見つかりません。不正な資格情報を使用して作成できません。構成。

これは予想される動作で、アクセスタイプ "Blob"でアクセスできません。しかし、これはアクセスタイプが "コンテナ"の場合に有効です。ストレージアカウントがクラスタにリンクされていない、つまりクラスタ内のデフォルトまたは追加のストレージアカウントとして設定されていないことに注意してください。

答えて

0

これは許可の問題です。このストレージアカウントを追加のストレージアカウントとしてクラスタに追加する必要があります。

0

これは予想された動作で、アクセスタイプ "Blob"でアクセスできません。

アクセスタイプが「Blob」のコンテナでは、BLOBからデータを読み取るだけでは問題ありません。

コンテナのアクセスタイプがの場合は、コンテナ内のブロブに対して読み取り専用のアクセス権を持ちます。。紺野tutorialから詳しい情報を得ることができます。

クラスタに接続されているストレージアカウント内のコンテナ:アカウント名とキーは作成時にクラスタに関連付けられているため、これらのコンテナ内のブロブに完全にアクセスできます。 クラスタに接続されていないストレージアカウントのパブリックコンテナまたはパブリックブロブ:コンテナ内のブロブに対する読み取り専用アクセス許可を持っています。 注

公共コンテナコンテナ)を使用すると、そのコンテナで利用可能なすべてのブロブのリストを取得し、コンテナのメタデータを取得することができます。

公共の塊ブロブ)あなたは、正確なURLを知っている場合にのみ、ブロブをアクセスすることを可能にします。詳細については、Restrict access to containers and blobsを参照してください。

あなたが言及した例外によると、私はあなたが容器の中に、このようなリストBLOBとしてコンテナを行うには他の操作を持っているか、これらの操作は、コンテナで許可されていないなど、コンテナのメタデータを得ることができますことを前提としていアクセスタイプブロブですが、コンテナタイプコンテナで許可されています。

+0

これはhadoopの読み込みコマンドで、HDInsightがアクセスタイプ "Blob"で動作すると言えば、HDInsightはHDInsightがそれを読み取ることができるはずです。HDIsightのAPIがコンテナから多少の情報を得ようとしていることがその1つの原因かもしれません。それが失敗した理由です。 – Harinder

関連する問題