Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure Databricks:访问防火墙后的Blob存储_Azure_Firewall_Azure Blob Storage_Azure Databricks - Fatal编程技术网

Azure Databricks:访问防火墙后的Blob存储

Azure Databricks:访问防火墙后的Blob存储,azure,firewall,azure-blob-storage,azure-databricks,Azure,Firewall,Azure Blob Storage,Azure Databricks,我正在从Azure Databricks笔记本读取Azure Blob存储帐户(gen 2)上的文件。这两项服务都在同一地区(西欧)。一切正常,除了在存储帐户前面添加防火墙。我已选择允许“受信任的Microsoft服务”: 但是,现在运行笔记本会出现访问被拒绝错误: com.microsoft.azure.storage.StorageException: This request is not authorized to perform this operation. 我试图直接从Spar

我正在从Azure Databricks笔记本读取Azure Blob存储帐户(gen 2)上的文件。这两项服务都在同一地区(西欧)。一切正常,除了在存储帐户前面添加防火墙。我已选择允许“受信任的Microsoft服务”:

但是,现在运行笔记本会出现访问被拒绝错误:

com.microsoft.azure.storage.StorageException: This request is not authorized to perform this operation.
我试图直接从Spark访问存储器,并用
dbutils
挂载它,但事情是一样的


我会假设Azure Databricks算作一个受信任的Microsoft服务?此外,我找不到可添加到防火墙规则中的Databricks区域IP范围的可靠信息。

是的,Azure Databricks不算作受信任的Microsoft服务,您可以看到存储帐户防火墙支持的IP范围

通过网络,这里有两条建议:

  • 查找范围并查找Azure Databricks所在的区域。白名单存储帐户防火墙中的IP列表

  • 然后将存储帐户防火墙中的VNet地址范围列为白名单。您还可以参考,您有NSG来限制来自此Azure VNet的入站和出站流量。注意:您需要将Azure Databricks部署到您自己的VNet中


  • 希望这有所帮助。

    只有在您自己的Azure虚拟网络(vnet)中部署Azure Databricks时,所描述的场景才有效。这样,您就可以使用服务端点,从而可以将您的Databricks vnet添加到Blob存储中。对于默认部署,这是不受支持的,也是不可能的。 有关如何启用vnet注入功能的更多详细信息和说明,请参见以下内容


    启用上述异常不起作用,因为Azure DataRicks不在Blob存储的受信任服务列表中。请参阅以下内容,哪些服务在启用异常的情况下仍然可以访问存储帐户。

    好的,我将接受这个答案。不过,将IP地址白名单似乎需要大量维护,因此我们将了解如何使用VNET。谢谢。如果你想用VNet来做这件事,你需要将Azure数据块部署到你自己的VNet上。