使用/mnt将数据从Azure Blob存储读取到Azure Databrick/

使用/mnt将数据从Azure Blob存储读取到Azure Databrick/,azure,pyspark,databricks,azure-databricks,Azure,Pyspark,Databricks,Azure Databricks,我已经成功地将blob存储装载到Databricks,并且在运行dbutils.fs.ls(“/mnt/”)时可以看到定义的装载点。这有size=0-不清楚这是否是预期的 当我尝试运行dbutils.fs.ls(“/mnt/”)时,出现以下错误: 未找到java.io.FileNotFoundException: 当我尝试用dbutils.fs.put(“/mnt//1.txt”,“Hello,World!”,True)将一个简单文件写入我装载的blob时,我得到以下错误(为了可读性而缩短):

我已经成功地将blob存储装载到Databricks,并且在运行
dbutils.fs.ls(“/mnt/”)
时可以看到定义的装载点。这有
size=0
-不清楚这是否是预期的

当我尝试运行
dbutils.fs.ls(“/mnt/”)
时,出现以下错误: 未找到
java.io.FileNotFoundException:

当我尝试用
dbutils.fs.put(“/mnt//1.txt”,“Hello,World!”,True)
将一个简单文件写入我装载的blob时,我得到以下错误(为了可读性而缩短):

所有数据都在Blob容器的根目录中,因此我没有在
dbutils.fs.mount
code中定义任何文件夹结构


思考表情符号这里的解决方案是确保您使用的是共享访问签名(SAS)的“正确”部分。生成SAS时,您会发现它有许多不同的部分可供使用-它可能作为一个长连接字符串发送给您,例如:

BlobEndpoint=https://<storage-account>.blob.core.windows.net/;QueueEndpoint=https://<storage-account>.queue.core.windows.net/;FileEndpoint=https://<storage-account>.file.core.windows.net/;TableEndpoint=https://<storage-account>.table.core.windows.net/;SharedAccessSignature=sv=<date>&ss=nwrt&srt=sco&sp=rsdgrtp&se=<datetime>&st=<datetime>&spr=https&sig=<long-string>

这也适用于我,我正在使用连接字符串,但切换到SAS令牌,并从一开始就删除了
BlobEndpoint=https://<storage-account>.blob.core.windows.net/;QueueEndpoint=https://<storage-account>.queue.core.windows.net/;FileEndpoint=https://<storage-account>.file.core.windows.net/;TableEndpoint=https://<storage-account>.table.core.windows.net/;SharedAccessSignature=sv=<date>&ss=nwrt&srt=sco&sp=rsdgrtp&se=<datetime>&st=<datetime>&spr=https&sig=<long-string>
sv=<date>&ss=nwrt&srt=sco&sp=rsdgrtp&se=<datetime>&st=<datetime>&spr=https&sig=<long-string>