azure - 如何直接从 Azure Databricks Notebook 读取 Azure Blob 存储文件

标签 azure scala apache-spark azure-blob-storage databricks

当我在本地运行以下代码时,它可以工作,但是当我在 Azure Databricks 内部运行它时,它会永远挂起并且永远不会停止运行。我知道 endpointsasToken 是正确的,因为它在本地工作。但当我直接从 Azure Databricks Notebook 运行它时,它不起作用。有什么想法吗?

import com.azure.storage.blob.BlobClientBuilder
import java.io.InputStream

val input: InputStream = new BlobClientBuilder()
      .endpoint(s"https://<storage-account>.blob.core.windows.net")
      .sasToken("<sas-token>")
      .containerName("<container-name>>")
      .blobName("<blob-name>")
      .buildClient()
      .openInputStream()

最佳答案

确保检查安全传输是否启用。转到azure存储帐户->设置转到配置,您将找到安全传输。如果没有,请启用它。安全传输仅允许通过安全连接向存储帐户发出请求,从而确保您的存储帐户的安全。

Is there any alternative options available ?

有不同的替代选项可用:直接从 Azure Databricks Notebook 读取 Azure Blob 存储文件。

关于azure - 如何直接从 Azure Databricks Notebook 读取 Azure Blob 存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72751120/

相关文章:

apache-spark - 替换深层嵌套模式 Spark Dataframe 中的值

Azure DSC,无法加载模块 xPSDesiredStateConfiguration

azure - 如何在门户中将参数传递给 Azure CosmosDB 中的存储过程

.net - Azure 上托管的 HTTPS WCF 配置问题

scala - 避免加入Spark Scala DataFrame

apache-spark - Spark :org. apache.spark.shuffle.FetchFailedException : java. lang.RuntimeException:执行器未注册

java.io.InvalidClassException : local class incompatible - Apache Spark Submit issue for more than one worker

azure - hdinsight pig 作业提交 502 错误

scala - 我如何单元测试/模拟 ElasticSearch

scala - 创建一个 scala 函数来定义 Gatling HTTP 请求链