Azure Cloud Storage | Qlik Cloud帮助
跳到主要内容 跳到补充内容

Azure Cloud Storage 

Azure Cloud Storage 是 Microsoft 针对非结构化数据(包括文本、二进制文件、媒体、日志和应用程序备份)的托管对象存储服务。它支持热、冷和归档访问层,提供异地冗余复制,并与 Microsoft Entra ID(以前称为 Azure Active Directory)集成以实现安全的访问控制。

Qlik Talend Cloud 使用对目标存储帐户容器具有读取访问权限的 Microsoft Entra ID 应用程序(服务主体)连接到 Azure Cloud Storage。该连接器从指定的容器中检索文件,通过对文件内容进行采样自动发现模式,并根据文件修改时间戳执行增量数据复制。

准备身份验证

要访问您的数据,您需要使用您的帐户凭据对连接进行身份验证。

信息注释请确保您使用的帐户对要获取的表具有读取权限。

要设置您的 Azure Cloud Storage 帐户,您需要:

  • 具有 Azure Storage 帐户的 Azure 订阅。
  • 存储帐户中包含要复制的文件的 blob 容器。
  • 具有客户端密码的 Microsoft Entra ID 应用程序注册。
  • 分配给应用程序服务主体的 Storage Blob Data Reader 角色,范围限定为存储帐户或特定容器。这是建议用于只读访问的最低权限角色。

要注册 Microsoft Entra ID 应用程序并检索您的凭据:

  1. 登录您的 Azure 帐户。
  2. 导航到 Microsoft Entra ID > 应用注册 > 新注册
  3. 输入您的应用程序的以下信息:
    • 名称:输入名称,例如 QlikDataIntegration
    • 支持的帐户类型:选择 仅此组织目录中的帐户
  4. 单击 注册
  5. 在应用程序 概述 页面上,复制 应用程序(客户端) ID目录(租户) ID,并将它们保存到安全文件中。
  6. 导航到 证书和密码 > 客户端密码 > 新客户端密码
  7. 输入描述并选择客户端密码的过期时间。
  8. 单击 添加
  9. 复制您的客户端密码值并将其保存到安全文件中。
  10. 在 Azure 门户中,打开您的存储帐户,然后导航到 访问控制 (IAM) > 添加 > 添加角色分配
  11. 选择 Storage Blob Data Reader 角色,并将此角色分配给您刚刚注册的应用程序。
  12. 单击 保存

支持的文件格式

  • 带分隔符的文本文件:.csv.tsv.psv.txt(具有可配置的分隔符)
  • JSON Lines:.jsonl
  • Parquet:.parquet
  • Avro:.avro
  • Excel:.xlsx(支持每个工作簿有多个工作表;每个工作表的行都会被复制,并且工作表名称会附加到 _sdc_source_file 列)
  • Gzip 压缩文件:.gz(包含上述任何格式)

创建连接

有关更多信息,请参阅连接到 SaaS 应用程序

  1. 填写所需的连接属性。
  2. 连接名称中提供连接的名称。

  3. 选择打开连接元数据以定义创建连接时的元数据。

  4. 单击创建

连接设置
设置 描述
数据网关

如果您的用例需要,请选择一个 数据移动网关

信息注释

此字段不适用于 Qlik Talend Cloud Starter 订阅,因为它不支持 数据移动网关。如果您有另一个订阅层并且不想使用 数据移动网关,请选择

有关 数据移动网关 的优势和需要它的用例的信息,请参阅Qlik 数据网关 - 数据移动

开始日期

按格式 MM/DD/YYYY 输入必须将数据从源复制到目标的日期。

存储帐户名称 Azure Storage 帐户的名称,例如 mystorageaccount,不带 https://.blob.core.windows.net
容器名称 Blob 容器名称,例如 my-container
租户 ID 租户 ID。
表配置决定了读取哪些文件以及如何解释其内容。每个表定义都包含文件搜索模式、表名称以及用于自定义文件处理的可选设置。
客户端 ID 客户端 ID。
客户端密码 客户端密码。

表配置

表配置中的每个条目代表一个从容器中的文件派生的逻辑表。可以为每个表配置以下属性:

属性 必需或可选 描述
表名称 必需 指定逻辑表的名称(例如,my_orders_csv)。这将成为 Qlik Talend Cloud 中的数据流名称。
搜索模式 必需 提供用于匹配文件名的正则表达式(例如,.*\.csv$ 匹配所有 CSV 文件)。如果提供了指定目录,则将其应用于容器或指定目录中的文件名。
目录 可选 在容器内输入文件夹路径前缀以缩小文件搜索范围(例如,exports/orders/)。通过限制扫描的文件来提高性能。这不是正则表达式。
主键 可选 定义用作主键的逗号分隔列名列表(例如,idid,date)。对于 CSV 文件,使用标题字段名称;对于 JSONL 文件,使用顶级对象键。留空以使用全表复制。填充以启用基于文件修改时间的增量复制。
指定日期时间字段 可选 列出要视为日期时间字段的列名(以逗号分隔),即使在模式发现期间未自动检测到(例如,created_atupdated_at)。
分隔符 可选 指示带分隔符的文本文件的字段分隔符。默认值为 ,(逗号)。对于 TSV 文件使用 \t,对于 PSV 文件使用 |。如果未指定,则根据文件扩展名自动检测分隔符。
  • .jsonl.csv 文件配置为单独的表,以确保准确的模式处理和数据一致性。
  • 确保所有匹配搜索模式的 .csv 文件都包含具有相同列名和顺序的一致标题行。
  • 在为每个表定义的所有 .jsonl 文件中使用一致的对象属性键。键名和结构应保持一致,以实现可靠的模式检测。

复制的表

表在您提供的表配置中定义。每个表对应于 blob 容器中与指定搜索模式以及(如果适用)目录前缀匹配的一组文件。连接器通过对每个表最多五个文件进行采样、读取每第五行并分析每个文件最多 1,000 条记录来发现表模式。

配置主键后,复制将使用基于文件修改时间戳的增量方法。在每次提取期间,将处理在上次同步书签之后修改的文件。如果未指定主键,则在每次运行时都会完全复制整个表。

默认情况下,以下系统列将添加到每个表中:

描述
_sdc_source_container 记录来源的 Azure blob 容器的名称。
_sdc_source_file 包含记录的文件的完整路径。对于 Excel 文件,将附加工作表名称(例如,exports/q1.xlsx/Sheet1)。
_sdc_source_lineno 文件内记录的行号。
_sdc_extra 解析出的与发现的模式不匹配的额外字段(仅限 .jsonl 文件)。

限制和注意事项

  • 存储帐户名称作为裸名称提供,而不是 URL。
  • 支持 Gzip 压缩文件(.gz)。连接器从 gzip 标头读取原始文件名以确定内部文件格式。使用 --no-name(标头中没有文件名)创建的 Gzip 文件将被跳过。
  • 将检查具有 .csv.txt.tsv.psv.jsonl 扩展名的文件的 gzip 魔术字节,并透明地解压缩,即使该文件没有 .gz 扩展名也是如此。
  • 不支持嵌套压缩(例如,一个 .gz 文件在另一个 .gz 文件内),并且会被跳过。
  • 搜索模式 字段使用正则表达式语法,而不是 glob 模式(例如,使用 .*\.csv$ 而不是 *.csv)。
  • 没有可识别扩展名的文件将被跳过,并发出警告。
  • 连接器包含内置的重试逻辑,针对 Azure API 速率限制 (HTTP 429) 和瞬态服务器错误(HTTP 500、502、503、504)采用指数退避,最多尝试五次。
  • 文件编码应为 UTF-8。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!