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

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

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

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

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

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

    此处的 SAS token 、Blob、文件、队列、文件 URL - 请参阅 enter image description here

    如何使用上述 SAS 凭证(例如 core-site.xml 中的存储访问 key )或应在我的应用程序中使用它?

    最佳答案

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

    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

    因此,如果您想使用HDFS API访问HDInsight上的资源,请检查Hadoop的身份验证配置,以了解可以使用哪种身份验证方式。或者您也可以直接使用 Azure Storage Client SDK for Java 和帐户 key 或 SAS token 来访问这些资源。

    关于java - 如何使用java中的身份验证方法连接Azure VM上的WASB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41391006/

    相关文章:

    reactjs - 无法验证 : Azure authentication in React app

    java - 添加堆栈但不单独添加

    Java:如何读取文件并获取值出现的次数?

    asp.net-mvc - 在进行开发之前我必须考虑 Azure 的影响吗?

    Azure SQL 托管实例

    python - Python 中的 Google 身份验证器实现

    javascript - 使用 ADAL JS 进行身份验证未按预期运行

    java - 使用 Java Mail API 读取邮件内容

    java - 如何在 Swing 中为 JTable 提供分页支持?

    azure - ASP.NET Core token 获取异常