如何使用 Databricks 的共享访问签名连接和读取/写入 Azure ADLS Gen2 或 Blob 存储

How to connect and read/write to Azure ADLS Gen2 or Blob Store using Shared Access Signature with Databricks

提问人:Patterson 提问时间:11/17/2023 最后编辑:Patterson 更新时间:11/17/2023 访问量:49

问:

我为我的 Azure 存储帐户创建了 SAS 密钥,请参见下图。

有人可以告诉我如何使用下面列出的密钥之一通过 Databricks 连接到存储帐户吗:

enter image description here

我尝试了建议的答案,但是出现以下错误

[enter image description here

任何想法

enter image description here

下面显示了我使用的 SAS 令牌,但仍然收到错误enter image description here

databricks azure-databricks databricks-connect

评论


答:

2赞 JayashankarGS 11/17/2023 #1

复制 SAS 令牌并使用以下代码。

spark.conf.set("fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net", "SAS")
spark.conf.set("fs.azure.sas.token.provider.type.<storage-account>.dfs.core.windows.net", "org.apache.hadoop.fs.azurebfs.sas.FixedSASTokenProvider")
spark.conf.set("fs.azure.sas.fixed.token.<storage-account>.dfs.core.windows.net", "?sv=...SAS_token")

spark.read.csv('abfss://[email protected]/outfromVS.csv').display()

输出:

_c0 _c1
0 2016-07-28,CA,1,A,A1,7.92
1 2016-07-29,CA,1,A,A1,7.88
2 2016-07-30,CA,1,A,A1,8.0
3 2016-07-31,CA,1,A,A1,7.94
4 2016-08-01,CA,1,A,A1,8.0
5 2016-08-02,CA,1,A,A1,7.98
6 2016-08-03,CA,1,A,A1,7.99

有关详细信息,请参阅内容。

评论

0赞 Patterson 11/17/2023
嗨,@JayashankarGS,我尝试了您的建议,但是我已经用我收到的错误更新了问题。有什么想法吗?
0赞 Patterson 11/17/2023
我应该使用 或Blob service SAS URLSAS token
0赞 JayashankarGS 11/17/2023
需要给sas令牌。将路径更改为 not.dfs.core.windows.net.blob.core.windows.net
0赞 Patterson 11/17/2023
嗨,Jay,将路径更改为 .dfs.core.windows.net 奏效了。谢谢