如何在java中使用身份验证方法在Azure VM上连接WASB

时间:2016-12-30 05:19:21

标签: java azure authentication azure-active-directory hdinsight

目前我在Azure VM中运行我的应用程序,该用户名为hdfs,连接到HDInsight Spark群集。

我创建了HDInsight Spark群集,其主存储类型为Azure存储别名WASB。

我相信以下方法可用于验证WASB存储: -

  1. Storage Access Keys - 我从Azure存储帐户获取存储密钥,并在core-site.xml中使用如下
  2.   <property>
        <name>fs.azure.account.key.StorageAccountName.blob.core.windows.net</name>
         <value>Storage access key here</value>
      </property>
    
    1. Shared Access Signature -
    2. SAS令牌生成表单 - 请参阅enter image description here

      SAS令牌,Blob,文件,队列,文件网址 - 请参阅enter image description here

      如何使用上述SAS凭据,例如core-site.xml中的存储访问密钥,或者应该在我的应用程序中使用它的位置?

1 个答案:

答案 0 :(得分:1)

根据以下官方文档,您可以使用java库hadoop-azure&amp;使用Azure Blob存储的帐户密钥或SAS azure-storage访问HDInsight文件系统上的资源网址wasb[s]://<containername>@<accountname>.blob.core.windows.net/<path>hdfs://<namenodehost>/<path>

  1. Hadoop Azure Support: Azure Blob Storage
  2. Use HDFS-compatible Azure Blob storage with Hadoop in HDInsight
  3. Use Azure Storage Shared Access Signatures to restrict access to data with HDInsight
  4. 因此,如果您想使用HDFS API访问HDInsight上的资源,请检查Hadoop的身份验证配置,以了解可以使用哪种身份验证方式。或者,您还可以直接使用Azure Storage Client SDK for Java和帐户密钥或SAS令牌来访问这些资源。