Azure 无法访问访问类型为“的容器中的blob”;Blob";从我的HDInsight群集

Azure 无法访问访问类型为“的容器中的blob”;Blob";从我的HDInsight群集,azure,azure-storage,azure-storage-blobs,azure-hdinsight,Azure,Azure Storage,Azure Storage Blobs,Azure Hdinsight,我正试图从我的HDInsight群集访问访问类型为“blob”的容器中的blob。但是当我做一个- hadoop fs-文本wasb://myconatiner@***.blob.core.windows.net/file.csv 我得到以下例外情况: org.apache.hadoop.fs.azure.AzureException:在帐户**.blob.core.windows.net中找不到容器**,我们无法使用匿名凭据创建它,并且在配置中找不到它们的凭据 那么,这是一种预期的行为,而我无

我正试图从我的HDInsight群集访问访问类型为“blob”的容器中的blob。但是当我做一个-

hadoop fs-文本wasb://myconatiner@***.blob.core.windows.net/file.csv

我得到以下例外情况:

org.apache.hadoop.fs.azure.AzureException:在帐户**.blob.core.windows.net中找不到容器**,我们无法使用匿名凭据创建它,并且在配置中找不到它们的凭据


那么,这是一种预期的行为,而我无法使用访问类型“Blob”访问它吗?但是,如果访问类型为“Container”,则此操作有效。请注意,我的存储帐户未与群集链接,即它未配置为群集中的默认或附加存储帐户。

这是权限问题。您需要将此存储帐户作为附加存储帐户添加到群集

那么,这是一种预期的行为,而我无法使用访问类型“Blob”访问它吗

如果只是在访问类型为“blob”的容器中读取blob中的数据,这不是预期的行为

如果容器访问类型为blob,则它将对容器中的blob具有只读权限。我们可以从azure获取更多信息

存储帐户中连接到群集的容器:由于帐户名和密钥在创建期间与群集关联,因此您可以完全访问这些容器中的Blob。 未连接到群集的存储帐户中的公共容器或公共Blob:您对容器中的Blob具有只读权限。 注

公共容器容器)允许您获取该容器中可用的所有blob的列表,并获取容器元数据

公共BlobBlob)只允许您在知道确切URL的情况下访问Blob。有关详细信息,请参阅


根据您提到的例外情况,我假设您可能有其他与容器相关的操作,例如在容器中列出Blob获取容器元数据等。容器访问类型Blob不允许这些操作,但允许使用容器类型容器

这是hadoop的read命令,如果他们说HDInsight将与访问类型“Blob”一起工作,那么HDInsight应该能够读取它。有一件事可能是hadoop HDInsight的API试图从容器中获取更多信息,这就是它失败的原因。