# AWS S3 数据流

连接到您的 AWS S3 数据流，以在您的 Qlik Open Lakehouse 项目中用作数据源。AWS S3 数据流连接只能与流式登陆任务和流式转换任务一起使用。

与传统的 S3 批处理 ETL 不同，此实现将 S3 视为流式数据源，具有持续监控和近实时数据摄取功能。您可以配置数据流，以便在新文件到达时自动从 S3 存储段摄取数据。AWS S3 数据流使您能够配置来自 S3 的流式数据管道，包括文件模式匹配、架构配置和初始回填选项。该数据流持续监控 S3 并近乎实时（几分钟内）摄取新数据，非常适合组织数据，例如日志、事件、来自外部系统的导出或合作伙伴数据源。

## 先决条件

要创建与 AWS S3 数据流的连接，您需要满足以下条件：

* 如果您正在使用基于角色的身份验证访问存储段，您需要：

  * 访问您希望用于该连接的网络集成的权限。

  * ARN 角色，或者您可以在设置过程中创建一个。网络集成集群必须有权访问 ARN S3 账户。

* 如果您正在使用访问密钥身份验证连接到存储段，您需要：

  * 您的 AWS 访问密钥 ID。

  * 您的 AWS 秘文访问密钥。

## 设置 S3 数据流连接属性

信息注释当使用此Qlik Talend Data Integration连接器摄取数据时，请确保存储段名称和目录（如果提供）与Qlik Talend Data IntegrationAmazon S3目标端点中指定的名称和目录相同。

要配置您的 S3 连接，请执行以下操作：

1. 在连接中，单击创建连接。

2. 选择要创建连接的 空间，或选择 创建新数据空间。

3. 从 连接器 名称列表中选择 S3，或使用 搜索 框。确保 类型 为 源，类别 为 流式传输。

4. 在S3 存储段名称中，输入您的 S3 存储段的名称。

5. 可选。在S3 目录中，输入 S3 存储段中文件夹的名称。

6. 在身份验证类型中，选择连接方式并配置设置。

### 基于角色的

完成以下步骤以使用基于角色的身份验证。

#### 创建 ARN 角色

* 网络集成：从列表中选择网络集成。

* ARN 角色：输入在 AWS 中创建的 ARN 角色。这应采用以下格式：arn:aws:iam::{account number}:role/{role name}。

信息注释单击链接单击此处获取指导，以显示以下用于访问您的信任实体策略和创建角色 ARN 的说明。

#### 创建 AWS 角色

按照以下步骤创建 AWS 角色：

1. 创建角色

   * 在 AWS 控制台 中，转到 IAM。

   * 在角色中，单击创建角色并进行配置：

     * 受信任实体类型：选择自定义信任策略。

     * 声明：将创建 AWS 角色中创建的信任实体策略复制到 AWS 中的代码窗格中Qlik Cloud。

     * 创建角色。

2. 创建内联策略

   * 在AWS 控制台的角色中，点击您在步骤 1 中创建的角色。

   * 在权限策略中，点击添加权限 &gt; 创建内联策略。

   * 复制Qlik Cloud中的代码，并将其粘贴到AWS的策略中。

3. 复制 ARN 角色

   * 在 角色 页面中的 AWS 控制台 中，找到 摘要 部分中的 ARN 值。

   * 复制 ARN 并将其粘贴到 Qlik Cloud 中的 ARN 角色 中。

### 访问密钥

完成以下步骤以使用访问密钥验证您的连接：

* 访问密钥：输入您唯一的 AWS 访问密钥 ID 以用于身份验证。

* 秘密密钥：输入您的 AWS 秘密访问密钥以与您的访问密钥一起使用。

信息注释点击链接，单击此处获取指导，以显示有关为角色创建策略的以下说明。

1. 创建策略

   * 在 AWS 控制台 中，转到 IAM。

   * 导航到 策略&gt; 创建策略。

   * 在 Qlik Cloud 中，在 创建 AWS 角色 对话框中，复制策略。

   * 在 AWS 中，在策略编辑器中，粘贴策略。

2. 将新策略附加到用户

   * 将新策略附加到您要授予访问权限的用户。

### 创建连接

配置安全方法后，请完成以下步骤以创建连接：

* 在 名称 中，输入连接的显示名称，例如 My AWS S3 Streaming Source connection。

* 单击 测试连接 以验证凭据。

* 单击创建。

## 语法示例

| 语法 | 描述 | 示例 |
| --- | --- | --- |
| 文本 | 基于 AWS 命名 Amazon S3 对象准则的常规文本/字符串输入。 | s3://MyS3Bucket/MyDir/MyFile.csv |
| 通配符 | 一个 \* 字符，在路径/文件名中充当“通配符”。在路径中使用通配符会包含该路径下的所有文件夹和子文件夹。 | myS3Bucket/myDir/\*<br><br>myS3Bucket/myDir/\*.csv<br><br>myS3Bucket/myDir/\*\_customers.csv<br><br>myS3Bucket/regions/\*/\*\_customers.csv |
| 图案 | 日期模式语法指示文件名称中日期模式的位置。 | myS3Bucket/myDir/&lt;yyyy&gt;\_&lt;MM&gt;\_&lt;dd&gt;\_&lt;HH&gt;\_&lt;mm&gt;\_orders.csv<br><br>myS3Bucket/myDir/&lt;yyyy&gt;/&lt;MM&gt;/&lt;dd&gt;/&lt;HH&gt;\_&lt;mm&gt;\_orders.csv |

## 目标数据集命名规则

目标数据集名称必须：

* 保持唯一性，并且尚未被目标目录中的其他数据集使用。

* 遵守目标目录命名规则：

  * 以字母（A–Z，a–z）或下划线 (\_) 开头。

  * 仅包含字母、下划线、数字（0–9）或美元符号 ($)。

  * 不超过 255 个字符（包括空格）。