REST Resource: projects.configs.waiters

资源:Waiter

Waiter 资源会等待 RuntimeConfig 资源满足某个结束条件,然后再返回。例如,假设您有一个分布式系统,其中每个节点都会在启动过程中写入一个变量资源,以指示节点的准备情况。

然后,您可以配置 Waiter 资源,并将成功条件设置为等待一定数量的节点已签入。之后,您的应用会在满足条件且等待器成功返回后运行一些任意代码。

Waiter 资源一经创建便不可更改。

如需详细了解如何使用等待器,请参阅创建等待器文档。

JSON 表示法
{
  "name": string,
  "timeout": string,
  "failure": {
    object(EndCondition)
  },
  "success": {
    object(EndCondition)
  },
  "createTime": string,
  "done": boolean,
  "error": {
    object(Status)
  }
}
字段
name

string

Waiter 资源的名称,格式为:

projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]

[PROJECT_ID] 必须是有效的 Google Cloud 项目 ID,[CONFIG_NAME] 必须是有效的 RuntimeConfig 资源,[WAITER_NAME] 必须符合 RFC 1035 细分规范,并且 [WAITER_NAME] 的长度必须小于 64 字节。

创建 Waiter 资源后,您将无法更改资源名称。

timeout

string (Duration format)

[必需] 指定等待器的超时时间(以秒为单位),从调用 waiters().create 方法的那一刻开始计算。如果在满足成功或失败条件之前,此时间耗尽,则 Waiter 会失败并将 error 代码设置为 DEADLINE_EXCEEDED

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

failure

object(EndCondition)

[可选] 此 Waiter 的失败条件。如果满足此条件,done 将设置为 trueerror 代码将设置为 ABORTED。失败条件的优先级高于成功条件。如果同时满足这两个条件,系统会指示失败。此值为可选值;如果未设置任何失败条件,则唯一的失败场景将是超时。

success

object(EndCondition)

[必填] 成功条件。如果满足此条件,done 将设置为 true,而 error 值将保持未设置状态。失败条件的优先级高于成功条件。如果同时满足这两个条件,系统会指示失败。

createTime

string (Timestamp format)

仅限输出。此 Waiter 资源的创建时间。将 timeout 的值添加到此瞬时时间点,即可得到等待器的超时截止期限。

此时间戳采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,且精确到纳秒。示例:"2014-10-02T15:01:23.045123456Z"

done

boolean

仅限输出。如果值为 false,则表示等待器仍在等待满足其某个条件。

如果为 true,则表示 Waiter 已完成。如果 Waiter 因超时或失败而完成,系统会设置 error

error

object(Status)

仅限输出。如果 Waiter 因失败或超时而结束,系统会设置此值。

EndCondition

Waiter 资源正在等待的条件。

JSON 表示法
{
  "cardinality": {
    object(Cardinality)
  }
}
字段
cardinality

object(Cardinality)

EndCondition 的基数。

基数

Waiter 资源的基数条件。当指定路径前缀下的变量数达到预定义数量时,基数条件就满足了。例如,如果您设置了基数条件,其中 path 设置为 /foo,路径数设置为 2,则以下变量将满足 RuntimeConfig 资源中的条件:

  • /foo/variable1 = "value1"
  • /foo/variable2 = "value2"
  • /bar/variable3 = "value3"

但是,如果将 number 设置为 3,则不会满足相同的条件,因为只有 2 条路径以 /foo 开头。基数条件是递归的;系统会统计特定路径前缀下的所有子树。

JSON 表示法
{
  "path": string,
  "number": number
}
字段
path

string

要监控的变量子树的根。例如 /foo

number

number

必须存在的 path 下变量数量,才能满足此条件。如果未指定,则默认为 1。

方法

create

创建 Waiter 资源。

delete

删除具有指定名称的等待器。

get

获取单个等待器的相关信息。

list

列出给定配置中的等待器。

testIamPermissions

返回调用者对指定资源拥有的权限。