本页面介绍了如何为变量创建 watcher。如需详细了解 watcher,请参阅 Runtime Configurator 基础知识。
准备工作
- 如果要使用本指南中的命令行示例,请安装 “gcloud” 命令行工具。
- 如果希望使用本指南中的 API 示例,请设置 API 访问权限。
- 阅读 Runtime Configurator 基础知识。
- 阅读创建和删除 RuntimeConfig 资源。
- 阅读设置和获取数据。
观察变量的变化
您可以通过调用 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
文档。
后续步骤
- 了解 Runtime Configurator。
- 设置和获取数据。
- 创建 Waiter。
- 创建和删除 RuntimeConfig 资源。
- 参阅 v1beta1 参考。
- 参阅 Runtime Configurator 配额。