Cloud Scheduler 触发器

借助 Cloud Scheduler 触发器,您可以在规定的时间段内或在定期的间隔时间在多个区域中安排集成执行。

Cloud Scheduler 触发器利用 Cloud Scheduler 服务在 Apigee Integration 中提供全代管式企业级 Cron 作业调度服务。利用此触发器,您现在可以通过 Apigee Integration 界面和 Cloud Scheduler 信息中心管理在集成中创建的所有 Cron 作业。此外,借助 Cloud Scheduler 触发器,您还可以部署跨区域 Cron 作业来调度集成执行。

例如,如果您在 us-central1 中预配了集成,您可以使用 Cloud Scheduler 触发器asia-east1(或 Cloud Scheduler 任何受支持的 Google Cloud 区域)中部署 Cron 作业,以调用位于 us-central1 的集成端点。

准备工作

在配置 Cloud Scheduler 触发器之前,请确保在您的 Google Cloud 项目中执行以下任务:

  1. 启用 Cloud Scheduler API (cloudscheduler.googleapis.com)。

    启用 Cloud Scheduler API

  2. 确认您拥有已分配 Apigee Integration Invoker 角色的 Google 服务账号。如果您没有服务账号,则必须创建一个新账号,并为其分配 Apigee Integration Invoker 角色。

    如需了解如何创建和管理服务账号,请参阅创建和管理服务账号

    如需了解预定义的 Apigee Integration 角色,请参阅预定义的 IAM 角色

添加 Cloud Scheduler 触发器

如需向集成添加 Cloud Scheduler 触发器,请执行以下步骤:

  1. Apigee 界面中,选择您的 Apigee 组织
  2. 点击开发 > 集成
  3. 选择现有集成,或通过点击创建集成来创建新集成。

    要创建新的集成,请执行以下操作:

    1. 创建 Integrations对话框中输入名称和说明。
    2. 从支持的区域列表中选择集成的区域
    3. 点击创建

    这将在集成设计器中打开集成。

  4. 集成设计器导航栏中,点击 + 添加任务/触发器 > 触发器以查看可用触发器列表。
  5. 点击 Cloud Scheduler 触发器元素,并将其放置到集成设计器中。

配置 Cloud Scheduler 触发器

如需配置 Cloud Scheduler 触发器,请执行以下步骤:

  1. 点击集成编辑器中的 Cloud Scheduler 触发器元素以打开触发器配置窗格。

    使用以下任一选项指定 Cloud Scheduler 触发器的时间表:

    • 基本:使用界面配置 Cron 作业时间表。
    • 高级:使用 unix-cron 表达式配置 Cron 作业时间表。
  2. (对于“基本”选项)选择基本标签页,然后在指示的字段中执行以下操作:
    1. 时间:选择集成必须按什么时间间隔运行。
      • 在特定时间运行:选择此选项以在特定时间运行集成。
      • 按小时重复:选择此选项可按小时重复运行集成。
      • 按分钟重复:选择此选项可按指定的分钟数重复运行集成
    2. :选择必须运行集成的日期。您可以选择每天、一周中的特定几天或一个月中的特定某一天运行集成。
    3. 月份:选择必须运行集成的月份。您可以选择每月或在特定月份运行集成。
  3. (对于高级选项)选择高级标签页,并使用 Cron 表达式指定 Cron 作业的时间表。

    cron 表达式包含五个必须按以下顺序指定的值:

    1. 分钟 (0-59)
    2. 小时 (0-23)
    3. 日期 (1-31)
    4. 月份(以下任一值):
      • 1-12 的数字
      • 三个字母的月份缩写(例如 Jan、May、Mar)
    5. 星期几(以下任一值):
      • 0 到 6 的数字,星期日是 0
      • 三个字母的日期缩写(例如 Mon、Tue、Wed)

    例如,如需在每月的第一天运行集成,请使用 * * 1 * * Cron 表达式。

    如需了解详情,请参阅配置 Cron 作业时间表

  4. 区域:选择要在其中部署 Cloud Scheduler 作业的区域。
  5. 服务账号电子邮件地址:输入已创建的 Google 服务账号电子邮件地址。

触发器输出

对于在集成版本中配置和发布的每个 Cloud Scheduler 触发器,Apigee Integration 都会在 Google Cloud 项目中创建一个新的 Cloud Scheduler 作业。

Cloud Scheduler 作业使用以下命名惯例创建,以避免任何作业重名错误:

    INTEGRATION_NAME__VINTEGRATION_VERSION__CLOUD_SCHEDULER_TRIGGER_NUMBER
    

示例DemoIntegration__V1__1

触发日志

Cloud Scheduler 触发器会在每次集成执行的开始和结束时生成日志。您可以在 Cloud Logging 日志浏览器页面中查看 Cloud Scheduler 触发器日志:

  1. 在 Google Cloud 控制台中,转到 Cloud Scheduler 页面。

    转到 Cloud Scheduler

  2. 找到 Cloud Scheduler 作业,然后点击日志列中的查看

    此时会显示 Cloud Logging 日志浏览器页面,其中显示 Cloud Scheduler 触发器生成的日志。

修改 Cloud Scheduler 触发器

Apigee Integration

如需从 Apigee Integration 修改 Cloud Scheduler 触发器,请按以下步骤操作:

  1. Apigee 界面中,选择您的 Apigee 组织
  2. 点击开发 > 集成
  3. 选择要修改的集成。
  4. 集成编辑器中,点击版本下拉列表,然后选择包含您要修改的 Cloud Scheduler 触发器的集成版本。
  5. 如果所选集成版本已发布(处于活动状态),取消发布并启用修改功能。
  6. 点击集成编辑器中的 Cloud Scheduler 触发器元素以打开触发器配置窗格。
  7. 根据需要修改 Cloud Scheduler 作业配置。

Cloud Scheduler

您可以通过在 Cloud Scheduler 中修改 Cloud Scheduler 作业的配置来修改 Cloud Scheduler 触发器:

  1. 在 Google Cloud 控制台中,转到 Cloud Scheduler

    转到 Cloud Scheduler

  2. 选择要修改的 Cloud Scheduler 作业。
  3. 点击修改
  4. 根据需要修改 Cloud Scheduler 作业配置。

暂停、恢复、复制 Cloud Scheduler 作业

对于使用 Cloud Scheduler 触发器创建的 Cloud Scheduler 作业,Apigee Integration 不支持暂停、恢复和复制操作。

如果您从 Cloud Scheduler 手动暂停执行 Cloud Scheduler 作业,则 Cloud Scheduler 触发器会在触发器配置窗格中抛出错误。

如需详细了解 Cloud Scheduler 触发器错误消息,请参阅排查 Cloud Scheduler 触发器问题。如需了解如何使用 Cloud Scheduler 暂停和恢复 Cron 作业,请参阅暂停或恢复作业

删除 Cloud Scheduler 作业

您可以在 Apigee Integration 中或在 Cloud Scheduler 中删除 Cloud Scheduler 作业。

Apigee Integration

如需从 Apigee Integration 中删除 Cloud Scheduler 作业,请按以下步骤操作:

  1. Apigee 界面中,选择您的 Apigee 组织
  2. 点击开发 > 集成
  3. 选择要修改的集成。
  4. 集成编辑器中,点击版本下拉列表,然后选择包含您要删除的 Cloud Scheduler 触发器的集成版本。
  5. 取消发布选定的集成版本。

    相应集成版本的 Cloud Scheduler 作业将被删除。

Cloud Scheduler

如需从 Cloud Scheduler 中删除 Cloud Scheduler 作业,请执行以下步骤:

  1. 在 Google Cloud 控制台中,转到 Cloud Scheduler

    转到 Cloud Scheduler

  2. 选择要删除的 Cloud Scheduler 作业。
  3. 点击删除

    相应集成版本的 Cloud Scheduler 作业将被删除。

最佳实践

最佳做法是不再需要时取消发布任何 Cloud Scheduler 触发器。如果让冗余 Cloud Scheduler 触发器保持已发布状态,该触发器将继续自动调用集成,这可能会导致产生额外的结算费用。

排查 Cloud Scheduler 触发器问题

下表介绍了 Cloud Scheduler 触发器中可能发生的错误以及相应的错误原因。

错误位置 错误发生时间 错误消息 可能的原因 解决方法
“触发器配置”窗格 > 错误消息 当 Cloud Scheduler 作业停止执行集成时 The configured Cloud Scheduler job CLOUD_SCHEDULER_JOB doesn’t exist. It might be deleted from your Google Cloud project. 使用 Cloud Scheduler 删除 Cloud Scheduler 作业。 创建新的集成版本以覆盖现有的 Cloud Scheduler 作业。
The configured Cloud Scheduler job CLOUD_SCHEDULER_JOB is PAUSED. You must RESUME the job from your Google Cloud project. 使用 Cloud Scheduler 暂停 Cloud Scheduler 作业。 从 Cloud Scheduler 恢复 Cloud Scheduler 作业。
The configured Cloud Scheduler job CLOUD_SCHEDULER_JOB is DISABLED due to an internal system error. 检查触发器日志以找出问题。 创建新的集成版本以覆盖现有的 Cloud Scheduler 作业。
The configured Cloud Scheduler job CLOUD_SCHEDULER_JOB is in an UPDATE_FAILED state due to a failed CloudScheduler.UpdateJob operation. 提供的服务账号没有所需的 IAM 权限。 如需从此状态恢复作业,请重试 CloudScheduler.UpdateJob 操作,直到收到成功响应。
The last execution of the Cloud Scheduler job CLOUD_SCHEDULER_JOB failed due to CLOUD_SCHEDULER_JOB_ISSUE. Learn more. CLOUD_SCHEDULER_JOB_ISSUE 不适用