观察变量的变化

本页面介绍了如何为变量创建 watcher。如需详细了解 watcher,请参阅 Runtime Configurator 基础知识

准备工作

观察变量的变化

您可以通过调用 variables().watch 方法来观察变量的变化。该方法会观察变量 60 秒并返回该变量值是否发生了变化。如果该变量值在 60 秒内没有变化,则该方法会终止并返回变量 state=VARIABLE_STATE_UNSPECIFIED。如果该变量被删除,则该方法会返回变量 state=DELETED 和所知的最新变量值。

如需设置 watcher,请使用 Deployment Manager、Google Cloud CLI 或 API。

Deployment Manager

Deployment Manager 不支持此功能。请改为创建 waiter

gcloud

使用 Google Cloud CLI:

gcloud beta runtime-config configs variables watch [VARIABLE_KEY] --max-wait [TIMEOUT_SEC] --config-name [CONFIG_NAME]

其中:

  • [VARIABLE_KEY] 是要观察的键。
  • [TIMEOUT_SEC] 是等候的秒数。它的默认值和最大值为 60 秒。

gcloud CLI 会在观察变量的时长达到指定值或变量发生变化后返回。如果变量发生变化,则响应包含某个适用的变量状态

API

在 API 中,向以下 URI 发出 POST 请求:

https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]:watch

其中:

  • [PROJECT_ID] 是此请求的项目 ID。
  • [CONFIG_NAME] 是此请求的 RuntimeConfig 资源的名称。
  • [VARIABLE_KEY] 是要观察的键。

    或者,您可以提供带有 newerThan 属性的请求载荷:

    { "newerThan": "[TIMESTAMP]" }

    其中 [TIMESTAMP] 是从 Epoch 起算的 RFC 3339 UTC "Zulu" 格式的时间戳。例如:

    2014-10-02T15:01:23.045123456Z

    若您提供 newerThan 属性,则如果变量的当前时间戳比指定的时间戳更新,则该方法会立即返回。您可使用 newerThan 属性确保未错过 watch() 调用之间的任何变化。

    该方法会返回某个适用的变量状态

    如需详细了解该方法,请阅读 variables().watch 文档。

后续步骤