如果從超過支援日期的 SDK 版本提交工作,長時間執行的批次或串流工作就會中斷,輸送量也會降低。如要減少可能發生的問題,請按照下列步驟操作:
如需所有可用 SDK 版本的清單,請參閱支援狀態頁面。
使用不支援的 SDK 版本啟動工作
如果您從 SDK 版本提交 Dataflow 工作,但該版本已過支援日期,系統會顯示錯誤訊息,引導您升級 SDK 版本,或在提交工作時使用臨時權杖。
錯誤訊息中的權杖值包含權杖到期時間和權杖本身。到期日設為兩週後。
如要使用權杖,請使用 unsupported_sdk_temporary_override_token 實驗旗標和權杖值重新提交工作。
--experiments=unsupported_sdk_temporary_override_token=TOKEN
如果使用過期權杖提交工作,系統會顯示不同的錯誤訊息,通知您權杖已過期。您可以升級至支援的 SDK 版本,或重新提交不含權杖的工作,以取得新權杖。
權杖會套用至個別工作,因此如果排定多項工作,每項工作都必須使用專屬權杖。
請勿將權杖視為永久解決方案,以繼續使用不支援的 SDK。在 SDK 不受支援的日期過後一段時間,系統會撤銷所有權杖,並拒絕所有使用該不受支援 SDK 版本的作業。如要進一步瞭解各個 SDK 的支援狀態,請參閱「SDK 版本支援狀態」。
繼續執行中斷的工作
使用不支援 SDK 的長期執行 Dataflow 工作 (例如串流工作) 也會中斷,且輸送量大幅降低。您可以在工作記錄中看到下列錯誤訊息,藉此找出中斷的工作:
由於工作流程使用不支援的 SDK Apache Beam SDK for Python 2.3.0,因此服務自動中斷工作流程。請升級至最新版 SDK。如要暫時恢復中斷的工作,請使用
gcloud alpha dataflow jobs resume-unsupported-sdk --token=TOKEN --region=REGION JOB_ID。請注意,如果使用這個權杖繼續執行工作,工作會在 2020-08-28T11:21:58-07:00 再次中斷。如需支援的 SDK 版本清單,請參閱 https://cloud.google.com/dataflow/docs/support/sdk-version-support-status。
如錯誤訊息所示,您可以使用 resume-unsupported-sdk 指令,減輕中斷造成的影響。繼續中斷的工作是暫時解決方案,請升級 SDK 版本,以免受到進一步的淘汰處置。
先前繼續執行的工作會在臨時權杖過期後,返回中斷狀態。日後如要恢復中斷的作業,也可以使用相同方式。不過,如果作業使用的 SDK 版本不受支援,系統可能會在不受支援日期過後自動取消作業。