AWS Data Pipeline 不再提供給新客戶。現有客戶 AWS Data Pipeline 可繼續正常使用此服務。進一步了解
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SqlActivity
在資料庫上執行SQL查詢 (指令碼)。
範例
以下為此物件類型的範例。
{ "id" : "
MySqlActivity
", "type" : "SqlActivity", "database" : { "ref": "MyDatabaseID
" }, "script" : "SQLQuery
" | "scriptUri" :s3://scriptBucket/query.sql
, "schedule" : { "ref": "MyScheduleID
" }, }
語法
必要欄位 | 描述 | 槽類型 |
---|---|---|
database | 要在其上執行提供的SQL指令碼的資料庫。 | 引用對象,例如「數據庫」:{「ref」:」myDatabaseId「} |
物件呼叫欄位 | 描述 | 槽類型 |
---|---|---|
schedule |
在排程間隔的執行期間會呼叫此物件。您必須指定另一個物件的排程參考,設定此物件的依存項目執行順序。您可以在物件上明確設定排程,例如指定 在大部分的情況下,建議您將排程參考放在預設的管道物件,讓所有物件都繼承該排程。 若管道具有與主排程呈現巢狀結構的排程樹狀目錄,請建立具有排程參考的父物件。如需範例選用排程組態的詳細資訊,請參閱https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html。 |
參考對象,例如「時間表」:{「ref」:」myScheduleId「} |
必要的群組 (下列其中之一為必要) | 描述 | 槽類型 |
---|---|---|
script | 要執行的SQL指令碼。您必須指定指令碼或scriptUri。當指令碼存放在 Amazon S3 時,不會將指令碼評估為運算式。當指令碼存放在 Amazon S3 時,指定的多個值會很有幫助。 scriptArgument | 字串 |
scriptUri | URI指定要在此活動中執行之指SQL令碼的位置。 | 字串 |
必要的群組 (下列其中之一為必要) | 描述 | 槽類型 |
---|---|---|
runsOn | 執行活動或命令的可運算資源。例如,Amazon EC2 實例或 Amazon EMR 集群。 | 引用對象,例如 runsOn「「:{" ref」:」myResourceId「} |
workerGroup | 工作者群組。這是用於路由任務。如果您提供 runsOn 值,且 workerGroup 存在,則會忽略 workerGroup 。 |
字串 |
選用欄位 | 描述 | 槽類型 |
---|---|---|
attemptStatus | 遠端活動最新回報的狀態。 | 字串 |
attemptTimeout | 遠端工作完成的逾時。如果設定,則系統可能會重試未在設定開始時間內完成的遠端活動。 | 期間 |
dependsOn | 指定與另一個可執行物件的相依性。 | 引用對象,例如 dependsOn「「:{" ref」:」myActivityId「} |
failureAndRerun模式 | 描述相依性故障或重新執行時的消費者節點行為 | 列舉 |
input | 輸入資料的位置。 | 引用對象,例如「輸入」:{「參考」:「myDataNodeID」} |
lateAfterTimeout | 管道排程啟動以來的時間期間,物件執行必須在此期間內啟動。 | 期間 |
maxActiveInstances | 同時作用中的元件執行個體數目上限。重新執行不計入作用中的執行個體數量。 | Integer |
maximumRetries | 故障時嘗試重試的次數上限 | Integer |
onFail | 目前物件發生故障時要執行的動作。 | 引用對象,例如 onFail「「:{" ref」:」myActionId「} |
onLateAction | 如果物件尚未排定或仍未在管線的排定開始時段內完成,則應觸發的動作 (如 'lateAfterTimeout' 所指定)。 | 引用對象,例如 onLateAction「「:{" ref」:」myActionId「} |
onSuccess | 目前物件成功時要執行的動作。 | 引用對象,例如 onSuccess「「:{" ref」:」myActionId「} |
output | 輸出資料的位置。這僅適用於從腳本中引用(例如#{output.tablename} )以及通過在輸出數據節點中設置 createTableSql '' 來創建輸出表。SQL查詢的輸出不會寫入輸出資料節點。 |
引用對象,例如「輸出」:{「ref」:「myDataNodeID」} |
parent | 目前物件的父系,其插槽會被繼承。 | 引用對象,例如「父」:{「ref」:「myBaseObjectID」} |
pipelineLogUri | 用於上傳管道日誌的 S3URI(例如 's3://BucketName/鍵/')。 | 字串 |
precondition | 選擇是否定義先決條件。在符合所有先決條件之前,資料節點不會標記 READY ""。 | 引用對象,例如「前提條件」:{「ref」:」myPreconditionId「} |
佇列 | [僅限 Amazon Redshift] 對應到 Amazon Redshift 中的 query_group 設定,允許您根據活動在佇列中的位置,指派及優先處理同時進行的活動。Amazon Redshift 會將同時連線數限制在 15。如需詳細資訊,請參閱《Amazon Redshift 資料庫開發人員指南》中的將查詢指派給佇列。 | 字串 |
reportProgressTimeout | 遠端工作連續呼叫的逾時。reportProgress如果設定,則不回報指定時段進度的遠端活動,可能會視為已停滯而重試。 | 期間 |
retryDelay | 兩次重試嘗試之間的逾時持續時間。 | 期間 |
scheduleType |
排程類型可讓您指定管道定義的物件應該排程在間隔開頭還是間隔結尾。值為:
|
列舉 |
scriptArgument | 指令碼的變數清單。您也可以改為將表達式直接置放在指令碼欄位中。當指令碼存放在 Amazon S3 中時,的多個值會很有幫助。 scriptArgument 例如:# {格式(@scheduledStartTime,「Y-MM-DD HH:毫米:SS」}\ n # {格式plusPeriod(@scheduledStartTime,「1 天」),「YY-MM-DD HH:毫米:SS」} | 字串 |
執行時間欄位 | 描述 | 槽類型 |
---|---|---|
@activeInstances | 目前已排程的作用中執行個體物件清單。 | 引用對象,例如 activeInstances「「:{" ref」:」myRunnableObject ID "} |
@actualEndTime | 此物件執行完成的時間。 | DateTime |
@actualStartTime | 此物件執行開始的時間。 | DateTime |
cancellationReason | cancellationReason 如果此物件已取消。 | 字串 |
@cascadeFailedOn | 物件失敗所在的相依鏈的描述。 | 引用對象,例如 cascadeFailedOn「「:{" ref」:」myRunnableObject ID "} |
emrStepLog | EMR步驟記錄僅適用於EMR活動嘗試 | 字串 |
errorId | errorId 如果此對象失敗。 | 字串 |
errorMessage | errorMessage 如果此對象失敗。 | 字串 |
errorStackTrace | 如果此物件失敗,則為錯誤堆疊追蹤。 | 字串 |
@finishedTime | 此物件完成其執行的時間。 | DateTime |
hadoopJobLog | Hadoop 工作日誌可用於EMR基於活動的嘗試。 | 字串 |
@healthStatus | 反映已達終止狀態之最後一個物件執行個體成功或失敗的物件運作狀態。 | 字串 |
@healthStatusFromInstanceId | 已達終止狀態之最後一個執行個體物件的 ID。 | 字串 |
@ healthStatusUpdated 時間 | 上次更新運作狀態的時間。 | DateTime |
hostname | 選取任務嘗試之用戶端的主機名稱。 | 字串 |
@lastDeactivatedTime | 此物件最後停用的時間。 | DateTime |
@ latestCompletedRun 時間 | 執行完成最近一次執行的時間。 | DateTime |
@latestRunTime | 執行排程最近一次執行的時間。 | DateTime |
@nextRunTime | 下次要排程執行的時間。 | DateTime |
reportProgressTime | 遠端活動最近報告進度的時間。 | DateTime |
@scheduledEndTime | 物件的排程結束時間 | DateTime |
@scheduledStartTime | 物件的排程開始時間 | DateTime |
@status | 此物件的狀態。 | 字串 |
@version | 建立物件使用的管道版本。 | 字串 |
@waitingOn | 此物件等待之相依性清單的描述。 | 引用對象,例如 waitingOn「「:{" ref」:」myRunnableObject ID "} |
系統欄位 | 描述 | 槽類型 |
---|---|---|
@error | 描述格式錯誤物件的錯誤。 | 字串 |
@pipelineId | 此物件所屬管道的 ID。 | 字串 |
@sphere | 物件範圍代表其在生命週期中的位置:Component 物件會引發執行 Attempt 物件的 Instance 物件。 | 字串 |