コレクション: projects.configs.waiters

リソース: ウェイター

Waiter リソースは、返る前に、RuntimeConfig リソース内のいくつかの終了条件が満たされるのを待ちます。たとえば、各ノードが、ノードの準備状態を起動プロセスの一部として表示するために、Variable リソースへの書き込みを行う分散システムがあると仮定します。

その後、一定のノード数がチェックインするまで待つことを成功条件として設定された 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 メソッドが呼び出される瞬間から始めて、秒単位でウェイターのタイムアウトを指定します。成功か失敗かの条件が満たされる前にこの時間が経過すると、ウェイターが失敗し、error コードを DEADLINE_EXCEEDED に設定します。

小数 9 桁までで表される「s」で終わる秒単位の時間。例: "3.5s"

failure

object(EndCondition)

[省略可] このウェイターの失敗条件。この条件が満たされた場合、donetrue に設定され、error コードは ABORTED に設定されます。失敗条件は、成功条件に優先します。両方の条件が満たされている場合、失敗が示されます。この値はオプションです。何も失敗条件が設定されていない場合、唯一の失敗シナリオはタイムアウトになります。

success

object(EndCondition)

[必須] 成功条件。この条件が満たされた場合、donetrue に設定され、error 値は未設定のままです。失敗条件は成功条件に優先します。両方の条件が満たされている場合、失敗が示されます。

createTime

string (Timestamp format)

[出力専用] この Waiter リソースが作成された瞬間。値が timeout に追加された瞬間、ウェイターのタイムアウト期限が得られます。

RFC3339 UTC 「Zulu」形式のタイムスタンプ。精度はナノ秒。例: "2014-10-02T15:01:23.045123456Z"

done

boolean

[出力専用] 値が false の場合、ウェイターが条件の 1 つが満たされるのを待っていることを意味します。

true の場合、ウェイターは完了します。ウェイターがタイムアウトまたは失敗で終わった場合は、error が設定されます。

error

object(Status)

[出力専用] ウェイターが障害やタイムアウトのために終了した場合、この値が設定されます。

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 に設定された同じ条件を満たすことはありませんが、これは /foo で始まるパスが 2 つしかないためです。基数条件は再帰的で、特定のパス接頭辞の下ではすべてのサブツリーがカウントされます。

JSON 表現
{
  "path": string,
  "number": number,
}
フィールド
path

string

監視する変数サブツリーのルート。例: /foo

number

number

この条件を満たすためになくてはならない、path の下の変数の数。指定しない場合のデフォルトは 1。

メソッド

create

Waiter リソースを作成します。

delete

指定された名前のウェイターを削除します。

get

単一のウェイターに関する情報を取得します。

list

指定された設定内のウェイターを一覧表示します。