Google Cloud Storage
上次更新日期:2026/10/20Google Cloud Storage 是 Google 的统一对象存储服务,用于在 Google Cloud 基础架构上存储和访问数据。它提供高可用性、全球冗余,并与更广泛的 Google Cloud 生态系统集成。
Qlik Talend Cloud 使用对目标存储段具有读取权限的 Google Cloud 服务账号连接到 Google Cloud Storage (GCS)。连接器从指定的存储段检索文件,通过对文件内容进行采样来自动发现模式,并基于文件修改时间戳执行增量数据复制。
准备身份验证
要访问您的数据,您需要使用您的帐户凭据对连接进行身份验证。
要设置您的 Google Cloud Storage 账号,您需要:
- 已启用 Cloud Storage API 的 Google Cloud Platform (GCP) 项目。
- 包含要复制的文件的 Google Cloud Storage (GCS) 存储段。
- 对存储段具有读取权限的服务账号。
推荐的角色是 Storage Object Viewer (
roles/storage.objectViewer),该角色会授予所需的storage.objects.get和storage.objects.list权限。有关更多信息,请参阅 Google Cloud Storage IAM 角色文档 。 - 为该服务账号下载的服务账号 JSON 密钥文件。
要创建服务账号并获取您的凭据:
- 登录您的 Google Cloud 账号。
- 前往 IAM 和管理 > 服务帐号。
- 单击创建服务帐户。
- 输入服务账号的名称和说明,然后点击创建并继续。
- 向服务账号授予 Storage Object Viewer 角色,或具有
storage.objects.get和storage.objects.list权限的自定义角色。 - 点击继续和完成。
- 在您新创建的服务账号中,点击 操作 菜单。
- 导航至 管理密钥 > 添加密钥 > 创建新密钥。
- 选择 JSON,然后单击 创建。
JSON 密钥文件将直接下载到您的计算机。此文件包含建立连接所需的
project_id、client_email和private_key字段。您只能下载一次密钥文件。请务必安全存储并备份它,因为它提供了访问您的 Google Cloud 资源的权限。
支持的文件格式
- 分隔文本:CSV、TSV、PSV、TXT(支持可配置分隔符)
- JSON Lines (
.jsonl) - Parquet (
.parquet) - Avro (
.avro) - 包含上述任一格式的 Gzip 压缩文件 (
.gz) - 包含 CSV、JSON Lines、TXT、TSV、PSV 或 Gzip 文件的 ZIP 归档文件
创建连接
有关更多信息,请参阅连接到 SaaS 应用程序。
- 填写所需的连接属性。
-
在连接名称中提供连接的名称。
-
选择打开连接元数据以定义创建连接时的元数据。
-
单击创建。
| 设置 | 描述 |
|---|---|
| 数据网关 |
如果您的用例需要,请选择一个 数据移动网关。 信息注释
此字段不适用于 Qlik Talend Cloud Starter 订阅,因为它不支持 数据移动网关。如果您有另一个订阅层并且不想使用 数据移动网关,请选择无。 有关 数据移动网关 的优势和需要它的用例的信息,请参阅Qlik 数据网关 - 数据移动。 |
| 开始日期 |
按格式 |
| 客户电子邮件 | 服务账号 JSON 密钥文件中的客户端电子邮件。 |
| 项目 ID | 服务账号 JSON 密钥文件中的项目 ID。 |
| 存储桶 | 存储文件的 Google Cloud Storage (GCS) 存储段名称,例如 my-gcs-bucket。请勿包含 |
| 表格 | 配置表以控制读取哪些文件以及如何解释其内容。每个表定义均包含文件搜索模式、表名以及用于高级行为的可选设置。 |
| 私钥 | 服务账号 JSON 密钥文件中的私钥。 |
表格配置
表配置中的每个条目都指定了一个由目标存储段中的文件创建的逻辑表。您可以为每个表配置以下属性:
| 属性 | 必选或可选 | 描述 |
|---|---|---|
| 表格名称 | 必填字段 | 为逻辑表指定名称,例如 my_orders_csv。此名称将在 Qlik Talend Cloud 中显示为数据流名称。 |
| 搜索模式 | 必填字段 | 输入正则表达式以匹配文件名,例如 .*\.csv$ 可选择所有 CSV 文件。该连接器使用正则表达式和 glob 搜索模式语法。在正则表达式中,*.csv 不匹配 CSV 文件名,因为 * 必须关注要重复的表达式。使用诸如 \.csv$ 或 .*\.csv$ 之类的模式来匹配类似于 report.csv 和 my.data.csv 的文件名。 |
| 搜索前缀 | 可选 | 提供存储段内的路径前缀以缩小文件搜索范围,例如 exports/orders/。使用前缀通过限制扫描的文件数量来提高性能。 |
| 关键属性 | 可选 | 列出一个或多个以逗号分隔的列名,以定义主键。例如:id 或 id,date。 |
| 日期覆盖 | 可选 | 列出要作为日期时间字段处理的列名,以逗号分隔。如果在模式发现期间未自动检测到这些字段,请使用此选项。 |
| 分隔符 | 可选 | 指定用于分隔文件中各值的字符。默认值为 ,(逗号)。对制表符分隔 (TSV) 文件使用 \t,或对竖线分隔 (PSV) 文件使用 |。如果留空,系统将根据文件扩展名自动检测分隔符。 |
已复制的表
表格是根据表格配置创建的(参见上文)。每个表对应 Google Cloud Storage (GCS) 存储段中的一组文件,这些文件同时匹配指定的搜索模式和任何可选前缀。连接器通过对每个表最多采样 5 个文件、每 5 行读取一行(每个文件最多 1,000 条记录)来自动发现架构。
复制是增量的,并使用文件修改时间戳来跟踪更改。在每次提取过程中,连接器仅处理自上次成功同步以来修改过的文件(如同步书签所记录)。
默认情况下,每个表中都会添加以下系统列:
| 列 | 描述 |
|---|---|
_sdc_source_bucket
|
读取该记录的 Google Cloud Storage (GCS) 存储段的名称。 |
_sdc_source_file
|
包含该记录的文件的完整路径。 |
_sdc_source_lineno
|
记录在文件中的行号。 |
_sdc_extra
|
解析过程中发现的与已发现架构不匹配的任何额外列。仅适用于 JSONL 文件。 |
限制和考虑事项
- Service account 凭据 (
project_id,client_email,private_key) 必须作为从 JSON 密钥文件中提取的单独值来提供;不支持文件上传。 - 支持 Gzip 压缩文件 (
.gz)。连接器从 gzip 标头中读取原始文件名,以确定内部文件格式。使用--no-name创建的 Gzip 文件(标头中未存储文件名)将被跳过。 - 不支持嵌套压缩(例如,另一个
.gz中的.gz或.zip中的.zip)。已跳过这些文件。 - 带有
.csv、.txt、.tsv、.psv或.jsonl扩展的文件会被检查是否存在 gzip 魔术字节,如果经过 gzip 压缩则会进行解压——即使该文件没有.gz扩展也是如此。 search_pattern字段使用正则表达式和 glob 搜索模式语法。在正则表达式中,*.csv不匹配 CSV 文件名,因为*必须关注要重复的表达式。使用.*\.csv$匹配诸如report.csv和my.data.csv之类的文件名。- 该连接器内置了带有指数退避机制的重试逻辑,用于处理 Google Cloud Storage (GCS) API 速率限制 (
429) 和瞬态服务器错误 (500、502、503、504)。在失败前最多尝试五次。 - 没有可识别扩展的文件将被跳过,并发出警告。