无法将 Azure 连接到 Matillion

Unable to connect Azure to Matillion

我想从 Azure Blob 存储中获取文件并使用 Matillion ETL 工具将它们写入 Snowflake table。在 Matillion 中,默认为 AWS。 Azure 可用的文档非常少。我的 Matillion 帐户是通过 Snowflake 的合作伙伴连接帐户。

我尝试创建新项目并在其中选择了 Azure。然后在 Azure 中我创建了新的应用程序注册并从那里获取了客户端 ID 和密钥。但是,当我在 Matillion 中输入所有这些信息时,它显示 - Blob 存储:检查凭据。

我附上快照以供参考。

请告诉我如何将 Azure 连接到 Matillion。

我相信借助 Snowflake Partner Connect 上的 Matillion ETL,您总能获得 AWS 托管的实例。因此,您不会像直接通过 Matillion 本身启动 Azure 托管的 Matillion ETL 实例那样找到 Azure Blob 存储加载组件。

相反,您需要执行两个步骤:

  1. 使用数据传输组件将文件从 Azure Blob 存储复制到 AWS S3 存储桶
  2. 使用 S3 加载组件将数据从 S3 复制到 Snowflake

数据传输组件必须以某种方式在 Azure 中进行身份验证,因此有一个先决条件(看起来您已经开始了)

转到“项目/管理凭据”对话框,并创建一个新的 Azure 用户定义的凭据...

...设置

  • Tenant ID:您可以从 Azure Active Directory 中找到并查看基本信息
  • 客户端 ID:来自您的应用注册
  • 密钥:来自应用程序注册中的“证书和机密”
  • 加密类型是指 Matillion ETL 存储密码的方式。如果您有主密钥,则可以使用编码或 KMS。

必须确保在按测试时收到“Blob 存储:成功”消息。看来你就是卡在这一步了。

仅当您已授予贡献者访问至少一个存储帐户的权限时,测试才会通过。您可以从存储帐户下的 Azure 控制台/您的存储帐户/访问控制 (IAM)/授予对此资源的访问权限/添加角色分配

授予贡献者 对由上述凭据标识的应用程序注册的访问权限。

设置新的 Azure 用户定义的凭据后,在 Matillion ETL UI 中,您需要转到您的环境(左下角)并将 Azure 凭据设置为您的新凭据,如下所示。

完成后,创建一个数据传输组件

  • 将源类型设置为 Azure Blob 存储,然后按 Blob 位置上的浏览按钮 属性。它应该列出应用注册已被授予访问权限的所有存储帐户(下面的屏幕截图中只有一个)
  • 找到您要加载的 blob
  • 将目标类型设置为 S3,然后选择目标对象名称和目标 URL

运行 数据传输组件,用于将文件从 Azure 存储复制到 S3 存储。之后,您将能够使用 S3 加载组件将数据从 S3 复制到 Snowflake。