处理传输

使用 BigQuery Data Transfer Service 创建传输后,您可以执行以下操作:

  • 获取有关传输配置的信息
  • 列出传输配置
  • 查看传输的运行历史记录
  • 查看传输运行详情,例如日志消息
  • 更新传输
  • 设置回填
  • 更新凭据
  • 停用传输
  • 删除传输

获取传输配置的相关信息

创建传输后,您可以获取有关传输配置的信息。配置包含您在创建传输时提供的值。

要获取有关传输的信息,您需要具备 bigquery.transfers.get 权限。以下预定义的 IAM 角色包括 bigquery.transfers.get 权限:

  • bigquery.admin
  • bigquery.user

获得 bigquery.transfers.get 权限的用户可以查看有关项目中所有传输的信息。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

要获取传输配置的相关信息,可使用如下方法:

经典版界面

  1. 转到 BigQuery 网页界面。

    转到 BigQuery 网页界面

  2. 点击 Transfers

  3. Transfers 页面上,点击列表中的相应传输。

  4. 传输配置会显示在属性页面中 Run History 的上方。以下示例演示了 Google Ads 传输的配置属性。

    传输作业配置

命令行

输入 bq show 命令并提供传输配置的资源名称。--format 标志可用于控制输出格式。

bq show --format=prettyjson --transfer_config [RESOURCE_NAME]

其中:

例如,输入以下命令可显示传输配置 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

bq show --format=prettyjson --transfer_config projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

使用 projects.locations.transferConfigs.get 方法并通过 name 参数提供传输配置。

列出传输配置

要在项目中列出传输配置,您需要具备 bigquery.transfers.get 权限。以下预定义的 IAM 角色包括 bigquery.transfers.get 权限:

  • bigquery.admin
  • bigquery.user

获得 bigquery.transfers.get 权限的用户可以列出项目中的所有传输。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

要列出项目中的传输配置,可使用如下方法:

经典版界面

  1. 转到 BigQuery 网页界面。

    转到 BigQuery 网页界面

  2. 点击 Transfers。传输配置会显示在 Transfers 页面上,并且按位置分组。

命令行

要按位置列出一个项目的所有传输配置,请输入 bq ls 命令并提供 --transfer_location--transfer_config 标志。您还可以提供 --project_id 标志来指定特定项目。如果未指定 --project_id,系统会使用默认项目。--format 标志可用于控制输出格式。

要列出特定数据源的传输配置,请提供 --filter 标志。

要以分页格式查看特定数量的传输配置,请提供 --max_results 标志以指定传输数量。该命令使用 --page_token 标志返回您提供的页标记,以查看后续 n 个配置。

bq ls --transfer_config --transfer_location=[LOCATION] --project_id=[PROJECT_ID] --max_results=[INTEGER] --filter=dataSourceIds:[DATA_SOURCES]

其中:

  • [LOCATION] 是传输配置的位置。位置是在您创建传输时指定的。
  • [PROJECT_ID] 是项目 ID。
  • [INTEGER] 是每页要显示的结果数。
  • [DATA_SOURCES] 是以下之一:<<../_shared/_cli-transfer-types.md>>。

示例:

输入以下命令以显示您的默认项目位于美国的所有传输配置。 --format 标志用于控制输出。

bq ls --format=prettyjson --transfer_config --transfer_location=us

输入以下命令以显示 ID 为 myproject 的项目位于美国的所有传输配置。

bq ls --transfer_config --transfer_location=us --project_id=myproject

输入以下命令以列出最新的 3 个传输配置。

bq ls --transfer_config --transfer_location=us --project_id=myproject --max_results=3

该命令会返回下一页令牌。复制页标记并在 bq ls 命令中提供此令牌,以查看接下来的 3 个结果。

bq ls --transfer_config --transfer_location=us --project_id=myproject --max_results=3 --page_token=AB1CdEfg_hIJKL

输入以下命令以列出项目 ID 为 myproject 的 Ads 和 Campaign Manager 传输配置。

bq ls --transfer_config --transfer_location=us --project_id=myproject --filter=dataSourceIds:dcm_dt,adwords

API

使用 projects.locations.transferConfigs.list 方法并通过 parent 参数提供项目 ID。

查看运行历史记录

在运行已安排好的传输时,系统会为每个传输配置保留运行历史记录,其中包括成功的传输运行和失败的传输运行。超过 90 天的传输运行会从运行历史记录中自动删除。

要查看一项传输配置的运行历史记录,您需要具备 bigquery.transfers.get 权限。bigquery.user 预定义的 IAM 角色包含 bigquery.transfers.get 权限。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

查看传输配置的运行历史记录的方法如下:

经典版界面

  1. 转到 BigQuery 网页界面。

    转到 BigQuery 网页界面

  2. 点击 Transfers

  3. Transfers 页面上,点击列表中的相应传输。

  4. 在属性页面上,运行历史记录显示在传输属性下方。

    运行历史记录

  5. (可选)取消选中 Show only latest run per day 以查看所有传输运行。

传输运行的状态以图形方式表示,状态列中给出了详细说明:

图标 状态
运行成功图标 传输运行成功。
运行失败图标 传输运行失败。
运行警告图标 传输运行成功,但出现警告。除非结果表出现异常,否则系统不会认为运行存在问题。

命令行

要列出特定传输配置的传输运行,请输入 bq ls 命令并提供 --transfer_run 标志。您还可以提供 --project_id 标志来指定特定项目。如果 [RESOURCE_NAME] 不包含项目信息,则系统会使用 --project_id 值。如果未指定 --project_id,系统会使用默认项目。--format 标志可用于控制输出格式。

要查看特定数量的传输运行,请提供 --max_results 标志。该命令使用 --page_token 标志返回您提供的页标记,以查看后续 n 个配置。

要根据运行状态列出传输运行,请提供 --filter 标志。

bq ls --transfer_run --max_results=[INTEGER] --transfer_location=[LOCATION] --project_id=[PROJECT_ID] --filter=states:[STATE, ...] [RESOURCE_NAME]

其中:

  • [INTEGER] 是要返回的结果数。
  • [LOCATION] 是传输配置的位置。位置是在您创建传输时指定的。
  • [PROJECT_ID] 是项目 ID。
  • [STATE] 是以下内容之一或是一个以英文逗号分隔的列表:
    • SUCCEEDED
    • FAILED
    • PENDING
    • RUNNING
    • CANCELLED
  • [RESOURCE_NAME] 是传输的资源名称(也称为传输配置)。如果您不知道传输的资源名称,可发出 bq ls --transfer_config --transfer_location=[LOCATION] 命令以列出所有传输。

示例:

输入以下命令,以显示传输配置 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 的 3 次最新运行。 --format 标志用于控制输出。

bq ls --format=prettyjson --transfer_run --max_results=3 --transfer_location=us projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

该命令会返回下一页令牌。复制页标记并在 bq ls 命令中提供此令牌,以查看接下来的 3 个结果。

bq ls --format=prettyjson --transfer_run --max_results=3 --page_token=AB1CdEfg_hIJKL --transfer_location=us projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

输入以下命令以显示传输配置 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 的所有失败的运行。

bq ls --format=prettyjson --transfer_run --filter=states:FAILED --transfer_location=us projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

使用 projects.locations.transferConfigs.list 方法并通过 parent 参数指定项目 ID。

查看传输运行详情和日志消息

在传输运行出现在运行历史记录中时,您可以查看运行详情,包括日志消息、警告和错误、运行名称以及开始和结束时间。

要查看传输运行详情,您需要具备 bigquery.transfers.get 权限。bigquery.user 预定义的 IAM 角色包含 bigquery.transfers.get 权限。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

要查看传输运行详情,可使用如下方法:

经典版界面

  1. 转到 BigQuery 网页界面。

    转到 BigQuery 网页界面

  2. 点击 Transfers

  3. Transfers 页面上,点击列表中的相应传输。

  4. 在属性页面上,运行历史记录显示在传输属性下方。点击一项运行即可查看其详情。

  5. 在运行详情中,请注意 Run Name 和任何错误消息。在联系 Google Cloud 支持团队时,您需要用到这些信息。运行详情还包括日志消息和警告。

    运行详情

命令行

要查看传输运行详情,请输入 bq show 命令并使用 --transfer_run 标志提供传输运行的运行名称。--format 标志可用于控制输出格式。

bq show --format=prettyjson --transfer_run [RUN_NAME]

其中:

  • [RUN_NAME] 是传输运行的运行名称。您可以使用 bq ls 命令检索运行名称。

示例:

输入以下命令以显示传输运行 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g 的详情。

bq show --format=prettyjson --transfer_run projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

要查看传输运行的传输日志消息,请输入带有 --transfer_log 标志的 bq ls 命令。您可以使用 --message_type 标志按类型过滤日志消息。

要查看特定数量的日志消息,请提供 --max_results 标志。该命令使用 --page_token 标志返回您提供的页标记,以查看后续 n 条消息。

bq ls --transfer_log --max_results=[INTEGER] --message_type=messageTypes:[MESSAGE_TYPE] [RUN_NAME]

其中:

  • [INTEGER] 是要返回的日志消息数量。
  • [MESSAGE_TYPE] 是要查看的日志消息的类型(单个值或以英文逗号分隔的列表):
    • INFO
    • WARNING
    • ERROR
  • [RUN_NAME] 是传输运行的运行名称。您可以使用 bq ls 命令检索运行名称。

示例:

输入以下命令以查看传输运行 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g 的前 2 条日志消息。

bq ls --transfer_log --max_results=2 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

该命令会返回下一页令牌。复制页标记并在 bq ls 命令中提供此标记,以查看接下来的 2 个结果。

bq ls --transfer_log --max_results=2 --page_token=AB1CdEfg_hIJKL projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

输入以下命令以仅查看传输运行 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g 的错误消息。

bq ls --transfer_log --message_type=messageTypes:ERROR projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

API

使用 projects.transferConfigs.runs.transferLogs.list 方法并通过 parent 参数提供传输运行的运行名称。

更新传输

添加传输后,您可以编辑传输。您可以修改在传输创建期间填充的任何字段(除外):

  • 目标数据集
  • 显示名
  • 为特定传输类型指定的任何参数
  • 运行通知设置

要更新传输,您需要具备 bigquery.transfers.update 权限。bigquery.admin 预定义的 IAM 角色包括 bigquery.transfers.update 权限。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

要更新传输,可使用如下方法:

经典版界面

  1. 转到 BigQuery 网页界面。

    转到 BigQuery 网页界面

  2. 点击 Transfers

  3. Transfers 页面上,点击列表中的相应传输。

  4. 点击 Edit 以更新传输配置。

  5. 完成更改后,点击 Save

命令行

输入 bq update 命令并使用 --transfer_config 标志提供传输配置的资源名称,并提供 --display_name--target_dataset--refresh_window_days--params 标志。

bq update --display_name='[NAME]' --target_dataset=[DATASET] --params='[PARAMETERS]' --refresh_window_days=[INTEGER] --transfer_config [RESOURCE_NAME]

其中:

  • --display_name 是传输配置的显示名。
  • --target_dataset 是传输配置的目标数据集。
  • --params 包含传输配置的参数(采用 JSON 格式)。例如:--params='{"param":"param_value"}'。您可以修改以下参数:
    • Google Ads:customer_id
    • Campaign Manager:bucketnetwork_id
    • Google Ad Manager:bucketnetwork_code
    • Google Play:buckettable_suffix
    • YouTube 频道:page_idtable_suffix
    • YouTube 内容所有者:content_owner_idtable_suffix
  • [INTEGER] 是一个介于 0 到 30 之间的值。如需了解如何设置刷新时段,请参阅对应于您的传输类型的文档。
  • [RESOURCE_NAME] 是传输的资源名称(也称为传输配置)。如果您不知道传输的资源名称,可发出 bq ls --transfer_config --transfer_location=[LOCATION] 命令以列出所有传输。

示例:

输入以下命令,以更新 Google Ads 传输 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 的显示名、目标数据集、刷新时段和参数。

bq update --display_name='My changed transfer' --target_dataset=mydataset2 --params='{"customer_id":"123-123-5678"}' --refresh_window_days=3 --transfer_config projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

使用 projects.transferConfigs.patch 方法并通过 transferConfig.name 参数提供传输的资源名称。如果您不知道传输的资源名称,可发出 bq ls --transfer_config --transfer_location=[LOCATION] 命令以列出所有传输,或调用 projects.locations.transferConfigs.list 方法并通过 parent 参数提供项目 ID。

设置回填

您可以随时手动启动数据回填。除了源限制之外,BigQuery Data Transfer Service 为每项回填请求提供最长 180 天的支持。该服务不支持多项同时回填请求。

对较大的日期范围进行回填时,您可以将回填请求拆分为多个 180 天的块,等待上一项回填请求完成后再创建另一项回填请求。

如需了解可以回填的数据量,请参阅与您的数据源对应的文档:

请注意,数据回填功能不适用于 Cloud Storage(测试版)传输。但是,您可以设置 Cloud Storage 传输的刷新运行

要安排数据回填,您需要具备 bigquery.transfers.update 权限。bigquery.admin 预定义的 IAM 角色包括 bigquery.transfers.update 权限。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

要安排回填,可使用如下方法:

经典版界面

  1. 转到 BigQuery 网页界面。 BigQuery 网页界面
  2. 点击 Transfers
  3. Transfer 页面上,点击相应的传输。
  4. 点击 Schedule Backfill

    安排回填

  5. Schedule Run 对话框中执行以下操作:

    • Data Start Date 部分中,输入或选择适当的日期(采用 MM/DD/YYYY 格式)。
    • Data End Date 部分中,输入或选择适当的日期(采用 MM/DD/YYYY 格式)。
    • 点击 Ok

    安排回填

命令行

输入 bq mk 命令,提供 --transfer_run 标志并指定 --start_time--end_time

bq mk --transfer_run --start_time='[START_TIME]' --end_time='[END_TIME]' [RESOURCE_NAME]

其中:

  • [START_TIME][END_TIME] 是以 Z 结尾或包含有效时区偏移量的时间戳。例如:

    • 2017-08-19T12:11:35.00Z
    • 2017-05-25T00:00:00+00:00
  • [RESOURCE_NAME] 是传输的资源名称(也称为传输配置)。如果您不知道传输的资源名称,可发出 bq ls --transfer_config --transfer_location=[LOCATION] 命令以列出所有传输。

示例:

输入以下命令,以安排传输配置 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 的回填。

bq mk --transfer_run --start_time 2017-05-25T00:00:00Z --end_time 2017-05-25T00:00:00Z projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

使用 projects.locations.transferConfigs.scheduleRuns 方法并通过 parent 参数提供传输配置资源。

更新凭据

传输使用创建该传输的用户的凭据。如果您需要更改附加到某项传输配置的用户,则可以更新传输的凭据。如果创建传输的用户不再与贵组织合作,这种做法非常有用。

要更新凭据,您需要具备 bigquery.transfers.update 权限。bigquery.admin 预定义的 IAM 角色包括 bigquery.transfers.update 权限。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

要更新传输凭据,可使用如下方法:

经典版界面

  1. 转到 BigQuery 网页界面。 BigQuery 网页界面
  2. 点击 Transfers
  3. Transfer 页面上,点击相应的传输。
  4. 点击 Update Credentials
  5. 出现提示时,点击 OK
  6. 登录您的 Google 帐号,点击 Allow 以授予 BigQuery Transfer Service 权限,允许其查看您的报告数据以及在 BigQuery 中访问和管理数据。您必须允许显示来自 bigquery.cloud.google.com 的弹出式窗口,才能查看权限窗口。

命令行

输入 bq update 命令并使用 --transfer_config 标志提供传输配置的资源名称,并提供 --update_credentials 标志。

bq update --update_credentials=[BOOLEAN] --transfer_config [RESOURCE_NAME]

其中:

  • --update_credentials 是一个布尔值,指示是否应为传输配置更新凭据。
  • [RESOURCE_NAME] 是传输的资源名称(也称为传输配置)。如果您不知道传输的资源名称,可发出 bq ls --transfer_config --transfer_location=[LOCATION] 命令以列出所有传输。

示例:

输入以下命令,以更新 Google Ads 传输 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 的凭据。

bq update --update_credentials=true --transfer_config projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

使用 projects.transferConfigs.patch 方法并提供 authorizationCodeupdateMask 参数。

停用传输

停用传输时,[DISABLED] 会添加到传输名称。停用传输时,系统不会安排新的传输运行,也不允许新的回填。任何正在进行的传输均会完成。

停用传输不会移除已传输至 BigQuery 的任何数据。除非删除数据集删除表,否则您需要为之前传输的数据支付标准 BigQuery 存储费用

要停用传输,您需要具备 bigquery.transfers.update 权限。bigquery.admin 预定义的 IAM 角色包括 bigquery.transfers.update 权限。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

停用传输的方法如下:

经典版界面

  1. 转到传统版 BigQuery 网页界面。

    转到经典版 BigQuery 网页界面

  2. 点击 Transfers

  3. 点击要停用的传输。

  4. 在传输属性页面上,点击 Disabled

    停用传输

  5. 停用传输后,点击 Save

命令行

CLI 不支持停用传输。

API

使用 projects.locations.transferConfigs.patch 方法并在 projects.locations.transferConfig 资源中将 disabled 设置为 true

删除传输

删除传输时,系统不会安排新的传输运行。任何正在进行的传输运行均会停止。

删除传输不会删除已传输至 BigQuery 的任何数据。除非删除数据集删除表,否则您需要为之前传输的数据支付标准 BigQuery 存储费用

要删除传输,您需要具备 bigquery.transfers.update 权限。bigquery.admin 预定义的 IAM 角色包括 bigquery.transfers.update 权限。

要详细了解 BigQuery 中的 IAM 角色,请参阅访问权限控制

要删除传输,可使用如下方法:

经典版界面

  1. 转到 BigQuery 网页界面。

    转到经典版 BigQuery 网页界面

  2. 点击 Transfers

  3. 点击要修改的传输。

  4. 在传输属性页面中,点击 Delete

  5. 出现提示时,点击 OK 移除传输。

命令行

输入 bq rm 命令并提供传输配置的资源名称。您可以使用 -f 标志在不经确认的情况下删除传输配置。

bq rm -f --transfer_config [RESOURCE_NAME]

其中:

例如,输入以下命令可删除传输配置 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

bq rm --transfer_config projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

使用 projects.locations.transferConfigs.delete 方法并通过 name 参数提供要删除的资源。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面