

AWS Data Pipeline 不再提供給新客戶。的現有客戶 AWS Data Pipeline 可以繼續正常使用服務。[進一步了解](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# S3KeyExists
<a name="dp-object-S3KeyExists"></a>

 檢查金鑰是否存在於 Amazon S3 資料節點中。

## 範例
<a name="dp-object-S3KeyExists-example"></a>

以下為此物件類型的範例。當 `s3Key` 參數所參考的鍵 (`s3://amzn-s3-demo-bucket/mykey`) 存在時，便會觸發先決條件。

```
{
"id" : "InputReady",
"type" : "S3KeyExists",
"role" : "test-role",
"s3Key" : "s3://amzn-s3-demo-bucket/mykey"
}
```

您也可以在第二個管道上使用 `S3KeyExists` 做為先決條件，等待第一個管道完成。若要這麼做：

1. 在第一個管道完成時，將檔案寫入 Amazon S3。

1. 在第二個管道上建立 `S3KeyExists` 先決條件。

## 語法
<a name="S3KeyExists-syntax"></a>


****  

| 必要欄位 | Description | 槽類型 | 
| --- | --- | --- | 
| role | 指定要用來執行先決條件的角色。 | String | 
| s3Key | Amazon S3 金鑰。 | String | 

 


****  

| 選用欄位 | Description | 槽類型 | 
| --- | --- | --- | 
| attemptStatus | 遠端活動最新回報的狀態。 | String | 
| attemptTimeout | 再一次嘗試完成遠端工作之前逾時。如果設定，則系統可能會再次嘗試未在開始之後、設定時間內完成的遠端活動。 | Period | 
| failureAndRerunMode | 描述相依性故障或重新執行時的消費者節點行為。 | 列舉 | 
| lateAfterTimeout | 物件必須完成的管道啟動後經過的時間。只有在排程類型未設定為 時，才會觸發它ondemand。 | Period | 
| maximumRetries | 在故障發生時可啟動的嘗試數量上限。 | Integer | 
| onFail | 目前物件發生故障時要執行的動作。 | 參考物件，例如 "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | 某個物件尚未排程或仍未完成時，應該觸發的動作。 | 參考物件，例如 "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | 目前物件成功時要執行的動作。 | 參考物件，例如 "onSuccess":\$1"ref":"myActionId"\$1 | 
| parent | 目前物件的父系，其插槽會被繼承。 | 參考物件，例如 "parent":\$1"ref":"myBaseObjectId"\$1 | 
| preconditionTimeout | 自開始起的一段期間，在這段期間之後，如果仍未符合先決條件即會將其標示為失敗。 | Period | 
| reportProgressTimeout | 遠端工作連續呼叫  reportProgress 的逾時。如果設定，則系統可能會將未回報指定時段進度的遠端活動視為已停滯並重試。 | Period | 
| retryDelay | 兩次連續嘗試之間的逾時持續時間。 | Period | 

 


****  

| 執行時間欄位 | Description | 槽類型 | 
| --- | --- | --- | 
| @activeInstances | 目前已排程的作用中執行個體物件清單。 | 參考物件，例如 "activeInstances":\$1"ref":"myRunnableObjectId"\$1 | 
| @actualEndTime | 此物件執行完成的時間。 | DateTime | 
| @actualStartTime | 此物件執行開始的時間。 | DateTime | 
| cancellationReason | 若此物件已取消，會提供 cancellationReason。 | String | 
| @cascadeFailedOn | 物件失敗所在的相依鏈的描述。 | 參考物件，例如 "cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 | 
| currentRetryCount | 在這個嘗試中，已嘗試過先決條件的次數。 | String | 
| emrStepLog | 只在 EMR 活動嘗試時才可使用的 EMR 步驟日誌 | String | 
| errorId | 若此物件失敗，會提供 errorId。 | String | 
| errorMessage | 若此物件失敗，會提供 errorMessage。 | String | 
| errorStackTrace | 如果此物件失敗，則為錯誤堆疊追蹤。 | String | 
| hadoopJobLog | 嘗試 EMR 型活動可用的 Hadoop 任務日誌。 | String | 
| hostname | 選取任務嘗試之用戶端的主機名稱。 | String | 
| lastRetryTime | 在這個嘗試中，上次嘗試先決條件的時間。 | String | 
| 節點 | 即將執行此先決條件的節點 | 參考物件，例如 "node":\$1"ref":"myRunnableObjectId"\$1 | 
| reportProgressTime | 遠端活動最近報告進度的時間。 | DateTime | 
| @scheduledEndTime | 物件的排程結束時間 | DateTime | 
| @scheduledStartTime | 物件的排程開始時間 | DateTime | 
| @status | 此物件的狀態。 | String | 
| @version | 建立物件使用的管道版本。 | String | 
| @waitingOn | 此物件等待之相依性清單的描述。 | 參考物件，例如 "waitingOn":\$1"ref":"myRunnableObjectId"\$1 | 

 


****  

| 系統欄位 | Description | 槽類型 | 
| --- | --- | --- | 
| @error | 描述格式錯誤物件的錯誤 | String | 
| @pipelineId | 此物件所屬管道的 ID | String | 
| @sphere | 物件範圍代表其在生命週期中的位置：Component 物件會引發執行 Attempt 物件的 Instance 物件 | String | 

## 另請參閱
<a name="S3KeyExists-seealso"></a>
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)