監控變數的變化

本頁說明如何為變數建立監看指令碼。如要進一步瞭解監看指令碼,請參閱 Runtime Configurator 基礎知識一文。

事前準備

監控變數的變化

您可以透過呼叫 variables().watch 方法來監控變數的變化。該方法會監控變數 60 秒,並在變數值發生變化時回傳。如果該值在 60 秒內未發生變化,該方法將會終止並傳回 state=VARIABLE_STATE_UNSPECIFIED 變數。如果刪除該變數,則該方法將會傳回 state=DELETED 變數和最後一個已知變數值。

如要設定監看指令碼,請使用 Deployment Manager、Google Cloud CLI 或 API。

Deployment Manager

Deployment Manager 不支援這項功能。請改為建立等候程序

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] 是自紀元以來的時間戳記,採用 RFC 3339 世界標準時間「Zulu」格式。例如:

    2014-10-02T15:01:23.045123456Z

    如果您提供 newerThan 屬性,而變數目前的時間戳記比指定的時間戳記來得更新,該方法將會立即回傳。使用 newerThan 屬性可確保您不會錯過 watch() 呼叫之間的任何變化。

    該方法會傳回一個適用的變數狀態

    如要進一步瞭解此方法,請參閱 variables().watch 說明文件。

後續步驟