本頁說明如何為 Cloud Data Fusion 執行個體定義維護期間。
維護時段適用於 6.8.0 以上版本的 Cloud Data Fusion 執行個體。
關於維護期間
Cloud Data Fusion 的維護期間是指允許系統執行維護作業的時間範圍,可降低尖峰時段服務中斷的風險。在離峰時段或活動較少的時段安排維護期間,可將維護作業對 Cloud Data Fusion 執行個體和管道執行的影響降到最低。
您可以設定維護期間,控管執行個體何時執行維護作業:
- 如果已定義維護期間,Cloud Data Fusion 會在定義的期間內執行維護作業。
- 如果未定義維護期間,系統隨時可能執行維護作業。
關於維護作業
為確保系統安全和法規遵循,Cloud Data Fusion 會定期執行維護作業。包括套用重大更新和安全性修補程式,以降低安全漏洞風險並保護使用者資料。排定的維護期間可確保系統有效套用更新,維護系統完整性,並盡量減少對執行個體和管道執行的干擾。
- 設定維護期間時,每週至少須分配 12 小時來進行維護作業。每個時間範圍必須介於 4 到 12 小時之間。
在維護期間,特定作業可能會受到影響。建議您將維護期間設定在非尖峰時段。維護作業可能會對 Cloud Data Fusion 造成以下影響:
- Cloud Data Fusion Studio 介面可能暫時無法使用。
- 管道執行作業可能會受到影響,導致失敗。
- Cloud Data Fusion 服務可能會暫時中斷,導致 API 呼叫失敗。
- 維護期間,執行個體最多可能有一小時無法正常運作。建議您在管道未執行或未排定執行時間時,設定維護時間範圍。
在建立執行個體時指定維護期間
主控台
如要在建立執行個體時設定維護時段,請按照下列步驟操作:
- 前往 Cloud Data Fusion 的「Instances」(執行個體) 頁面,然後按一下「Create instance」(建立執行個體)。
- 輸入「執行個體名稱」和「版本」。如要進一步瞭解每個欄位,請參閱「建立執行個體」。
- 展開「Advanced options」(進階選項) 區段。
- 展開「維護」部分,然後按照下列步驟操作:
- 勾選「啟用維護期間」核取方塊。
- 在「開始時間」欄位中,輸入支援的格式。
- 在「TimeZone」(時區)TimeZone 清單中選取時區。
- 在「天數」和「長度」清單中,選取星期幾和時間範圍長度。如要進一步瞭解這些設定,請參閱「關於維護作業」一文。
- 點選「建立」。
詳情請參閱「設定維護期間時間和重複規則 (RRULE)」。
REST API
- 使用
instance.create
API 設定Instance
:
{
"name": string,
"description": string,
…
…
"maintenancePolicy": {
"maintenanceWindow": {
"recurringTimeWindow": {
"window": {
"startTime": "START_TIME",
"endTime": "END_TIME"
},
"recurrence": "MAINTENANCE_RECURRENCE"
}
},
}
}
更改下列內容:
START_TIME
:時間範圍開始時間,採用 RFC 3339 格式。END_TIME
:時間範圍的結束時間,採用 RFC 3339 格式。MAINTENANCE_RECURRENCE
:維護期間重複的 RRULE。Cloud Data Fusion 僅支援下列格式:FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA
或BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY
。這會指定所選日期的每週時間範圍,從startTime
開始,持續指定時間長度。
詳情請參閱「設定維護期間時間和重複規則 (RRULE)」。
以下範例會建立執行個體,每週六和週日的世界標準時間上午 10 點到下午 4 點為六小時的維護期間。詳情請參閱執行個體 API 說明文件。
// POST https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances?instanceID=example-instance
{
"maintenancePolicy": {
"maintenanceWindow": {
"recurringTimeWindow": {
"window": {
"startTime": "2024-01-01T10:00:00Z",
"endTime": "2024-01-01T16:00:00Z",
},
"recurrence": "FREQ=WEEKLY;BYDAY=SA,SU"
}
},
}
}
gcloud
使用 gcloud beta data-fusion instances create
指令建立執行個體時,可以指定維護期間。
維護期間必須定義下列參數:
--maintenance-window-start
設定排除期的開始時間。--maintenance-window-end
設定時間範圍的結束時間。--maintenance-window-recurrence
會為維護期間的重複執行作業設定 RRULE。
gcloud beta data-fusion instances create INSTANCE_NAME \
--project=PROJECT_NAME \
--location=LOCATION \
--maintenance-window-start=START_TIME \
--maintenance-window-end=END_TIME \
--maintenance-window-recurrence=MAINTENANCE_RECURRENCE
更改下列內容:
INSTANCE_NAME
:執行個體的名稱。PROJECT_NAME
:專案名稱。LOCATION
:執行個體所在區域的名稱。START_TIME
:視窗的開始時間,採用日期/時間輸入格式。系統只會使用指定的時間,並忽略指定的日期。END_TIME
:視窗的結束時間,採用日期/時間輸入格式。系統只會使用指定的時間,並忽略指定的日期。指定日期和時間必須晚於開始時間。MAINTENANCE_RECURRENCE
:維護期間重複的 RRULE。Cloud Data Fusion 僅支援下列格式:FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA
或BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY
。這會指定所選日期的每週時間範圍,從--maintenance-window-start
時間開始,持續指定時間長度。
詳情請參閱「設定維護期間時間和重複規則 (RRULE)」。
下列指令會建立執行個體,並設定每週六和週日中午 12 點到下午 6 點 (世界標準時間) 的六小時維護期間。
gcloud beta data-fusion instances create example-instance \
--project='example-project' \
--location='us-east1' \
--maintenance-window-start='2024-01-01T12:00:00Z' \
--maintenance-window-end='2024-01-01T18:00:00Z' \
--maintenance-window-recurrence='FREQ=WEEKLY;BYDAY=SA,SU'
更新執行個體的維護期間
主控台
如要透過Google Cloud 控制台更新現有執行個體的維護時段,請按照下列步驟操作:
前往 Cloud Data Fusion 的「Instances」(執行個體) 頁面。
按一下執行個體名稱,即可查看執行個體詳細資料。
在「執行個體詳細資料」頁面中,前往「維護時段」欄位,然後按一下「編輯」。
維護時段欄位會在編輯模式中開啟。視需要更新值:
- 勾選「啟用維護期間」核取方塊。
- 在「開始時間」欄位中,輸入支援的格式。
- 在「TimeZone」(時區)TimeZone 清單中選取時區。
- 在「天數」和「長度」清單中,選取一週中的天數和時間範圍長度。如要進一步瞭解這些設定,請參閱「關於維護作業」一文。
按一下 [儲存]。
詳情請參閱「設定維護期間時間和重複規則 (RRULE)」。
REST API
如果是現有執行個體,請使用 instances.patch
API 要求更新維護時段。這會覆寫現有的維護期間設定 (如有)。否則,系統會按照要求主體所述設定新設定。
建構 API 要求,如下所示:
- 在
updateMask
參數中,指定maintenance_policy
遮罩。 - 在要求主體中,於維護政策設定中指定維護期間:
{
"maintenancePolicy": {
"maintenanceWindow": {
"recurringTimeWindow": {
"window": {
"startTime": "START_TIME",
"endTime": "END_TIME"
},
"recurrence": "MAINTENANCE_RECURRENCE"
}
},
}
}
詳情請參閱「設定維護期間時間和重複規則 (RRULE)」。
以下範例會更新執行個體的維護政策設定,將每週五、六、日的維護時間設為上午 11 點至下午 3 點 (世界標準時間),共 4 小時。
// PATCH https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances/example-instance?updateMask=maintenance_policy
{
"maintenancePolicy": {
"maintenanceWindow": {
"recurringTimeWindow": {
"window": {
"startTime": "2024-01-01T11:00:00Z",
"endTime": "2024-01-01T15:00:00Z",
},
"recurrence": "FREQ=WEEKLY;BYDAY=FR,SA,SU"
}
},
}
}
gcloud
您可以使用 gcloud beta data-fusion instances update
指令更新執行個體的維護時間。
維護期間必須定義下列參數:
--maintenance-window-start
設定排除期的開始時間。--maintenance-window-end
設定時間範圍的結束時間。--maintenance-window-recurrence
會為維護期間的重複執行作業設定 RRULE。
gcloud beta data-fusion instances update INSTANCE_NAME \
--project=PROJECT_NAME \
--location=LOCATION \
--maintenance-window-start=START_TIME \
--maintenance-window-end=END_TIME \
--maintenance-window-recurrence=MAINTENANCE_RECURRENCE
更改下列內容:
INSTANCE_NAME
:執行個體的名稱。PROJECT_NAME
:專案名稱。LOCATION
:執行個體所在區域的名稱。START_TIME
:視窗的開始時間,採用日期/時間輸入格式。系統只會使用指定的時間,並忽略指定的日期。END_TIME
:視窗的結束時間,採用日期/時間輸入格式。系統只會使用指定的時間,並忽略指定的日期。指定日期和時間必須晚於開始時間。MAINTENANCE_RECURRENCE
:維護期間重複的 RRULE。Cloud Data Fusion 僅支援下列格式:FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA
或BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY
。這會指定所選日期的每週時間範圍,從--maintenance-window-start
時間開始,持續指定時間長度。
下列指令會更新執行個體 example-instance
,每週六和週日中午 12 點到下午 6 點 (世界標準時間) 進行六小時的維護。
gcloud beta data-fusion instances update example-instance \
--project='example-project' \
--location='us-east1' \
--maintenance-window-start='2024-01-01T12:00:00Z' \
--maintenance-window-end='2024-01-01T18:00:00Z' \
--maintenance-window-recurrence='FREQ=WEEKLY;BYDAY=SA,SU'
設定維護期間時間和重複規則 (RRULE)
設定維護期間的開始和結束時間時,系統會忽略所提供時間戳記的日期部分。系統只會考量一天中的時間,以及開始和結束時間之間的時長。時間會以世界標準時間儲存,但使用 REST API 或 gcloud CLI 安排維護時段時,可以採用世界標準時間或時區偏移量。
設定週期時,請注意 RRULE 遵循世界標準時間,因此如果時區不同,請相應調整。舉例來說,如果您的時區是太平洋夏令時間 (UTC-7),且希望維護期間在您時區的星期三 21:00 開始 (相當於世界標準時間的星期四 4:00),請在 RRULE 的 BYDAY
選項中指定 TH
,而非 WE
。
移除執行個體的維護期間
主控台
如要透過Google Cloud 控制台移除現有執行個體的維護期間,請按照下列步驟操作:
前往 Cloud Data Fusion 的「Instances」(執行個體) 頁面。
按一下執行個體名稱,即可查看執行個體詳細資料。
在「執行個體詳細資料」頁面中,前往「維護時段」欄位,然後按一下「編輯」。
如要從執行個體移除維護期間,請取消勾選「啟用維護期間」核取方塊。
按一下 [儲存]。
REST API
如要從執行個體移除維護期間,請在要求主體中傳遞空白的維護政策物件。
// PATCH https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances/example-instance?updateMask=maintenance_policy
{
"maintenancePolicy": {}
}
gcloud
如要從執行個體移除維護期間,請使用 gcloud beta data-fusion instances update
指令,並加上 --clear-maintenance-window
標記。
gcloud beta data-fusion instances update INSTANCE_NAME \
--project=PROJECT_NAME \
--location=LOCATION \
--clear-maintenance-window
更改下列內容:
INSTANCE_NAME
:執行個體的名稱。PROJECT_NAME
:專案名稱。LOCATION
:執行個體所在區域的名稱。
後續步驟
- 請參閱 Instances API 說明文件。