跳到主要内容 跳到补充内容

Amazon S3  

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,具有业界领先的可扩展性、数据可用性、安全性和性能。

准备身份验证

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

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

要连接Amazon S3 ,您需要 AWS Identity Access Management (IAM) 中允许您创建策略、创建角色并将策略附加至角色的权限。这是向您的 S3 存储段授予授权所必需的:

创建 IAM 策略。

IAM 策略是一种基于 JSON 的访问策略语言,用于管理存储段资源的权限。

亚马逊 S3 权限
权限名称 运算 描述
s3:GetObject GET 对象

允许从 Amazon S3 检索对象。

s3:GetObjectHEAD 对象

允许检索对象的元数据,而不返回对象本身。

s3:ListBucket GET 存储段(列表对象)

允许返回存储段中的部分或全部(最多 1000 个)对象。

s3:ListBucket HEAD 存储段

用于确定存储段是否存在并允许访问。

创建 IAM 策略:

  1. 在 AWS 中 ,导航至 IAM 服务,方法是单击 服务 菜单并键入IAM
  2. 显示结果后,单击 IAM
  3. 单击页面左侧菜单中的策略
  4. 单击创建策略
  5. 创建策略页面,单击JSON选项卡。
  6. 选择文本字段中的所有内容并删除。
  7. 在文本字段中,粘贴以下 JSON,并用存储段的名称
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "",
                "Effect": "Allow",
                "Action": [
                "s3:GetObject",
                "s3:ListBucket"
                ],
                "Resource": [
                "arn:aws:s3:::MyBucketName",
                "arn:aws:s3:::MyBucketName/*"
                ]
            }
        ]
    }
    替换MyBucketName
  8. 单击审查策略
  9. 审查策略页面,为策略命名。例如:qlik_amazon_s3
  10. 单击创建策略

创建 IAM 角色

信息注释

要完成此步骤,您需要以下 AWS IAM 权限:CreateRoleAttachRolePolicy。有关更多信息,请参阅亚马逊的文档

如果要创建多个 Amazon S3 集成,则需要为连接的每个集成完成此步骤。

  1. 在 AWS 中,导航至 IAM 角色页面。
  2. 单击创建角色
  3. 创建角色页面:
    1. 选择受信任实体类型部分,单击另一个 AWS 帐户选项。
    2. 帐户 ID 字段中,粘贴 338144066592
    3. 选项部分,选择要求外部 ID 复选框。
    4. 在显示的外部 ID字段中,粘贴 qlik_connection_<tenant-id> 并用您的租户 ID 替换 <tenant-id>

      要查找您的租户 ID,请参阅查找租户信息

    5. 单击下一步:权限
  4. 附加权限页面:
    1. 搜索在创建 IAM 策略中创建的策略。
    2. 找到位置后,在表格中勾选其旁边的框。
    3. 单击下一步:标签
  5. 如果要输入任何标签,请在添加标签页面输入。否则,请单击下一步:审查
  6. 审查页面上:
    1. 角色名称字段中,粘贴 qlik_s3_<tenant-id> 并用您的租户 ID 替换 <tenant-id>

      要查找您的租户 ID,请参阅查找租户信息

    2. 角色描述字段中输入描述。例如:Qlik role for Amazon S3 integration.
    3. 单击创建角色

定义搜索模式

搜索模式字段定义了 Qlik 在选择和复制文件时应使用的搜索条件。该字段接受正则表达式,可用于包含单个文件或多个文件。

创建搜索模式时,请注意:

  • 当为单个表包含多个文件时,每个文件应具有相同的标题行值。
  • 句点 (.) 等特殊字符在正则表达式中具有特殊含义。为了完全匹配,需要对它们进行转义。例如:.\
  • Qlik 对于正则表达式使用 Python,其语法可能与其他类型不同。在保存集成之前,请尝试使用 PyRegex 测试您的表达式。
  • 搜索模式应考虑文件中数据的更新方式。请看这些例子:
场景 单个文件,定期更新 多个文件,每天生成
如何进行更新 一个 JSONL 文件会定期用新的和已更新的客户数据更新。 每天都会创建一个新的 CSV 文件,其中包含新的和更新的客户数据。旧文件在创建后永不会更新。
文件名 customers.jsonl customers-[STRING].csv,其中 [STRING] 是一个唯一的随机字符串
搜索模式

因为文件永远只会有一个,您可以在 S3 存储段中输入文件的准确名称:

customers\.jsonl

为确保识别出新的和更新的文件,您需要输入一个搜索模式,匹配以 customers 开头的所有文件,而不用考虑文件名中的字符串是什么:

(customers-).*\.csv
精确匹配 customer.jsonl
  • customers-reQDSwNG6U.csv
  • customers-xaPTXfN4tD.csv
  • customers-MBJMhCbNCp.csv
  • 等。

文件要求

第一行标题(仅限 CSV 文件)
  • 每个文件都必须有一个包含列名的首行标题。搜索模式应考虑文件中数据的更新方式。
  • 如果表中包含多个文件,则为具有相同第一行标题值的文件。Amazon S3 集成允许您将多个文件映射到单个目标表。表头行值用于确定表的模式。为了获得最佳结果,每个文件都应该具有相同的标题行值。

    这与配置多个表不同。有关示例,请参阅定义搜索模式

文件类型
  • CSV (.csv)
  • Text (.txt)
  • JSONL (.jsonl)
压缩类型

必须正确压缩这些文件,否则在解压时会出现错误。

  • gzip 压缩文件 (.gz)
分隔符(仅限 CSV 文件)
  • 逗号 (,)
  • 制表符 (/t)
  • 管道 (|)
  • 分号 (;)
字符编码

UTF-8

创建连接

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

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

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

  4. 单击创建

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

如果您的用例需要,请选择一个 Data Movement gateway

信息注释

此字段不适用于 Qlik Talend Cloud Starter 订阅,因为它不支持 Data Movement gateway。如果您有另一个订阅层并且不想使用 Data Movement gateway,请选择

有关 Data Movement gateway 的优势和需要它的用例的信息,请参阅Qlik Data Gateway - Data Movement

开始日期

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

S3 存储段 S3 存储段的名称。
AWS 帐户 ID

AWS 中的外部 ID。请参阅准备身份验证

模式为:qlik_connection<tenant-id>

搜索模式 输入要包含在表格中的文件。您可以输入单个文件名或正则表达式。

示例:users\*.csvproducts\*.jsonl

目录 限制在此目录路径中的搜索。定义后,将只搜索此位置的文件,并选择与搜索模式匹配的文件。不能使用正则表达式。

例如:csv-exports-folderemployee_jsonl_exports

表格配置

通过指定要包含的文件来配置表格。

您可以配置多个表格。

表格名称 表格名称

每个目标都有自己的表命名规则。例如,Amazon Redshift 表名不能超过 127 个字符。

主键 输入主键以标识唯一的行或记录。当您输入多个键时,请使用逗号分隔值。
  • 对于 CSV 文件,请输入标题字段或列名。
  • 对于 JSONL 文件,请输入属性名或对象键。

例如:id、name

指定日期时间字段 在表中输入必须显示为日期时间而不是字符串的值。

例如:created_at、modified_at

分隔符 从下拉列表中选择分隔符。

本页面有帮助吗?

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