当前位置: 首页 > 知识库问答 >
问题:

Azure数据仓库的Azure blob存储网络规则(Ip)

苍宜修
2023-03-14

我需要使用Polybase将外部数据(在blob存储中)加载到我的Azure数据仓库。当我使用经典Azure存储时,它运行良好。

最近,我必须将我们的存储更新到ARM,我不知道如何将ARM存储上的防火墙规则设置到我的Azure数据仓库。如果我将防火墙设置为“所有网络”,一切都可以无缝运行。但是,我不能让blob大开。

我尝试使用nslookup为我们的Azure数据仓库查找出站ip,并将值放入存储防火墙;我得到“此请求未被授权执行此操作。”错误

有没有办法找到Azure数据仓库的IP地址?或者我应该使用不同的方法来使其工作?

欢迎提出任何建议。

凯文

共有1个答案

呼延臻
2023-03-14

在第1.1节“创建凭证”下,它指出:

如果您将本教程用作加载自己数据的模板,请不要跳过此步骤。要通过凭据访问数据,请使用以下脚本创建数据库范围的凭据,然后在定义数据源位置时使用它。

  -- A: Create a master key.
-- Only necessary if one does not already exist.
-- Required to encrypt the credential secret in the next step.

CREATE MASTER KEY;


-- B: Create a database scoped credential
-- IDENTITY: Provide any string, it is not used for authentication to Azure storage.
-- SECRET: Provide your Azure storage account key.


CREATE DATABASE SCOPED CREDENTIAL AzureStorageCredential
WITH
    IDENTITY = 'user',
    SECRET = '<azure_storage_account_key>'
;


-- C: Create an external data source
-- TYPE: HADOOP - PolyBase uses Hadoop APIs to access data in Azure blob storage.
-- LOCATION: Provide Azure storage account name and blob container name.
-- CREDENTIAL: Provide the credential created in the previous step.

CREATE EXTERNAL DATA SOURCE AzureStorage
WITH (
    TYPE = HADOOP,
    LOCATION = 'wasbs://<blob_container_name>@<azure_storage_account_name>.blob.core.windows.net',
    CREDENTIAL = AzureStorageCredential
);

编辑:(通过使用SAS从ADW访问blob的其他方式):

您还可以使用共享访问签名创建与存储链接的服务。它为数据工厂提供了对存储中所有/特定资源(blob/容器)的受限/限时访问。

共享访问签名提供对存储帐户中资源的委派访问。您可以使用共享访问签名在指定时间内向客户端授予对存储帐户中的对象的有限权限。您不必共享您的帐户访问密钥。共享访问签名是一个URI,在其查询参数中包含对存储资源进行身份验证访问所需的所有信息。要使用共享访问签名访问存储资源,客户端只需将共享访问签名传递给适当的构造函数或方法。有关共享访问签名的更多信息,请参阅共享访问签名:了解共享访问签名模型。完整文档可在此处找到

 类似资料:
  • 我正在尝试使用 azure databricks scala 将数据从 blob 存储加载到 SQL 数据仓库中。 我收到这个错误 潜在的SQLException:-com.microsoft.sqlserver.jdbc.SQLServerException:由于内部错误,外部文件访问失败:“访问HDFS时发生错误:Java调用HdfsBridge_IsDirExist时引发的异常。Java异常

  • 我目前正在与一个客户合作,该客户要求尽可能多地锁定所有Azure资源的访问权限,我对Azure功能使用的存储帐户有问题。 在门户中的防火墙和虚拟网络刀片设置为“所有网络”后,我可以部署到功能应用程序,它运行时不会出现问题。 然而,一旦我通过检查“选定网络”启用访问限制,无论我输入的是什么虚拟网络子网或IP地址,我都无法使通信正常工作 我已经输入了我们基于消费的功能应用程序的出站IP地址,还检查了P

  • 我使用Firebase,确切地说是一个实时数据库,我不知道应该设置什么规则。我制定了以下规则: 但现在每个人都可以写作了。当我设置这些: 使用Gmail的用户无法登录,因为数据库中的记录没有创建,但不是在所有设备上。当我在OnePlus上测试时,一切都很好,当我在三星上测试时,数据库中的记录没有创建。这是我负责创建用户的代码:

  • 只是一个关于如何实现多个Firebase存储安全规则的简短问题。 事实上,我想限制可以上传的文件的大小,但保留我的认证规则。 我一直在阅读上一篇文章,它给了我一个关于如何限制每个文件的上传大小的提示,但我仍然在努力实现“匹配/files/{fileName}”与身份验证规则的某个地方。 经过多次尝试,这是我在写这篇文章之前的最后一次迭代: 当然,我确实阅读了官方文档,但似乎我仍然无法正确理解。

  • 我试图将一个Azure Blob存储容器挂载到一个DataBricks实例上,虽然挂载确实有效,但它似乎没有使用存储容器。 我在这里漏掉了什么?