当我在本地运行以下代码时,它可以工作,但是当我在 Azure Databricks 内部运行它时,它会永远挂起并且永远不会停止运行。我知道 endpoint
和 sasToken
是正确的,因为它在本地工作。但当我直接从 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/