

AWS Data Pipeline は新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS Data Pipeline 引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# パイプラインオブジェクトリファレンス
<a name="dp-pipeline-objects"></a>

パイプライン定義では、以下のパイプラインオブジェクトとコンポーネントを使用できます。

**Topics**
+ [データノード](dp-object-datanodes.md)
+ [アクティビティ](dp-object-activities.md)
+ [リソース](dp-object-resources.md)
+ [前提条件](dp-object-preconditions.md)
+ [データベース](dp-object-databases.md)
+ [データ形式](dp-object-dataformats.md)
+ [アクション](dp-object-actions.md)
+ [スケジュール](dp-object-schedule.md)
+ [Utilities](dp-object-utilities.md)

**注記**  
Java SDK を使用するアプリケーションの例については、GitHub AWS Data Pipeline の[「Data Pipeline DynamoDB Export Java Sample](https://github.com/awslabs/data-pipeline-samples/tree/master/samples/DynamoDBExportJava)」を参照してください。

以下は、 のオブジェクト階層です AWS Data Pipeline。

![\[AWS Data Pipeline オブジェクト階層\]](http://docs.aws.amazon.com/ja_jp/datapipeline/latest/DeveloperGuide/images/object_hierarchy.png)


# データノード
<a name="dp-object-datanodes"></a>

 AWS Data Pipeline データノードオブジェクトは次のとおりです。

**Topics**
+ [DynamoDBDataNode](dp-object-dynamodbdatanode.md)
+ [MySqlDataNode](dp-object-mysqldatanode.md)
+ [RedshiftDataNode](dp-object-redshiftdatanode.md)
+ [S3DataNode](dp-object-s3datanode.md)
+ [SqlDataNode](dp-object-sqldatanode.md)

# DynamoDBDataNode
<a name="dp-object-dynamodbdatanode"></a>

 DynamoDB を使用してデータノードを定義します。データノードは、`HiveActivity` または `EMRActivity` オブジェクトの入力として指定されます。

**注記**  
`DynamoDBDataNode` オブジェクトは、`Exists` 前提条件をサポートしていません。

## 例
<a name="dynamodbdatanode-example"></a>

以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 2 つ参照します。`CopyPeriod` は `Schedule` オブジェクトで、`Ready` は前提条件オブジェクトです。

```
{
  "id" : "MyDynamoDBTable",
  "type" : "DynamoDBDataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "tableName" : "adEvents",
  "precondition" : { "ref" : "Ready" }
}
```

## 構文
<a name="dynamodbdatanode-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| tableName | DynamoDB テーブル。 | String | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[スケジュール](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。このフィールドを設定すると、開始後の設定時間内に完了しなかったリモートアクティビティを再試行できます。 | Period | 
| dataFormat | このデータノードで説明されるデータの DataFormat。現在は、HiveActivity と HiveCopyActivity 用にサポートされます。 | 参照オブジェクト "dataFormat":\$1"ref":"myDynamoDBDataFormatId"\$1 | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| readThroughputPercent | DynamoDB のプロビジョニングされたスループットレートが、表の割り当てられた範囲内に収まるように、読み取りオペレーションのレートを設定します。値は 0.1 ～ 1.0 の範囲の double 値です。 | Double | 
| リージョン | DynamoDB テーブルがあるリージョンのコード。例えば、us-east-1 などです。Hive での DynamoDB テーブルのステージングの実行時に、HiveActivity によって使用されます。 | 一覧表 | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 
| writeThroughputPercent | DynamoDB のプロビジョニングされたスループットレートが、表の割り当てられた範囲内に収まるように、書き込みオペレーションのレートを設定します。値は 0.1～1.0 の範囲の double 値です。 | Double | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# MySqlDataNode
<a name="dp-object-mysqldatanode"></a>

 MySQL を使用するデータノードを定義します。

**注記**  
`MySqlDataNode` 型は廃止されました。代わりに [SqlDataNode](dp-object-sqldatanode.md) を使用することをお勧めします。

## 例
<a name="mysqldatanode-example"></a>

以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 2 つ参照します。`CopyPeriod` は `Schedule` オブジェクトで、`Ready` は前提条件オブジェクトです。

```
{
  "id" : "Sql Table",
  "type" : "MySqlDataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "table" : "adEvents",
  "username": "user_name",
  "*password": "my_password",
  "connectionString": "jdbc:mysql://mysqlinstance-rds.example.us-east-1.rds.amazonaws.com:3306/database_name",
  "selectQuery" : "select * from #{table} where eventTime >= '#{@scheduledStartTime.format('YYYY-MM-dd HH:mm:ss')}' and eventTime < '#{@scheduledEndTime.format('YYYY-MM-dd HH:mm:ss')}'",
  "precondition" : { "ref" : "Ready" }
}
```

### 構文
<a name="mysqldatanode-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| テーブル | MySQL データベースのテーブルの名前。 | String | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| createTableSql | テーブルを作成する SQL テーブル作成式。 | String | 
| データベース | データベースの名前。 | 参照オブジェクト ("database":\$1"ref":"myDatabaseId"\$1 など) | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| insertQuery | データをテーブルに挿入する SQL ステートメント。 | String | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| schemaName | テーブルを保持するスキーマの名前 | String | 
| selectQuery | テーブルからデータを取得する SQL ステートメント。 | String | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="mysqldatanode-seealso"></a>
+ [S3DataNode](dp-object-s3datanode.md)

# RedshiftDataNode
<a name="dp-object-redshiftdatanode"></a>

Amazon Redshift を使用するデータノードを定義します。`RedshiftDataNode` は、パイプラインで使用される、データベース内のデータのプロパティ (データテーブルなど) を表します。

## 例
<a name="redshiftdatanode-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MyRedshiftDataNode",
  "type" : "RedshiftDataNode",
  "database": { "ref": "MyRedshiftDatabase" },
  "tableName": "adEvents",
  "schedule": { "ref": "Hour" }
}
```

## 構文
<a name="redshiftdatanode-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| データベース | テーブルが存在するデータベース。 | 参照オブジェクト ("database":\$1"ref":"myRedshiftDatabaseId"\$1 など) | 
| tableName | Amazon Redshift テーブルの名前。このテーブルが存在しない場合に createTableSql を指定すると、テーブルが作成されます。 | String | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| createTableSql | データベースにテーブルを作成する SQL 式。テーブルを作成するスキーマを指定することをお勧めします。たとえば、CREATE TABLE mySchema.myTable (bestColumn varchar(25) primary key distkey, numberOfWins integer sortKey) です。tableName で指定されたテーブルが schemaName フィールドで指定されたスキーマに存在しない場合は、createTableSql schemaName フィールドでスクリプト AWS Data Pipeline を実行します。たとえば、schemaName として mySchema を指定し、createTableSql フィールドに mySchema を含めない場合、間違ったスキーマにテーブルが作成されます (デフォルトでは PUBLIC に作成されます)。これは、AWS Data Pipeline では CREATE TABLE ステートメントが解析されないためです。 | String | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| primaryKeys | RedShiftCopyActivity でコピー先テーブルの primaryKeys を指定しなかった場合は、primaryKeys を使用して列のリストを指定すると、これが mergeKey の役割を果たします。ただし、Amazon Redshift テーブルに primaryKey が既に定義されている場合は、この設定によって既存キーがオーバーライドされます。 | String | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| schemaName | このオプションフィールドは、Amazon Redshift テーブルのスキーマ名を指定します。指定されていない場合、スキーマ名が PUBLIC (Amazon Redshift のデフォルトスキーマ) であると見なされます。詳細については、「Amazon Redshift データベースデベロッパーガイド」を参照してください。 | String | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# S3DataNode
<a name="dp-object-s3datanode"></a>

 Amazon S3 を使用するデータノードを定義します。デフォルトでは、S3DataNode ではサーバー側の暗号化が使用されます。この機能を無効にするには、s3EncryptionType を NONE に設定してください。

**注記**  
`CopyActivity` の入力として `S3DataNode` を使用するときは、CSV データ形式および TSV データ形式のみがサポートされます。

## 例
<a name="s3datanode-example"></a>

以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した別のオブジェクトを参照します。`CopyPeriod` は `Schedule` オブジェクトです。

```
{
  "id" : "OutputData",
  "type" : "S3DataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "filePath" : "s3://amzn-s3-demo-bucket/#{@scheduledStartTime}.csv"
}
```

## 構文
<a name="s3datanode-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| compression | S3DataNode によって記述されたデータの圧縮タイプ。"none" は圧縮なしで、"gzip" は gzip アルゴリズムで圧縮されています。このフィールドは、Amazon Redshift で S3DataNode を CopyActivity に使用する場合にのみサポートされます。 | 一覧表 | 
| dataFormat | この S3DataNode データノードで説明されるデータの DataFormat。 | 参照オブジェクト ("dataFormat":\$1"ref":"myDataFormatId"\$1 など) | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| directoryPath | URI としての Amazon S3 のディレクトリパス: s3://my-bucket/my-key-for-directory。filePath または directoryPath のどちらかの値を指定する必要があります。 | String | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| filePath | URI としての Amazon S3 のオブジェクトに対するパス: s3://my-bucket/my-key-for-file。filePath または directoryPath のどちらかの値を指定する必要があります。これらの値は、フォルダとファイル名を表します。ディレクトリに複数のファイルを格納する場合は、directoryPath 値を使用します。 | String | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| manifestFilePath | Amazon Redshift. でサポートされている形式のマニフェストファイルへの Amazon S3 パスは、マニフェストファイル AWS Data Pipeline を使用して、指定された Amazon S3 ファイルをテーブルにコピーします。このフィールドは、RedShiftCopyActivity が S3DataNode を参照する場合にのみ有効です。 | String | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| s3EncryptionType | Amazon S3 の暗号化タイプをオーバーライドします。値は SERVER\$1SIDE\$1ENCRYPTION または NONE です。デフォルトではサーバー側の暗号化が有効化されます。 | 一覧表 | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

## 以下の資料も参照してください。
<a name="s3datanode-seealso"></a>
+ [MySqlDataNode](dp-object-mysqldatanode.md)

# SqlDataNode
<a name="dp-object-sqldatanode"></a>

 SQL を使用するデータノードを定義します。

## 例
<a name="example-sql-data-node"></a>

以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 2 つ参照します。`CopyPeriod` は `Schedule` オブジェクトで、`Ready` は前提条件オブジェクトです。

```
{
  "id" : "Sql Table",
  "type" : "SqlDataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "table" : "adEvents",
  "database":"myDataBaseName",
  "selectQuery" : "select * from #{table} where eventTime >= '#{@scheduledStartTime.format('YYYY-MM-dd HH:mm:ss')}' and eventTime < '#{@scheduledEndTime.format('YYYY-MM-dd HH:mm:ss')}'",
  "precondition" : { "ref" : "Ready" }
}
```

## 構文
<a name="sql-data-node-slots"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| テーブル | SQL データベースのテーブルの名前。 | String | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| createTableSql | テーブルを作成する SQL テーブル作成式。 | String | 
| データベース | データベースの名前。 | 参照オブジェクト ("database":\$1"ref":"myDatabaseId"\$1 など) | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| insertQuery | データをテーブルに挿入する SQL ステートメント。 | String | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| schemaName | テーブルを保持するスキーマの名前 | String | 
| selectQuery | テーブルからデータを取得する SQL ステートメント。 | String | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

## 以下の資料も参照してください。
<a name="sql-data-node-see-also"></a>
+ [S3DataNode](dp-object-s3datanode.md)

# アクティビティ
<a name="dp-object-activities"></a>

 AWS Data Pipeline アクティビティオブジェクトは次のとおりです。

**Topics**
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrActivity](dp-object-emractivity.md)
+ [HadoopActivity](dp-object-hadoopactivity.md)
+ [HiveActivity](dp-object-hiveactivity.md)
+ [HiveCopyActivity](dp-object-hivecopyactivity.md)
+ [PigActivity](dp-object-pigactivity.md)
+ [RedshiftCopyActivity](dp-object-redshiftcopyactivity.md)
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [SqlActivity](dp-object-sqlactivity.md)

# CopyActivity
<a name="dp-object-copyactivity"></a>

​ある場所から別の場所にデータをコピーします。`CopyActivity` は入出力として [S3DataNode](dp-object-s3datanode.md) と [SqlDataNode](dp-object-sqldatanode.md) をサポートし、コピーオペレーションは通常、レコード単位で実行されます。ただし、以下のすべての条件が満たされた場合、`CopyActivity` は Amazon S3 から Amazon S3 への高速コピーを実行します。
+ 入力と出力が S3DataNodes であること
+ `dataFormat` フィールドが入力と出力で同じであること

入力として圧縮データファイルを指定した場合に、それを S3 データノードの `compression` フィールドを使用して示していなければ、`CopyActivity` は失敗することがあります。この場合、`CopyActivity` がレコード終了文字を適切に検出できないために、操作が失敗しています。さらに、`CopyActivity` では、ディレクトリから別のディレクトリへのコピー、および、ファイルのディレクトリへのコピーがサポートされますが、ディレクトリをファイルにコピーする際はレコード単位のコピーが実行されます。また、`CopyActivity` では、マルチパートの Amazon S3 ファイルのコピーはサポートされません。

`CopyActivity` には CSV サポートに関して特定の制限があります。`CopyActivity` の入力として S3DataNode を使用するとき、Amazon S3 入出力フィールドに使用できるのは、Unix/Linux の CSV データファイル形式のみです。この Unix/Linux 形式では、次の条件が満たされる必要があります。
+ 区切り文字はカンマ（,）文字です。
+ レコードが引用符で囲まれることはありません。
+ デフォルトのエスケープ文字は、ASCII 値 92（バックスラッシュ）です。
+ レコード終了識別子は、ASCII 値 10（"\$1n"）です。

Windows ベースのシステムでは、通常、復帰と改行の連続（ASCII 値 13 および ASCII 値 10）という別のレコード終了文字が使用されています。入力データを変更するコピー前スクリプトなどを利用して、この違いを吸収し、`CopyActivity` が適切にレコード終端を検出できるようにする必要があります。そうしないと、`CopyActivity` が繰り返し失敗します。

`CopyActivity` を使用して PostgreSQL RDS オブジェクトから TSV データ形式にエクスポートする場合、デフォルトの NULL 文字は \$1n です。

## 例
<a name="copyactivity-example"></a>

以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 3 つ参照します。`CopyPeriod` は `Schedule` オブジェクトで、`InputData` と `OutputData` はデータノードオブジェクトです。

```
{
  "id" : "S3ToS3Copy",
  "type" : "CopyActivity",
  "schedule" : { "ref" : "CopyPeriod" },
  "input" : { "ref" : "InputData" },
  "output" : { "ref" : "OutputData" },
  "runsOn" : { "ref" : "MyEc2Resource" }
}
```

## 構文
<a name="copyactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データソース。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データソース。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

## 以下の資料も参照してください。
<a name="copyactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)
+ [を使用して MySQL データを Amazon S3 にエクスポートする AWS Data Pipeline](dp-copydata-mysql.md)

# EmrActivity
<a name="dp-object-emractivity"></a>

 EMR クラスターを実行します。

AWS Data Pipeline は、Amazon EMR とは異なる形式のステップを使用します。たとえば、`EmrActivity`ステップフィールドの JAR 名の後にカンマ区切りの引数 AWS Data Pipeline を使用します。次の例は、Amazon EMR 形式のステップと、同等の AWS Data Pipeline のステップです。

```
s3://amzn-s3-demo-bucket/MyWork.jar arg1 arg2 arg3
```

```
"s3://amzn-s3-demo-bucket/MyWork.jar,arg1,arg2,arg3"
```

## 例
<a name="emractivity-example"></a>

以下は、このオブジェクト型の例です。この例では、旧バージョンの Amazon EMR を使用しています。現在使用しているバージョンの Amazon EMR クラスターで、この例が正しいことを検証してください。

このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 3 つ参照します。`MyEmrCluster` は `EmrCluster` オブジェクトで、`MyS3Input` と `MyS3Output` は `S3DataNode` オブジェクトです。

**注記**  
この例では、`step` フィールドをクラスター文字列（Pig スクリプト、Hadoop ストリーミングクラスター、パラメータを含む独自のカスタム JAR など）に置き換えることができます。

Hadoop 2.x (AMI 3.x)

```
{
  "id" : "MyEmrActivity",
  "type" : "EmrActivity",
  "runsOn" : { "ref" : "MyEmrCluster" },
  "preStepCommand" : "scp remoteFiles localFiles",
  "step" : ["s3://amzn-s3-demo-bucket/myPath/myStep.jar,firstArg,secondArg,-files,s3://amzn-s3-demo-bucket/myPath/myFile.py,-input,s3://myinputbucket/path,-output,s3://myoutputbucket/path,-mapper,myFile.py,-reducer,reducerName","s3://amzn-s3-demo-bucket/myPath/myotherStep.jar,..."],
  "postStepCommand" : "scp localFiles remoteFiles",
  "input" : { "ref" : "MyS3Input" },
  "output" : { "ref" : "MyS3Output" }
}
```

**注記**  
引数を 1 ステップでアプリケーションに渡すには、以下の例のように、スクリプトのパスに Region を指定する必要があります。さらに、渡す引数をエスケープすることが必要になる場合があります。たとえば、`script-runner.jar` を使ってシェルスクリプトを実行する場合、スクリプトに引数を渡すには、引数を区切るカンマをエスケープする必要があります。次のステップスロットはそれを行う方法を示しています。  

```
"step" : "s3://eu-west-1.elasticmapreduce/libs/script-runner/script-runner.jar,s3://datapipeline/echo.sh,a\\\\,b\\\\,c"
```
このステップでは、`script-runner.jar` を使って `echo.sh` シェルスクリプトを実行し、`a`、`b`、`c` を単一の引数としてスクリプトに渡します。最初のエスケープ文字は結果として生じる引数から削除されるので再度エスケープする必要があります。たとえば、`File\.gz` を引数として JSON に渡す場合は、それを `File\\\\.gz` を使ってエスケープできます。ただし、最初のエスケープは破棄されるため、`File\\\\\\\\.gz ` を使う必要があります。

## 構文
<a name="emractivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するために、別のオブジェクトへのスケジュール参照を指定します。この要件を満たすには、オブジェクトのスケジュールを明示的に設定できます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合は、スケジュール参照がある親オブジェクトを作成できます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | このジョブが実行される Amazon EMR クラスター。 | 参照オブジェクト ("​runsOn":\$1"ref":"myEmrClusterId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データの場所。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト ("onFail":\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データの場所。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI (s3://BucketName/Prefix/ など)。 | String | 
| postStepCommand | すべてのステップが完了した後に実行するシェルスクリプト。スクリプトを複数（最大 255 個）指定するには、postStepCommand フィールドを複数追加します。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| preStepCommand | ステップを実行する前に実行するシェルスクリプト。スクリプトを複数（最大 255 個）指定するには、preStepCommand フィールドを複数追加します。 | String | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resizeClusterBeforeRunning |  入力または出力として指定された DynamoDB テーブルに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。  が入力または出力データノード`DynamoDBDataNode`として `EmrActivity`を使用し、 `resizeClusterBeforeRunning`を に設定すると`TRUE`、 は`m3.xlarge`インスタンスタイプを使用して AWS Data Pipeline 開始します。これによりインスタンスタイプの選択が `m3.xlarge` に上書きされるため、月別コストが増加することがあります。   | ブール値 | 
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限。 | 整数 | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプでは、パイプライン定義のオブジェクトを間隔の最初にスケジュールするか、間隔の最後にスケジュールするかを指定できます。値は、cron、ondemand、および timeseries です。timeseries スケジューリングでは、インスタンスを各間隔の最後にスケジュールします。cron スケジューリングでは、インスタンスを各間隔の最初にスケジュールします。ondemand スケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。ondemand スケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。ondemand パイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出します。 | 一覧表 | 
| ステップ | クラスターが実行する 1 つ以上のステップ。ステップを複数 (最大 255 個) 指定するには、ステップフィールドを複数追加します。JAR 名の後にカンマで区切って引数を使用します (例: s3://amzn-s3-demo-bucket/MyWork.jar,arg1,arg2,arg3)。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="emractivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrCluster](dp-object-emrcluster.md)

# HadoopActivity
<a name="dp-object-hadoopactivity"></a>

 クラスターで MapReduce ジョブを実行します。クラスターは AWS Data Pipeline によって管理される EMR クラスターです。または TaskRunner を使用する場合、クラスターは別のリソースです。並列処理を行うときは HadoopActivity を使用します。これにより、YARN フレームワークまたは Hadoop 1 の MapReduce リソースネゴシエータのスケジューリングリソースを使用できます。Amazon EMR ステップアクションを使用して作業を連続的に実行する場合は、依然として [EmrActivity](dp-object-emractivity.md) を使用できます。

## 例
<a name="hadoopactivity-example"></a>

**によって管理される EMR クラスターを使用した HadoopActivity AWS Data Pipeline**  
次の HadoopActivity オブジェクトは、EmrCluster リソースを使用してプログラムを実行します。

```
 {
   "name": "MyHadoopActivity",
   "schedule": {"ref": "ResourcePeriod"},
   "runsOn": {"ref": “MyEmrCluster”},
   "type": "HadoopActivity",
   "preActivityTaskConfig":{"ref":"preTaskScriptConfig”},   
   "jarUri": "/home/hadoop/contrib/streaming/hadoop-streaming.jar",
   "argument": [
     "-files",
     “s3://elasticmapreduce/samples/wordcount/wordSplitter.py“,
     "-mapper",
     "wordSplitter.py",
     "-reducer",
     "aggregate",
     "-input",
     "s3://elasticmapreduce/samples/wordcount/input/",
     "-output",
     “s3://amzn-s3-demo-bucket/MyHadoopActivity/#{@pipelineId}/#{format(@scheduledStartTime,'YYYY-MM-dd')}"
   ],
   "maximumRetries": "0",
   "postActivityTaskConfig":{"ref":"postTaskScriptConfig”},
   "hadoopQueue" : “high”
 }
```

こちらの対応する *MyEmrCluster* では Hadoop 2 AMI の YARN で FairScheduler とキューを設定します。

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
   "hadoopSchedulerType" : "PARALLEL_FAIR_SCHEDULING",
  “amiVersion” : “3.7.0”,
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-z,yarn.scheduler.capacity.root.queues=low\,high\,default,-z,yarn.scheduler.capacity.root.high.capacity=50,-z,yarn.scheduler.capacity.root.low.capacity=10,-z,yarn.scheduler.capacity.root.default.capacity=30”]
}
```

これは Hadoop 1 で FairScheduler を設定するために使う EmrCluster です。

```
{
      "id": "MyEmrCluster",
      "type": "EmrCluster",    
      "hadoopSchedulerType": "PARALLEL_FAIR_SCHEDULING",
      "amiVersion": "2.4.8",
      "bootstrapAction": "s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-m,mapred.queue.names=low\\\\,high\\\\,default,-m,mapred.fairscheduler.poolnameproperty=mapred.job.queue.name"
          }
```

次の EmrCluster は Hadoop 2 AMI の CapacityScheduler を設定します。

```
{
      "id": "MyEmrCluster",
      "type": "EmrCluster",
      "hadoopSchedulerType": "PARALLEL_CAPACITY_SCHEDULING",
      "amiVersion": "3.7.0",
      "bootstrapAction": "s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-z,yarn.scheduler.capacity.root.queues=low\\\\,high,-z,yarn.scheduler.capacity.root.high.capacity=40,-z,yarn.scheduler.capacity.root.low.capacity=60"
    }
```

**既存の EMR クラスターを使用する HadoopActivity**  
この例では、ワーカーグループと TaskRunner を使用して、既存の EMR クラスターでプログラムを実行します。次のパイプライン定義では HadoopActivity を使用して以下の操作を行います。
+ *myWorkerGroup* リソースでのみ MapReduce プログラムを実行する。ワーカーグループの詳細については、「[Task Runnerを使用した既存のリソースでの作業の実行](dp-how-task-runner-user-managed.md)」を参照してください。
+ preActivityTaskConfig と postActivityTaskConfig を実行する。

```
{
  "objects": [
    {
      "argument": [
        "-files",
        "s3://elasticmapreduce/samples/wordcount/wordSplitter.py",
        "-mapper",
        "wordSplitter.py",
        "-reducer",
        "aggregate",
        "-input",
        "s3://elasticmapreduce/samples/wordcount/input/",
        "-output",
        "s3://amzn-s3-demo-bucket/MyHadoopActivity/#{@pipelineId}/#{format(@scheduledStartTime,'YYYY-MM-dd')}"
      ],
      "id": "MyHadoopActivity",
      "jarUri": "/home/hadoop/contrib/streaming/hadoop-streaming.jar",
      "name": "MyHadoopActivity",
      "type": "HadoopActivity"
    },
    {
      "id": "SchedulePeriod",
      "startDateTime": "start_datetime",
      "name": "SchedulePeriod",
      "period": "1 day",
      "type": "Schedule",
      "endDateTime": "end_datetime"
    },
    {
      "id": "ShellScriptConfig",
      "scriptUri": "s3://amzn-s3-demo-bucket/scripts/preTaskScript.sh",
      "name": "preTaskScriptConfig",
      "scriptArgument": [
        "test",
        "argument"
      ],
      "type": "ShellScriptConfig"
    },
    {
      "id": "ShellScriptConfig",
      "scriptUri": "s3://amzn-s3-demo-bucket/scripts/postTaskScript.sh",
      "name": "postTaskScriptConfig",
      "scriptArgument": [
        "test",
        "argument"
      ],
      "type": "ShellScriptConfig"
    },
    {
      "id": "Default",
      "scheduleType": "cron",
      "schedule": {
        "ref": "SchedulePeriod"
      },
      "name": "Default",
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/logs/2015-05-22T18:02:00.343Z642f3fe415",
      "maximumRetries": "0",    
      "workerGroup": "myWorkerGroup",
      "preActivityTaskConfig": {
        "ref": "preTaskScriptConfig"
      },
      "postActivityTaskConfig": {
        "ref": "postTaskScriptConfig"
      }    
    }
  ] 
}
```

## 構文
<a name="hadoopactivity-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| jarUri | Amazon S3 の JAR の場所または HadoopActivity で実行するクラスターのローカルファイルシステム。 | String | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | このジョブが実行される EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myEmrClusterId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| argument | JAR に渡す引数。 | String | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| hadoopQueue | アクティビティを送信する先の Hadoop スケジューラーのキュー名。 | String | 
| input | 入力データの場所。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| mainClass | HadoopActivity で実行している JAR のメインクラス。 | String | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データの場所。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="hadoopactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrCluster](dp-object-emrcluster.md)

# HiveActivity
<a name="dp-object-hiveactivity"></a>

EMR クラスターで Hive クエリを実行します。`HiveActivity`​ を使用すると、Amazon EMR アクティビティのセットアップが容易になり、Amazon S3 または Amazon RDS からの入力データに基づいて Hive テーブルが自動的に作成されます。指定する必要があるのは、ソースデータで実行する HiveQL だけです。 は、 `HiveActivity` オブジェクトの入力フィールドに基づいて、`${input1}`、 `${input2}`などの Hive テーブル AWS Data Pipeline を自動的に作成します。

Amazon S3 入力の場合、`dataFormat` フィールドを使用して Hive の列名が作成されます。

MySQL (Amazon RDS) 入力の場合、SQL クエリの列名を使用して Hive の列名が作成されます。

**注記**  
このアクティビティでは、Hive [CSV Serde](https://cwiki.apache.org/confluence/display/Hive/CSV+Serde) を使用しています。

## 例
<a name="hiveactivity-example"></a>

以下は、このオブジェクト型の例です。このオブジェクトは、同じパイプライン定義ファイルで定義した他のオブジェクトを 3 つ参照します。`MySchedule` は `Schedule` オブジェクトで、`MyS3Input` と `MyS3Output` はデータノードオブジェクトです。

```
{
  "name" : "ProcessLogData",
  "id" : "MyHiveActivity",
  "type" : "HiveActivity",
  "schedule" : { "ref": "MySchedule" },
  "hiveScript" : "INSERT OVERWRITE TABLE ${output1} select host,user,time,request,status,size from ${input1};",
  "input" : { "ref": "MyS3Input" },
  "output" : { "ref": "MyS3Output" },
  "runsOn" : { "ref": "MyEmrCluster" }
}
```

## 構文
<a name="hiveactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するために、別のオブジェクトへのスケジュール参照を指定します。この要件を満たすには、オブジェクトのスケジュールを明示的に設定できます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合は、スケジュール参照がある親オブジェクトを作成できます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| hiveScript | 実行する Hive スクリプト。 | String | 
| scriptUri | 実行される Hive スクリプトの場所 (たとえば、s3: //scriptLocation)。 | String | 

 


****  

| 必須のグループ | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | この HiveActivity が実行される EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myEmrClusterId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 
| input | 入力データソース。 | 参照オブジェクト ("input":​\$1"ref":"myDataNodeId"\$1 など) | 
| output | 出力データソース。 | 参照オブジェクト ("output":​\$1"ref":"myDataNodeId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":​\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| hadoopQueue | ジョブを送信する先の Hadoop スケジューラーのキュー名。 | String | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト ("onFail":​\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":​\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":​\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":​\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":​\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resizeClusterBeforeRunning | 入力または出力として指定された DynamoDB データノードに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。 アクティビティで を入力データノードまたは出力データノード`DynamoDBDataNode`として使用し、 `resizeClusterBeforeRunning`を に設定すると`TRUE`、 は`m3.xlarge`インスタンスタイプを使用して AWS Data Pipeline 開始します。これによりインスタンスタイプの選択が `m3.xlarge` に上書きされるため、月別コストが増加することがあります。  | ブール値 | 
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限。 | 整数 | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| scriptVariable | スクリプトの実行時に Amazon EMR が Hive に渡すスクリプト変数を指定します。たとえば、次の例では、スクリプト変数を使って SAMPLE および FILTER\$1DATE という変数を Hive に渡しています: SAMPLE=s3://elasticmapreduce/samples/hive-ads および FILTER\$1DATE=\$1\$1format(@scheduledStartTime,'YYYY-MM-dd')\$1%。このフィールドでは、複数の値を指定でき、script フィールドと scriptUri フィールドの両方で機能します。さらに scriptVariable は stage の設定が true か false かに関係なく機能します。このフィールドは、 AWS Data Pipeline の式と関数を利用して Hive に動的な値を送信するときに特に便利です。 | String | 
| ステージ | スクリプトの実行前または後に、ステージングが有効かどうかを決定します。Hive 11 では許可されていません。Amazon EMR AMI バージョン 3.2.0 以上を使用してください。 | ブール値 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ。 | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":​\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="hiveactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# HiveCopyActivity
<a name="dp-object-hivecopyactivity"></a>

EMR クラスターで Hive クエリを実行します。​`HiveCopyActivity` を使用すると、DynamoDB テーブル間でのデータのコピーが容易になります。`HiveCopyActivity` では、HiveQL ステートメントを指定して、DynamoDB からの入力データを列および行レベルでフィルター処理できます。

## 例
<a name="hivecopyactivity-example"></a>

以下の例は、`HiveCopyActivity` と `DynamoDBExportDataFormat` を使用して、タイムスタンプに基づいてデータをフィルタリングしながら `DynamoDBDataNode` 間でデータをコピーする方法を示します。

```
{
  "objects": [
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBExportDataFormat",
      "column" : "timeStamp BIGINT"
    },
    {
      "id" : "DataFormat.2",
      "name" : "DataFormat.2",
      "type" : "DynamoDBExportDataFormat"
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "item_mapped_table_restore_temp",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "restore_table",
      "region" : "us_west_1",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.2" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.xlarge",
      "coreInstanceCount" : "4"
    },
    {
      "id" : "HiveTransform.1",
      "name" : "Hive Copy Transform.1",
      "type" : "HiveCopyActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" :{ "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "filterSql" : "`timeStamp` > unix_timestamp(\"#{@scheduledStartTime}\", \"yyyy-MM-dd'T'HH:mm:ss\")"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 Hour",
      "startDateTime" : "2013-06-04T00:00:00",
      "endDateTime" : "2013-06-04T01:00:00"
    }
  ]
}
```

## 構文
<a name="hivecopyactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | 実行するクラスターを指定します。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| filterSql | コピーする DynamoDB または Amazon S3 データのサブセットをフィルタリングする Hive SQL ステートメントの断片。によって自動的に AWS Data Pipeline 追加されるため、フィルターには述語のみが含まれ、 WHERE句で始まることはできません。 | String | 
| input | 入力データソース。S3DataNode または DynamoDBDataNode を指定する必要があります。DynamoDBNode を使用する場合は、DynamoDBExportDataFormat を指定します。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データソース。入力が S3DataNode の場合、これは DynamoDBDataNode を指定する必要があります。それ以外の場合は、S3DataNode または DynamoDBDataNode を指定できます。DynamoDBNode を使用する場合は、DynamoDBExportDataFormat を指定します。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI ( 's3://BucketName/Key/' など)。 | String | 
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resizeClusterBeforeRunning | 入力または出力として指定された DynamoDB データノードに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。 アクティビティで を入力データノードまたは出力データノード`DynamoDBDataNode`として使用し、 `resizeClusterBeforeRunning`を に設定すると`TRUE`、 は`m3.xlarge`インスタンスタイプを使用して AWS Data Pipeline 開始します。これによりインスタンスタイプの選択が `m3.xlarge` に上書きされるため、月別コストが増加することがあります。  | ブール値 | 
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限 | 整数 | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ。 | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="hivecopyactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# PigActivity
<a name="dp-object-pigactivity"></a>

PigActivity は、 `ShellCommandActivity` または を使用する AWS Data Pipeline ことなく、 で Pig スクリプトをネイティブにサポートします`EmrActivity`。さらに、PigActivity はステージングもサポートします。stage フィールドが true に設定されていると、 AWS Data Pipeline は Pig のスキーマとして入力データをステージングします（ユーザーがコードを追加する必要はありません）。

## 例
<a name="pigactivity-example"></a>

次のパイプライン例は `PigActivity` の使い方を示します。パイプライン例では、以下のステップを実行します。
+ MyPigActivity1 は、Amazon S3 からデータをロードし、データ列をいくつか選択する Pig スクリプトを実行して、Amazon S3 にアップロードします。
+ MyPigActivity2 は、最初の出力をロードし、データのいくつかの列と 3 行を選択して、2 番目の出力として Amazon S3 にアップロードします。
+ MyPigActivity3 は、2 番目の出力データをロードし、Amazon RDS にデータを 2 行と "fifth" という名前の列のみを挿入します。
+ MyPigActivity4 は、Amazon RDS データをロードし、データの最初の行を選択して、それを Amazon S3 にアップロードします。

```
{
  "objects": [
    {
      "id": "MyInputData1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "directoryPath": "s3://amzn-s3-demo-bucket/pigTestInput",
      "name": "MyInputData1",
      "dataFormat": {
        "ref": "MyInputDataType1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyPigActivity4",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData3"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path/",
      "name": "MyPigActivity4",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "type": "PigActivity",
      "dependsOn": {
        "ref": "MyPigActivity3"
      },
      "output": {
        "ref": "MyOutputData4"
      },
      "script": "B = LIMIT ${input1} 1; ${output1} = FOREACH B GENERATE one;",
      "stage": "true"
    },
    {
      "id": "MyPigActivity3",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData2"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "name": "MyPigActivity3",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "script": "B = LIMIT ${input1} 2; ${output1} = FOREACH B GENERATE Fifth;",
      "type": "PigActivity",
      "dependsOn": {
        "ref": "MyPigActivity2"
      },
      "output": {
        "ref": "MyOutputData3"
      },
      "stage": "true"
    },
    {
      "id": "MyOutputData2",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "name": "MyOutputData2",
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput2",
      "dataFormat": {
        "ref": "MyOutputDataType2"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyOutputData1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "name": "MyOutputData1",
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput1",
      "dataFormat": {
        "ref": "MyOutputDataType1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyInputDataType1",
      "name": "MyInputDataType1",
      "column": [
        "First STRING",
        "Second STRING",
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING",
        "Ninth STRING",
        "Tenth STRING"
      ],
      "inputRegEx": "^(\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+)",
      "type": "RegEx"
    },
    {
      "id": "MyEmrResource",
      "region": "us-east-1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "keyPair": "example-keypair",
      "masterInstanceType": "m1.small",
      "enableDebugging": "true",
      "name": "MyEmrResource",
      "actionOnTaskFailure": "continue",
      "type": "EmrCluster"
    },
    {
      "id": "MyOutputDataType4",
      "name": "MyOutputDataType4",
      "column": "one STRING",
      "type": "CSV"
    },
    {
      "id": "MyOutputData4",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput3",
      "name": "MyOutputData4",
      "dataFormat": {
        "ref": "MyOutputDataType4"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyOutputDataType1",
      "name": "MyOutputDataType1",
      "column": [
        "First STRING",
        "Second STRING",
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING"
      ],
      "columnSeparator": "*",
      "type": "Custom"
    },
    {
      "id": "MyOutputData3",
      "username": "___",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "insertQuery": "insert into #{table} (one) values (?)",
      "name": "MyOutputData3",
      "*password": "___",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "connectionString": "jdbc:mysql://example-database-instance:3306/example-database",
      "selectQuery": "select * from #{table}",
      "table": "example-table-name",
      "type": "MySqlDataNode"
    },
    {
      "id": "MyOutputDataType2",
      "name": "MyOutputDataType2",
      "column": [
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING"
      ],
      "type": "TSV"
    },
    {
      "id": "MyPigActivity2",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData1"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "name": "MyPigActivity2",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "dependsOn": {
        "ref": "MyPigActivity1"
      },
      "type": "PigActivity",
      "script": "B = LIMIT ${input1} 3; ${output1} = FOREACH B GENERATE Third, Fourth, Fifth, Sixth, Seventh, Eighth;",
      "output": {
        "ref": "MyOutputData2"
      },
      "stage": "true"
    },
    {
      "id": "MyEmrResourcePeriod",
      "startDateTime": "2013-05-20T00:00:00",
      "name": "MyEmrResourcePeriod",
      "period": "1 day",
      "type": "Schedule",
      "endDateTime": "2013-05-21T00:00:00"
    },
    {
      "id": "MyPigActivity1",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyInputData1"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "scriptUri": "s3://amzn-s3-demo-bucket/script/pigTestScipt.q",
      "name": "MyPigActivity1",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "scriptVariable": [
        "column1=First",
        "column2=Second",
        "three=3"
      ],
      "type": "PigActivity",
      "output": {
        "ref": "MyOutputData1"
      },
      "stage": "true"
    }
  ]
}
```

`pigTestScript.q` の内容は次のとおりです。

```
B = LIMIT ${input1} $three; ${output1} = FOREACH B GENERATE $column1, $column2, Third, Fourth, Fifth, Sixth, Seventh, Eighth;
```

## 構文
<a name="pigactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スクリプト | 実行する Pig スクリプト。 | String | 
| scriptUri | 実行される Pig スクリプトの場所 (たとえば、s3: //scriptLocation)。 | String | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | この PigActivity が実行される EMR クラスター。 | 参照オブジェクト ("​runsOn":\$1"ref":"myEmrClusterId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データソース。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト ("onFail":\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データソース。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI (s3://BucketName/Key/ など)。 | String | 
| postActivityTaskConfig | 実行するポストアクティビティ設定スクリプト。Amazon S33 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("postActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| preActivityTaskConfig | 実行するプリアクティビティ設定スクリプト。Amazon S3 のシェルスクリプトの URI と引数のリストで構成されます。 | 参照オブジェクト ("preActivityTaskConfig":\$1"ref":"myShellScriptConfigId"\$1 など) | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resizeClusterBeforeRunning | 入力または出力として指定された DynamoDB データノードに対応するため、このアクティビティを実行する前にクラスターのサイズを変更します。 アクティビティで を入力データノードまたは出力データノード`DynamoDBDataNode`として使用し、 `resizeClusterBeforeRunning`を に設定すると`TRUE`、 は`m3.xlarge`インスタンスタイプを使用して AWS Data Pipeline 開始します。これによりインスタンスタイプの選択が `m3.xlarge` に上書きされるため、月別コストが増加することがあります。  | ブール値 | 
| resizeClusterMaxInstances | サイズ変更アルゴリズムによってリクエストできるインスタンスの最大数の制限。 | 整数 | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType | スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 | 一覧表 | 
| scriptVariable | Pig スクリプトに渡す引数。スクリプトまたは scriptUri で scriptVariable を使用できます。 | String | 
| ステージ | ステージングが有効かどうか決定し、ステージングされたデータのテーブル (\$1INPUT1\$1 や \$1OUTPUT1\$1 など) に Pig スクリプトがアクセスできるようにします。 | ブール値 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ。 | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="pigactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# RedshiftCopyActivity
<a name="dp-object-redshiftcopyactivity"></a>

DynamoDB または Amazon S3 から Amazon Redshift にデータをコピーします。新しいテーブルにデータをロードすることも、既存のテーブルにデータを簡単にマージすることもできます。

以下に、`RedshiftCopyActivity` を使用するユースケースの概要を示します。

1. まず AWS Data Pipeline 、 を使用して Amazon S3 でデータをステージングします。

1. `RedshiftCopyActivity` を使用して、Amazon RDS および Amazon EMR から Amazon Redshift にデータを移動します。

   これにより、Amazon Redshift にデータをロードして分析を行うことができます。

1. [SqlActivity](dp-object-sqlactivity.md) を使用して、Amazon Redshift にロードしたデータに対する SQL クエリを実行します。

 さらに、`RedshiftCopyActivity` はマニフェストファイルをサポートするため、`S3DataNode` を操作できます。詳細については、「[S3DataNode](dp-object-s3datanode.md)」を参照してください。

## 例
<a name="redshiftcopyactivity-example"></a>

以下は、このオブジェクト型の例です。

この例では、変換形式を確認するために [EMPTYASNULL](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-emptyasnull) および [IGNOREBLANKLINES](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-ignoreblanklines) 特殊変換パラメータを `commandOptions` で使用します。詳細については、[Amazon Redshift データベース開発者ガイド](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html)の*データ変換パラメータ*を参照してください。

```
{
  "id" : "S3ToRedshiftCopyActivity",
  "type" : "RedshiftCopyActivity",
  "input" : { "ref": "MyS3DataNode" },
  "output" : { "ref": "MyRedshiftDataNode" },
  "insertMode" : "KEEP_EXISTING",
  "schedule" : { "ref": "Hour" },
  "runsOn" : { "ref": "MyEc2Resource" },
  "commandOptions": ["EMPTYASNULL", "IGNOREBLANKLINES"]
}
```

以下のパイプライン定義の例では、`APPEND` 挿入モードを使用するアクティビティを示しています。

```
{
  "objects": [
    {
      "id": "CSVId1",
      "name": "DefaultCSV1",
      "type": "CSV"
    },
    {
      "id": "RedshiftDatabaseId1",
      "databaseName": "dbname",
      "username": "user",
      "name": "DefaultRedshiftDatabase1",
      "*password": "password",
      "type": "RedshiftDatabase",
      "clusterId": "redshiftclusterId"
    },
    {
      "id": "Default",
      "scheduleType": "timeseries",
      "failureAndRerunMode": "CASCADE",
      "name": "Default",
      "role": "DataPipelineDefaultRole",
      "resourceRole": "DataPipelineDefaultResourceRole"
    },
    {
      "id": "RedshiftDataNodeId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "tableName": "orders",
      "name": "DefaultRedshiftDataNode1",
      "createTableSql": "create table StructuredLogs (requestBeginTime CHAR(30) PRIMARY KEY DISTKEY SORTKEY, requestEndTime CHAR(30), hostname CHAR(100), requestDate varchar(20));",
      "type": "RedshiftDataNode",
      "database": {
        "ref": "RedshiftDatabaseId1"
      }
    },
    {
      "id": "Ec2ResourceId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "securityGroups": "MySecurityGroup",
      "name": "DefaultEc2Resource1",
      "role": "DataPipelineDefaultRole",
      "logUri": "s3://myLogs",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "type": "Ec2Resource"
    },
    {
      "id": "ScheduleId1",
      "startDateTime": "yyyy-mm-ddT00:00:00",
      "name": "DefaultSchedule1",
      "type": "Schedule",
      "period": "period",
      "endDateTime": "yyyy-mm-ddT00:00:00"
    },
    {
      "id": "S3DataNodeId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "filePath": "s3://datapipeline-us-east-1/samples/hive-ads-samples.csv",
      "name": "DefaultS3DataNode1",
      "dataFormat": {
        "ref": "CSVId1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "RedshiftCopyActivityId1",
      "input": {
        "ref": "S3DataNodeId1"
      },
      "schedule": {
        "ref": "ScheduleId1"
      },
      "insertMode": "APPEND",
      "name": "DefaultRedshiftCopyActivity1",
      "runsOn": {
        "ref": "Ec2ResourceId1"
      },
      "type": "RedshiftCopyActivity",
      "output": {
        "ref": "RedshiftDataNodeId1"
      }
    }
  ]
}
```

`APPEND` オペレーションは、プライマリキーまたはソートキーにかかわらず、テーブルに項目を追加します。たとえば、以下のテーブルがあるとすると、同じ ID とユーザー値のレコードを追加できます。

```
ID(PK)     USER
1          aaa
2          bbb
```

以下のように、同じ ID とユーザー値のレコードを追加できます。

```
ID(PK)     USER
1          aaa
2          bbb
1          aaa
```

**注記**  
`APPEND` オペレーションが中断されて再試行される場合、結果として再実行されるパイプラインは、最初から追加される可能性があります。これにより、重複するレコードが追加される可能性があるため、行数をカウントするロジックがある場合は、この動作に注意する必要があります。

チュートリアルについては、「[を使用して Amazon Redshift にデータをコピーする AWS Data Pipeline](dp-copydata-redshift.md)」を参照してください。

## 構文
<a name="redshiftcopyactivity-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| insertMode |   ロードするデータの行と重複するターゲットテーブル内の既存のデータの AWS Data Pipeline 処理を決定します。 有効な値は、`KEEP_EXISTING`、`OVERWRITE_EXISTING`、`TRUNCATE`、`APPEND` です。 `KEEP_EXISTING` を指定すると、既存の行を変更することなく、新しい行がテーブルに追加されます。 `KEEP_EXISTING` および` OVERWRITE_EXISTING` はプライマリキー、ソート、およびディストリビューションキーを使用して、既存の行と一致する受信行を識別します。Amazon Redshift *データベース開発者ガイド*の[新しいデータの更新と挿入](https://docs.aws.amazon.com/redshift/latest/dg/t_updating-inserting-using-staging-tables-.html)を参照してください。 `TRUNCATE` は、ターゲットテーブルのデータをすべて削除した後、新しいデータを書き込みます。  `APPEND` は Redshift テーブルの末尾にすべてのレコードを追加します。`APPEND` にはプライマリキーも、分散キーも、ソートキーも不要なため、重複する項目が追加される可能性があります。  | 一覧表 | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール |  このオブジェクトは、スケジュール期間の実行中に呼び出されます。 このオブジェクトの依存関係の実行順序を設定するために、別のオブジェクトへのスケジュール参照を指定します。 ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。たとえば、`"schedule": {"ref": "DefaultSchedule"}` を指定することで、オブジェクトでスケジュールを明示的に設定できます。 パイプラインのマスタースケジュールにネストされたスケジュールがある場合、スケジュール参照がある親オブジェクトを作成します。 オプションのスケジュール設定の例については、「[スケジュール](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。  | 参照オブジェクト ( "schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| commandOptions |  `COPY` オペレーションの実行時に Amazon Redshift データノードに渡すパラメータを受け取ります。パラメータの詳細については、Amazon Redshift *データベース開発者ガイド*の [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) を参照してください。 テーブルをロードする際に、`COPY` は暗黙的に文字列をターゲット列のデータ型に変換しようとします。自動的に発生するデフォルトのデータ変換に加えて、エラーが表示される場合や他の変換を必要とする場合は、追加の変換パラメータを指定できます。詳細については、Amazon Redshift *データベース開発者ガイド*の[データ変換パラメータ](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html)を参照してください。 入力データノードまたは出力データノードにデータ形式が関連付けられている場合、指定されたパラメータは無視されます。 コピーオペレーションがまず `COPY` を使用して、ステージングテーブルにデータを挿入してから、`INSERT` コマンドを使用して、ステージングテーブルからターゲットテーブルにデータをコピーするため、`COPY` の一部のパラメータは適用されません。たとえば、`COPY` コマンドでテーブルの自動圧縮を有効にするパラメーターは適用されません。圧縮が必要な場合は、`CREATE TABLE` ステートメントに列エンコードの詳細を追加します。 また、場合によっては、Amazon Redshift クラスターからデータをアンロードし、Amazon S3 でファイルを作成する必要があるときに、`RedshiftCopyActivity` は Amazon Redshift からの `UNLOAD` オペレーションに依存します。 コピーおよびアンロード中のパフォーマンスを向上させるには、`UNLOAD` コマンドで `PARALLEL OFF` パラメータを指定します。パラメータの詳細については、Amazon Redshift *データベース開発者ガイド*の [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) を参照してください。  | String | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト: "dependsOn":\$1"ref":"myActivityId"\$1 | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データノード。データソースは、Amazon S3、DynamoDB、または Amazon Redshift を使用できます。 | 参照オブジェクト:  "input":\$1"ref":"myDataNodeId"\$1 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト: "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト:  "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト:  "onSuccess":\$1"ref":"myActionId"\$1 | 
| output | 出力データノード。出力場所は、Amazon S3 または Amazon Redshift を使用できます。 | 参照オブジェクト:  "output":\$1"ref":"myDataNodeId"\$1 | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト: "precondition":\$1"ref":"myPreconditionId"\$1 | 
| キュー |  同時発生した複数アクティビティの割り当てと優先順位付けをキュー内の位置に基づいて行うことができる、Amazon Redshift の `query_group ` 設定に相当します。 Amazon Redshift では、同時接続数が 15 に制限されています。詳細については、Amazon RDS *データベース開発者ガイド*の[キューへのクエリの割り当て](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/cm-c-executing-queries.html)を参照してください。  | String | 
| reportProgressTimeout |  `reportProgress` へのリモート作業の連続した呼び出しのタイムアウト。 設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。  | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType |  パイプライン内のオブジェクトのスケジュールを指定できます。値は、`cron`、`ondemand`、および `timeseries` です。 `timeseries` スケジューリングは、インスタンスが各間隔の最後にスケジュールされることを意味します。 `Cron` スケジューリングは、インスタンスが各間隔の最初にスケジュールされることを意味します。 `ondemand` スケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。  `ondemand` パイプラインを使用するには、それ以降の実行ごとに、`ActivatePipeline` オペレーションを呼び出します。 `ondemand` スケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の `scheduleType` である必要があります。  | 一覧表 | 
| transformSql |  入力データの変換に使用される `SQL SELECT` 式。 `transformSql` 式を `staging` という名前のテーブルで実行します。 DynamoDB または Amazon S3 からデータをコピーすると、 AWS Data Pipeline によって「staging」という名前のテーブルが作成され、データがあらかじめロードされます。このテーブルのデータは、ターゲットテーブルの更新に使用されます。 `transformSql` の出力スキーマは最終的なターゲットテーブルのスキーマと一致する必要があります。 `transformSql` オプションを指定した場合は、指定の SQL ステートメントから 2 番目のステージングテーブルが作成されます。この 2 番目のステージングテーブルからのデータが、最終的なターゲットテーブルで更新されます。  | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト: "activeInstances":\$1"ref":"myRunnableObjectId"\$1 | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト:  "cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト:  "waitingOn":\$1"ref":"myRunnableObjectId"\$1 | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球です。ライフサイクルにおける場所を示します。たとえば、コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# ShellCommandActivity
<a name="dp-object-shellcommandactivity"></a>

 コマンドまたはスクリプトを実行します。`ShellCommandActivity` を使用して、時系列で、または cron 風に、スケジュールしたタスクを実行できます。

`stage` フィールドを true に設定して `S3DataNode` とともに使用する場合、`ShellCommandActivity` ではデータのステージングという概念がサポートされます。つまり、データを Amazon S3 から Amazon EC2 などのステージング用の場所またはローカル環境に移動し、そこでスクリプトと `ShellCommandActivity` を使用してデータの処理を実行して、Amazon S3 にデータを戻すことができます。

この場合、シェルコマンドを入力 `S3DataNode` に接続すると、シェルスクリプトは、`ShellCommandActivity` の入力フィールドを参照する `${INPUT1_STAGING_DIR}`、`${INPUT2_STAGING_DIR}` などのフィールドを使用して直接データを操作できます。

同様に、シェルコマンドの出力も、`${OUTPUT1_STAGING_DIR}`、`${OUTPUT2_STAGING_DIR}` などで参照される出力ディレクトリにステージングして、自動的に Amazon S3 に戻すことができます。

これらの式は、コマンドライン引数としてシェルコマンドに渡して、データ変換ロジックで使用することができます。

`ShellCommandActivity` では、Linux 形式のエラーコードと文字列が返されます。`ShellCommandActivity` の結果がエラーであれば、返される `error` はゼロ以外の値になります。

## 例
<a name="shellcommandactivity-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "CreateDirectory",
  "type" : "ShellCommandActivity",
  "command" : "mkdir new-directory"
}
```

## 構文
<a name="shellcommandactivity-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール |  このオブジェクトは、`schedule` 期間の実行中に呼び出されます。 このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへの `schedule` 参照を指定します。 この要件を満たすには、オブジェクトで明示的に `schedule` を設定します。たとえば、`"schedule": {"ref": "DefaultSchedule"}` を指定します。 ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、`schedule` 参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。パイプラインがスケジュールのツリー (マスタースケジュール内のスケジュール) で構成されている場合は、スケジュール参照がある親オブジェクトを作成します。 負荷を分散するために、 は物理オブジェクトをスケジュールより少し前に AWS Data Pipeline 作成しますが、スケジュールどおりに実行します。 オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。  | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| コマンド | 実行するコマンド。\$1 を使用して位置指定パラメータを参照し、scriptArgument を使用してコマンドのパラメータを指定します。この値および関連するパラメーターは、Task Runner を実行している環境で機能する必要があります。 | String | 
| scriptUri | ダウンロードして、シェルコマンドとして実行するファイルの Amazon S3 URI パス。指定できる scriptUri または command フィールドは 1 つだけです。scriptUri はパラメータを使用できません。代わりに command を使用します。 | String | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース (例: Amazon EC2 インスタンス、Amazon EMR クラスター)。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、指定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データの場所。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データの場所。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI ('s3://BucketName/Key/' など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| reportProgressTimeout | リモートアクティビティによる reportProgress への連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType |  パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。 値は、`cron`、`ondemand`、および `timeseries` です。 `timeseries` に設定された場合、インスタンスは各間隔の最後にスケジュールされます。 `Cron` に設定された場合、インスタンスは各間隔の最初にスケジュールされます。 `ondemand` に設定された場合、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。`ondemand` スケジュールを使用する場合は、パイプラインのオブジェクトに対する唯一の `scheduleType` として、デフォルトオブジェクトで指定します。`ondemand` パイプラインを使用するには、それ以降の実行ごとに、`ActivatePipeline` オペレーションを呼び出します。  | 一覧表 | 
| scriptArgument | コマンドにより、指定したコマンドに渡す文字列の JSON 形式の配列。たとえば、コマンドが echo \$11 \$12 であれば、scriptArgument を "param1", "param2" のように指定できます。複数の引数およびパラメータがある場合は、次のように scriptArgument を渡すことができます。 "scriptArgument":"arg1","scriptArgument":"param1","scriptArgument":"arg2","scriptArgument":"param2"scriptArgument は command でのみ使用できます。scriptUri で使用するとエラーが発生します。 | String | 
| ステージ | ステージングが有効かどうか決定し、ステージングされたデータ変数（\$1\$1INPUT1\$1STAGING\$1DIR\$1 や  \$1\$1OUTPUT1\$1STAGING\$1DIR\$1 など）にシェルコマンドがアクセスできるようにします。 | ブール値 | 
| stderr | コマンドからリダイレクトされたシステムエラーメッセージを受け取る パス。runsOn フィールドを使用する場合、アクティビティを実行するリソースが一時的であるため、これは Amazon S3 パスにする必要があります。ただし、workerGroup フィールドを指定した場合は、ローカルファイルパスを指定できます。 | String | 
| stdout | コマンドからリダイレクトされた出力を受け取る Amazon S3 パス。runsOn フィールドを使用する場合、アクティビティを実行するリソースが一時的であるため、これは Amazon S3 パスにする必要があります。ただし、workerGroup フィールドを指定した場合は、ローカルファイルパスを指定できます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトの失敗の原因となった依存関係の説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | Amazon EMR アクティビティの試行でのみ使用可能な Amazon EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | Amazon EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | オブジェクトのステータス。 | String | 
| @version | オブジェクトの作成に使用される AWS Data Pipeline バージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | ライフサイクル内のオブジェクトの場所です。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="shellcommandactivity-seealso"></a>
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# SqlActivity
<a name="dp-object-sqlactivity"></a>

データベースに対する SQL クエリ（スクリプト）を実行します。

## 例
<a name="sqlactivity-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MySqlActivity",
  "type" : "SqlActivity",
  "database" : { "ref": "MyDatabaseID" },
  "script" : "SQLQuery" | "scriptUri" : s3://scriptBucket/query.sql,
  "schedule" : { "ref": "MyScheduleID" },
}
```

## 構文
<a name="sqlactivity-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| データベース | 指定された SQL スクリプトを実行するデータベース。 | 参照オブジェクト ("database":\$1"ref":"myDatabaseId"\$1 など) | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール |  このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。たとえば `"schedule": {"ref": "DefaultSchedule"}` を指定することで、オブジェクトでスケジュールを明示的に設定できます。 ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。 マスタースケジュール内にネストされたスケジュールのツリーがパイプラインにある場合、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。  | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スクリプト | 実行する SQL スクリプト。スクリプトまたは scriptUri を指定する必要があります。スクリプトが Amazon S3 に保存されている場合、スクリプトは式として評価されません。scriptArgument に複数の値を設定すると、スクリプトを Amazon S3 に保存するときに役立ちます。 | String | 
| scriptUri | このアクティビティにおいて SQL スクリプトを実行する場所を指定する URI。 | String | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| runsOn | アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| workerGroup | ワーカーグループ。これはルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | 参照オブジェクト ("dependsOn":\$1"ref":"myActivityId"\$1 など) | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| input | 入力データの場所。 | 参照オブジェクト ("input":\$1"ref":"myDataNodeId"\$1 など) | 
| lateAfterTimeout | パイプラインのスケジュールされた開始までの期間。この期間内にオブジェクトの実行が開始されている必要があります。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト (onFail:\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトがまだスケジュールされていない場合や、パイプラインのスケジュールされた開始までの期間（"lateAfterTimeout" で指定）内にまだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| output | 出力データの場所。これが便利なのは、スクリプト内から出力テーブルを参照する場合や（\$1\$1output.tablename\$1 など）、出力データノードで "createTableSql" を設定することで出力テーブルを作成する場合です。SQL クエリの出力は出力データノードに書き込まれません。 | 参照オブジェクト ("output":\$1"ref":"myDataNodeId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための S3 URI (s3://BucketName/Key/ など)。 | String | 
| precondition | オプションで前提条件を定義します。すべての前提条件を満たすまで、データノードは "READY" とマークされません。 | 参照オブジェクト ("precondition":\$1"ref":"myPreconditionId"\$1 など) | 
| キュー | [Amazon Redshift のみ] 同時発生した複数アクティビティの割り当てと優先順位付けをキュー内の位置に基づいて行うことができる、Amazon Redshift クエリグループ設定に相当します。Amazon Redshift では、同時接続数が 15 に制限されています。詳細については、Amazon Redshift データベース開発者ガイドの「[キューへのクエリの割り当て](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-executing-queries.html)」を参照してください。 | String | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scheduleType |  スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。値は、`cron`、`ondemand`、および `timeseries` です。  `timeseries` スケジューリングは、インスタンスが各間隔の最後にスケジュールされることを意味します。 `cron` スケジューリングは、インスタンスが各間隔の最初にスケジュールされることを意味します。 `ondemand` スケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。`ondemand` スケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の `scheduleType` である必要があります。`ondemand` パイプラインを使用するには、それ以降の実行ごとに、`ActivatePipeline` オペレーションを呼び出します。  | 一覧表 | 
| scriptArgument | スクリプトの変数のリスト。または、式を直接スクリプトフィールドに指定することもできます。scriptArgument に複数の値を設定すると、スクリプトを Amazon S3 に保存する際に役立ちます。例: \$1\$1format(@scheduledStartTime, "YY-MM-DD HH:MM:SS"\$1\$1n\$1\$1format(plusPeriod(@scheduledStartTime, "1 day"), "YY-MM-DD HH:MM:SS"\$1 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# リソース
<a name="dp-object-resources"></a>

 AWS Data Pipeline リソースオブジェクトは次のとおりです。

**Topics**
+ [Ec2Resource](dp-object-ec2resource.md)
+ [EmrCluster](dp-object-emrcluster.md)
+ [HttpProxy](dp-object-httpproxy.md)

# Ec2Resource
<a name="dp-object-ec2resource"></a>

パイプラインアクティビティによって定義された作業を実行する Amazon EC2 インスタンス。

AWS Data Pipeline は、Amazon EC2 インスタンスの IMDSv2 をサポートするようになりました。これにより、セッション指向の方法を使用して、インスタンスからメタデータ情報を取得するときに認証をより適切に処理できます。セッションは、Amazon EC2 インスタンスで実行されているソフトウェアが、ローカルに保存されている Amazon EC2 インスタンスのメタデータと認証情報にアクセスするために使用する一連のリクエストを開始および終了します。ソフトウェアは IMDSv2 への単純な HTTP PUT リクエストでセッションを開始します。IMDSv2 は、Amazon EC2 インスタンスで実行されているソフトウェアにシークレットトークンを返します。このトークンをパスワードとして使用して、IMDSv2 にメタデータと認証情報をリクエストします。

**注記**  
Amazon EC2 インスタンスに IMDSv2 を使用するには、デフォルトの AMI は IMDSv2 と互換性がないため、設定を変更する必要があります。次の SSM パラメータ経由で取得できる新しい AMI バージョンを指定できます。`/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs`

インスタンスを指定しない場合に が AWS Data Pipeline 作成するデフォルトの Amazon EC2 インスタンスについては、「」を参照してください[AWSリージョン別のデフォルトのAmazon EC2インスタンス](dp-ec2-default-instance-types.md)。

## 例
<a name="ec2resource-example"></a>

**EC2-Classic**

**重要**  
2013 年 12 月 4 日より前に作成された AWS アカウントのみが EC2-Classic プラットフォームをサポートしています。これらのアカウントのいずれかがある場合、VPC ではなく EC2-Classic ネットワークでパイプラインの EC2Resource オブジェクトを作成するオプションがあることがあります。VPC ですべてのパイプラインのリソースを作成することを強くお勧めします。さらに、EC2-Classic に既存のリソースがある場合は、それらを VPC に移行することをお勧めします。

次のオブジェクト例では、オプションフィールドをいくつか設定し、EC2-Classic で EC2 インスタンスを起動します。

```
{
  "id" : "MyEC2Resource",
  "type" : "Ec2Resource",
  "actionOnTaskFailure" : "terminate",
  "actionOnResourceFailure" : "retryAll",
  "maximumRetries" : "1",
  "instanceType" : "m5.large",
  "securityGroups" : [
    "test-group",
    "default"
  ],
  "keyPair" : "my-key-pair"
}
```

**EC2-VPC**

次のオブジェクト例では、オプションフィールドをいくつか設定し、デフォルト以外の VPC で EC2 インスタンスを起動します。

```
{
  "id" : "MyEC2Resource",
  "type" : "Ec2Resource",
  "actionOnTaskFailure" : "terminate",
  "actionOnResourceFailure" : "retryAll",
  "maximumRetries" : "1",
  "instanceType" : "m5.large",
  "securityGroupIds" : [
    "sg-12345678",
    "sg-12345678"
  ],
  "subnetId": "subnet-12345678",
  "associatePublicIpAddress": "true",
  "keyPair" : "my-key-pair"
}
```

## 構文
<a name="ec2resource-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| resourceRole | Amazon EC2 インスタンスがアクセスできるリソースを制御する IAM ロール。 | String | 
| ロール | が EC2 インスタンスの作成 AWS Data Pipeline に使用する IAM ロール。 | String | 

 


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール |  このオブジェクトは、スケジュール期間の実行中に呼び出されます。 このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定します。これは、次のいずれかの方法で行うことができます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html)  | 参照オブジェクト ("schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| actionOnResourceFailure | このリソースに対するリソースの失敗後に実行されるアクション。有効な値は、"retryall" および "retrynone" です。 | String | 
| actionOnTaskFailure | このリソースに対するタスクの失敗後に実行されるアクション。有効な値は "continue" または "terminate" です。 | String | 
| associatePublicIpAddress | インスタンスにパブリック IP アドレスを割り当てるかどうかを示します インスタンスが Amazon EC2 または Amazon VPC にある場合、デフォルト値は true です。それ以外の場合、デフォルト値は false です。 | ブール値 | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、指定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| availabilityZone | Amazon EC2 インスタンスの起動場所となるアベイラビリティーゾーン。 | String | 
| disableIMDSv1 | デフォルト値は false で、IMDSv1 と IMDSv2 の両方を有効にします。true に設定すると、IMDSv1 を無効にし、IMDSv2 のみを提供します。 | ブール値 | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| httpProxy | クライアントが AWS サービスへの接続に使用するプロキシホスト。 | 参照オブジェクト ( "httpProxy":\$1"ref":"myHttpProxyId"\$1 など) | 
| imageId | インスタンスに使用する AMI の ID。デフォルトでは、 は HVM AMI 仮想化タイプ AWS Data Pipeline を使用します。使用される AMI ID はリージョン別になります。選択した HVM AMI を指定して、デフォルトの AMI を上書きすることができます。AMI タイプの詳細については、「Amazon EC2 ユーザーガイド」の「[Linux AMI 仮想化タイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html)」および「[Linux AMI の検索](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)」を参照してください。  | String | 
| initTimeout | リソースが起動するまでの待機時間。 | Period | 
| instanceCount | 廃止済み。 | 整数 | 
| instanceType | 起動する Amazon EC2 インスタンスのタイプ。 | String | 
| keyPair | キーペアの名前。キーペアを指定せずに Amazon EC2 インスタンスを起動すると、ログオンできません。 | String | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| minInstanceCount | 廃止済み。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト ( "onFail":\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ実行中の場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ( "onSuccess":\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ( "parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI ('s3://BucketName/Key/' など)。 | String | 
| リージョン |  Amazon EC2 インスタンスを実行する必要のあるリージョンのコード。デフォルトでは、インスタンスはパイプラインと同じリージョンで実行されます。依存するデータセットと同じリージョンでインスタンスを実行することもできます。 | 一覧表 | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| runAsUser | TaskRunner を実行するユーザー。 | String | 
| runsOn | このフィールドはこのオブジェクトでは使用できません。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| scheduleType |  スケジュールタイプでは、パイプライン定義のオブジェクトを間隔の最初にスケジュールするか、間隔の最後に、またはオンデマンドでスケジュールするかを指定できます。 値は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html)  | 一覧表 | 
| securityGroupIds | リソースプールのインスタンスに使用する 1 つ以上の Amazon EC2 セキュリティグループの ID。 | String | 
| securityGroups | リソースプールのインスタンスに使用する 1 つ以上の Amazon EC2 セキュリティグループ。 | String | 
| spotBidPrice | スポットインスタンスの 1 時間あたりの最大金額 (ドル) であり、0 より大きく 20.00 より小さい 10 進値です。 | String | 
| subnetId | インスタンスを起動する Amazon EC2 サブネットの ID。 | String | 
| terminateAfter | リソースを終了するまでの時間数。 | Period | 
| useOnDemandOnLastAttempt | スポットインスタンスをリクエストする最後の試行では、スポットインスタンスではなくオンデマンドインスタンスのリクエストを作成します。これにより、以前の試行がすべて失敗した場合に、最後の試行は中断されません。 | ブール値 | 
| workerGroup | このフィールドはこのオブジェクトでは使用できません。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した依存関係のチェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | Amazon EMR アクティビティの試行でのみ使用可能なステップログ。 | String | 
| errorId | このオブジェクトが失敗した場合はエラー ID。 | String | 
| errorMessage | このオブジェクトが失敗した場合はエラーメッセージ。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @failureReason | リソースの失敗の理由。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | Amazon EMR アクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ( "waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | ライフサイクル内のオブジェクトの場所です。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# EmrCluster
<a name="dp-object-emrcluster"></a>

Amazon EMR クラスターの設定を表します。このオブジェクトは、[EmrActivity](dp-object-emractivity.md) および [HadoopActivity](dp-object-hadoopactivity.md) によってクラスターを起動するために使用されます。

**Topics**
+ [スケジューラ](#emrcluster-schedulers)
+ [Amazon EMR リリースバージョン](#dp-emrcluster-release-versions)
+ [Amazon EMR の許可](#w2aac52c17b9c11)
+ [構文](#emrcluster-syntax)
+ [例](emrcluster-example.md)
+ [以下の資料も参照してください。](#emrcluster-seealso)

## スケジューラ
<a name="emrcluster-schedulers"></a>

スケジューラーは、Hadoop クラスター内のリソースの割り当てとジョブの優先順位付けを指定する方法を提供します。管理者またはユーザーは、ユーザーおよびアプリケーションのクラス別のスケジューラーを選択できます。スケジューラーは、キューを使用してユーザーおよびアプリケーションにリソースを割り当てることができます。キューは、クラスターを作成する際に設定します。次に、特定のタイプの作業やユーザー間の優先順位を設定できます。これにより、クラスターのリソースが効率的に使用され、複数のユーザーから作業をクラスターに送信できるようになります。次の 3 種類のスケジューラーを使用できます。
+ [FairScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/FairScheduler.html) – 長期間にわたってリソースの均等なスケジュールを試みます。
+ [CapacityScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html) – キューを使用し、クラスター管理者がさまざまな優先順位とリソース割り当てのキューにユーザーを割り当てられるようにします。
+ Default – クラスターで使用されます。サイトで設定可能です。

## Amazon EMR リリースバージョン
<a name="dp-emrcluster-release-versions"></a>

Amazon EMR リリースは、ビッグデータエコシステムからの一連のオープンソースのアプリケーションです。各リリースは異なるビッグデータアプリケーション、コンポーネント、および機能で構成され、クラスターを作成するときに Amazon EMR でインストールして設定することを選択します。リリースラベルを使用してリリースバージョンを指定します。リリースラベルの形式は `emr-x.x.x` です。例えば、`emr-5.30.0`。リリースラベル `emr-4.0.0` 以降に基づく Amazon EMR クラスターでは、`releaseLabel` プロパティを使用して、`EmrCluster` オブジェクトのリリースラベルを指定します。以前のバージョンでは、`amiVersion` プロパティを使用しています。

**重要**  
リリースバージョン 5.22.0 以降を使用して作成されたすべての Amazon EMR クラスターでは、[署名バージョン 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) を使用して Amazon S3 へのリクエストを認証します。以前の一部のリリースバージョンでは、署名バージョン 2 を使用しています。署名バージョン 2 のサポートは中止されています。詳細については、「[Amazon S3 更新 - SigV2 の非推奨期間の延長および変更](https://aws.amazon.com/blogs/aws/amazon-s3-update-sigv2-deprecation-period-extended-modified/)」を参照してください。署名バージョン 4 をサポートする Amazon EMR リリースバージョンを使用することを強くお勧めします。EMR 4.7.x から始まる以前のバージョンのリリースでは、そのシリーズの最新リリースが署名バージョン 4 をサポートするように更新されています。以前のバージョンの EMR リリースを使用する場合は、そのシリーズの最新リリースを使用することをお勧めします。また、EMR 4.7.0 より前のリリースは使用しないでください。

### 考慮事項と制約事項
<a name="dp-emrcluster-considerations"></a>

#### 最新バージョンの Task Runner の使用
<a name="dp-task-runner-latest"></a>

リリースラベルを使用して自己管理型 `EmrCluster` オブジェクトを使用している場合は、最新の Task Runner を使用します。Task Runner の詳細については、「[Task Runnerの操作](dp-using-task-runner.md)」を参照してください。Amazon EMR 設定のすべての分類に対してプロパティ値を設定できます。詳細については、Amazon EMR リリース ガイドの[アプリケーションの設定](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html)、[EmrConfiguration](dp-object-emrconfiguration.md)、およびオブジェクトリファレンスの [プロパティ](dp-object-property.md) を参照してください。

#### IMDSv2 のサポート
<a name="dp-emr-imdsv2-support"></a>

以前は、IMDSv1 のみ AWS Data Pipeline をサポートしていました。は、Amazon EMR 5.23.1、5.27.1、5.32 以降、および Amazon EMR 6.2 以降の IMDSv2 AWS Data Pipeline をサポートするようになりました。IMDSv2 では、セッション指向の方法を使用して、インスタンスからメタデータ情報を取得する際の認証をより適切に処理できます。TaskRunner-2.0 を使用してユーザーマネージドリソースを作成して、IMDSv2 呼び出しを行うようにインスタンスを設定する必要があります。

#### Amazon EMR 5.32 以降と Amazon EMR 6.x
<a name="dp-emr-6-classpath"></a>

Amazon EMR 5.32 以降と 6.x リリースシリーズでは Hadoop バージョン 3.x が使用されており、Hadoop バージョン 2.x と比較して Hadoop のクラスパスの評価方法に重要な変更が導入されました。Joda-Time のような一般的なライブラリがクラスパスから削除されました。

[EmrActivity](dp-object-emractivity.md) または [HadoopActivity](dp-object-hadoopactivity.md) が Hadoop 3.x で削除されたライブラリに依存関係を持つ Jar ファイルを実行すると、ステップがエラー `java.lang.NoClassDefFoundError` または `java.lang.ClassNotFoundException` で失敗します。これは、Amazon EMR 5.x リリースバージョンを使用して問題なく実行された Jar ファイルで発生する可能性があります。

この問題を解決するには、`EmrActivity` または `HadoopActivity` を開始する前に、`EmrCluster` オブジェクトで Hadoop クラスパスに Jar ファイルの依存関係をコピーする必要があります。これを行うために bash スクリプトが提供されています。bash スクリプトは次の場所で使用できます。ここで、*MyRegion* は`EmrCluster`オブジェクトが実行される AWS リージョンです。例: `us-west-2`。

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh
```

スクリプトを実行する方法は、 `EmrActivity`が管理するリソースで `HadoopActivity` を実行する AWS Data Pipeline か、セルフマネージドリソースで を実行するかによって異なります。

によって管理されるリソースを使用する場合は AWS Data Pipeline、 `EmrCluster` オブジェクト`bootstrapAction`に を追加します。`bootstrapAction` は、引数としてコピーするスクリプトと Jar ファイルを指定します。`EmrCluster` オブジェクトごとに最大 255 個の `bootstrapAction` フィールドを追加できます。また、ブートストラップアクションがすでに存在する `EmrCluster` オブジェクトに `bootstrapAction` フィールドを追加できます。

このスクリプトをブートストラップアクションとして指定するには、次の構文を使用します。ここで、`JarFileRegion` は Jar ファイルが保存されているリージョンであり、各 *MyJarFile*n** は、Hadoop クラスパスにコピーする Jar ファイルの Amazon S3 の絶対パスです。デフォルトで Hadoop クラスパスにある Jar ファイルを指定しないでください。

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,JarFileRegion,MyJarFile1,MyJarFile2[, ...]
```

次の例では、Amazon S3 の 2 つの Jar ファイル (`my-jar-file.jar` と `emr-dynamodb-tool-4.14.0-jar-with-dependencies.jar`) をコピーするブートストラップアクションを指定します。この例で使用しているリージョンは、us-west-2 です。

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m5.xlarge",
  "coreInstanceType" : "m5.xlarge",
  "coreInstanceCount" : "2",
  "taskInstanceType" : "m5.xlarge",
  "taskInstanceCount": "2",
  "bootstrapAction" : ["s3://datapipeline-us-west-2/us-west-2/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,us-west-2,s3://path/to/my-jar-file.jar,s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar"]
}
```

新しい `bootstrapAction` への変更を有効にするには、パイプラインを保存してアクティブ化する必要があります。

セルフマネージドリソースを使用する場合は、スクリプトをクラスターインスタンスにダウンロードし、SSH を使用してコマンドラインからそのスクリプトを実行できます。スクリプトは、`/etc/hadoop/conf/shellprofile.d` という名前のディレクトリを作成し、そのディレクトリ内に `datapipeline-jars.sh` という名前のファイルを作成します。コマンドライン引数として指定された jar ファイルは、スクリプトで作成された `/home/hadoop/datapipeline_jars` という名前のディレクトリにコピーされます。クラスターの設定が異なる場合は、ダウンロード後にスクリプトを適切に変更してください。

コマンドラインでスクリプトを実行するための構文は、前の例で示した `bootstrapAction` の使用と若干異なります。次の例に示すように、引数の間にはカンマではなくスペースを使用します。

```
./copy-jars-to-hadoop-classpath.sh us-west-2 s3://path/to/my-jar-file.jar s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar
```

## Amazon EMR の許可
<a name="w2aac52c17b9c11"></a>

カスタム IAM ロールを作成する場合は、クラスターが作業を実行するために必要な最小限の許可を慎重に検討します。Amazon S3 のファイルや Amazon RDS、Amazon Redshift、DynamoDB のデータなど、必要なリソースへのアクセス権を確実に付与します。`visibleToAllUsers` を False に設定する場合は、そのために必要なアクセス権限がロールに必要です。`DataPipelineDefaultRole` には、これらのアクセス権限がないことに注意してください。`EmrCluster` オブジェクトのロールとして `DefaultDataPipelineResourceRole` と `DataPipelineDefaultRole` のロールの結合を指定するか、この目的で独自のロールを作成する必要があります。

## 構文
<a name="emrcluster-syntax"></a>


****  

| オブジェクト呼び出しフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| スケジュール | このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するために、別のオブジェクトへのスケジュール参照を指定します。この要件を満たすには、オブジェクトのスケジュールを明示的に設定できます。たとえば、"schedule": \$1"ref": "DefaultSchedule"\$1 と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合は、スケジュール参照がある親オブジェクトを作成できます。オプションのスケジュール設定の例については、「[https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html)」を参照してください。 | 参照オブジェクト ( "schedule":\$1"ref":"myScheduleId"\$1 など) | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| actionOnResourceFailure | このリソースに対するリソースの失敗後に実行されるアクション。有効な値は retryall (指定した期間内にクラスターに対してすべてのタスクを再試行する) と retrynone です。 | String | 
| actionOnTaskFailure | このリソースに対するタスクの失敗後に実行されるアクション。有効な値は "continue"（クラスターを終了しない）と "terminate" です。 | String | 
| additionalMasterSecurityGroupIds | EMR クラスターの追加マスターセキュリティグループの ID (sg-01XXXX6a の形式)。詳細については、Amazon EMR 管理ガイドの [Amazon EMR の追加セキュリティグループ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-additional-sec-groups.html)を参照してください。 | String | 
| additionalSlaveSecurityGroupIds | EMR クラスターの追加スレーブセキュリティグループの ID（sg-01XXXX6a の形式）。 | String | 
| amiVersion | クラスターノードをインストールするために Amazon EMR で使用する Amazon マシンイメージ (AMI) のバージョン。詳細については、[「Amazon EMR Management Guide」](https://docs.aws.amazon.com/emr/latest/ManagementGuide/)(Amazon EMR 管理ガイド) を参照してください。 | String | 
| アプリケーション | カンマ区切りの引数を指定してクラスターにインストールするアプリケーション。Hive と Pig がデフォルトでインストールされます。このパラメータは Amazon EMR バージョン 4.0 以降でのみ適用できます。 | String | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| availabilityZone | クラスターを実行するアベイラビリティーゾーン。 | String | 
| bootstrapAction | クラスターの開始時に実行するアクション。カンマで区切って引数を指定できます。アクションを複数（最大 255 個）指定するには、bootstrapAction フィールドを複数追加します。ブートストラップアクションを使用しないでクラスターを開始するのが、デフォルトの動作です。 | String | 
| 設定 | Amazon EMR クラスターの設定。このパラメータは Amazon EMR バージョン 4.0 以降でのみ適用できます。 | 参照オブジェクト ("configuration":\$1"ref":"myEmrConfigurationId"\$1 など) | 
| coreInstanceBidPrice | 最大スポット料金は、Amazon EC2 インスタンスに対して支払うスポット料金です。入札価格が指定されている場合、Amazon EMR では、インスタンスグループのスポットインスタンスが使用されます。USD で指定。 | String | 
| coreInstanceCount | クラスターに使用するコアノードの数。 | 整数 | 
| coreInstanceType | コアノードに使用する Amazon EC2 インスタンスのタイプ。「[Amazon EMR クラスターでサポートされるAmazon EC2インスタンス](dp-emr-supported-instance-types.md)」を参照してください。 | String | 
| coreGroupConfiguration | Amazon EMR クラスターのコアインスタンスグループの設定。このパラメータは Amazon EMR バージョン 4.0 以降でのみ適用できます。 | 参照オブジェクト (“configuration”: \$1“ref”: “myEmrConfigurationId”\$1 など) | 
| coreEbsConfiguration | Amazon EMR クラスターのコアグループの各コアノードにアタッチされる Amazon EBS ボリュームの設定。詳細については、「Amazon EC2 ユーザーガイド」の「[EBS 最適化をサポートするインスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)」を参照してください。 | 参照オブジェクト (“coreEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 など) | 
| customAmiId | Amazon EMR リリースバージョン 5.7.0 以降にのみ適用されます。Amazon EMR が Amazon EC2 インスタンスをプロビジョンするときに使用するカスタム AMI の AMI ID を指定します。クラスターノード設定をカスタマイズするために、ブートストラップアクションの代わりに使用することもできます。詳細については、Amazon EMR 管理ガイドの次のトピックを参照してください。[カスタム AMI の使用](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) | String | 
| EbsBlockDeviceConfig |  インスタンスグループに関連付けられている、要求された Amazon EBS ブロックデバイスの設定。指定したボリューム数をインスタンスグループ内の各インスタンスに関連付けるための `volumesPerInstance` と `volumeSpecification` が含まれます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | 参照オブジェクト (“EbsBlockDeviceConfig”: \$1“ref”: “myEbsBlockDeviceConfig”\$1 など) | 
| emrManagedMasterSecurityGroupId | Amazon EMR クラスターのマスターセキュリティグループの識別子 (sg-01XXXX6a の形式)。詳細については、Amazon EMR 管理ガイドで[セキュリティグループの設定](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-groups.html)を参照してください。 | String | 
| emrManagedSlaveSecurityGroupId | Amazon EMR クラスターのスレーブセキュリティグループの ID (sg-01XXXX6a の形式)。 | String | 
| enableDebugging | Amazon EMR クラスターでのデバッグを有効にします。 | String | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| hadoopSchedulerType | クラスターのスケジューラータイプ。有効なタイプは、 PARALLEL\$1FAIR\$1SCHEDULING、 PARALLEL\$1CAPACITY\$1SCHEDULING、 DEFAULT\$1SCHEDULER です。 | 一覧表 | 
| httpProxy | クライアントが AWS サービスに接続するために使用するプロキシホスト。 | 参照オブジェクト ("httpProxy":\$1"ref":"myHttpProxyId"\$1 など) | 
| initTimeout | リソースが起動するまでの待機時間。 | Period | 
| keyPair | Amazon EMR クラスターのマスターノードにログインするときに使用する Amazon EC2 キーペア。 | String | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| masterInstanceBidPrice | 最大スポット料金は、Amazon EC2 インスタンスに対して支払うスポット料金です。0～20.00 の 10 進数のみ (排他的) です。USD で指定。この値を設定すると、Amazon EMR クラスターマスターノードのスポットインスタンスが有効になります。入札価格が指定されている場合、Amazon EMR では、インスタンスグループのスポットインスタンスが使用されます。 | String | 
| masterInstanceType | マスターノードに使用する Amazon EC2 インスタンスのタイプ。「[Amazon EMR クラスターでサポートされるAmazon EC2インスタンス](dp-emr-supported-instance-types.md)」を参照してください。 | String | 
| masterGroupConfiguration | Amazon EMR クラスターのマスターインスタンスグループの設定。このパラメータは Amazon EMR バージョン 4.0 以降でのみ適用できます。 | 参照オブジェクト (“configuration”: \$1“ref”: “myEmrConfigurationId”\$1 など) | 
| masterEbsConfiguration | Amazon EMR クラスターのマスターグループの各マスターノードにアタッチされる Amazon EBS ボリュームの設定。詳細については、「Amazon EC2 ユーザーガイド」の「[EBS 最適化をサポートするインスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)」を参照してください。 | 参照オブジェクト (“masterEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 など) | 
| maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 | 
| maximumRetries | 失敗時の最大再試行回数。 | 整数 | 
| onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | 参照オブジェクト ("onFail":\$1"ref":"myActionId"\$1 など) | 
| onLateAction | オブジェクトが予定されていないか、まだ完了していない場合にトリガーされるアクション。 | 参照オブジェクト ("onLateAction":\$1"ref":"myActionId"\$1 など) | 
| onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | 参照オブジェクト ("onSuccess":\$1"ref":"myActionId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| pipelineLogUri | パイプラインのログをアップロードするための Amazon S3 URI (s3://BucketName/Key/ など)。 | String | 
| リージョン | Amazon EMR クラスターを実行するリージョンのコード。デフォルトでは、クラスターはパイプラインと同じリージョンで実行されます。依存するデータセットと同じリージョンでクラスターを実行することもできます。 | 一覧表 | 
| releaseLabel | EMR クラスター用のリリースラベル。 | String | 
| reportProgressTimeout | reportProgress へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 | Period | 
| resourceRole | が Amazon EMR クラスターの作成 AWS Data Pipeline に使用する IAM ロール。デフォルトのロールは DataPipelineDefaultRole です。 | String | 
| retryDelay | 2 回の再試行の間のタイムアウト期間。 | Period | 
| ロール | EC2 ノードを作成するために Amazon EMR に渡される IAM ロール。 | String | 
| runsOn | このフィールドはこのオブジェクトでは使用できません。 | 参照オブジェクト ("runsOn":\$1"ref":"myResourceId"\$1 など) | 
| securityConfiguration | クラスターに適用される EMR セキュリティ設定の識別子。このパラメータは Amazon EMR バージョン 4.8.0 以降でのみ適用できます。 | String | 
| serviceAccessSecurityGroupId | Amazon EMR クラスターのサービスアクセスセキュリティグループの ID。 | 文字列。形式は sg-01XXXX6a です (例: sg-1234abcd)。 | 
| scheduleType | スケジュールタイプでは、パイプライン定義のオブジェクトを間隔の最初にスケジュールするか、間隔の最後にスケジュールするかを指定できます。値は、cron、ondemand、および timeseries です。timeseries スケジューリングでは、インスタンスを各間隔の最後にスケジュールします。cron スケジューリングでは、インスタンスを各間隔の最初にスケジュールします。ondemand スケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。ondemand スケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。ondemand パイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出します。 | 一覧表 | 
| subnetId | Amazon EMR クラスターを起動するサブネットの ID。 | String | 
| supportedProducts | Amazon EMR クラスターにサードパーティーソフトウェアをインストールするパラメータ (Hadoop のサードパーティーディストリビューションなど)。 | String | 
| taskInstanceBidPrice | 最大スポット料金は、 EC2 インスタンスに対して支払うスポット料金です。0～20.00 の 10 進数のみ。USD で指定。入札価格が指定されている場合、Amazon EMR では、インスタンスグループのスポットインスタンスが使用されます。 | String | 
| taskInstanceCount | Amazon EMR クラスターで使用するタスクノードの数。 | 整数 | 
| taskInstanceType | タスクノードに使用する Amazon EC2 インスタンスのタイプ。 | String | 
| taskGroupConfiguration | Amazon EMR クラスターのタスクインスタンスグループの設定。このパラメータは Amazon EMR バージョン 4.0 以降でのみ適用できます。 | 参照オブジェクト (“configuration”: \$1“ref”: “myEmrConfigurationId”\$1 など) | 
| taskEbsConfiguration | Amazon EMR クラスターのタスクグループの各タスクノードにアタッチされる Amazon EBS ボリュームの設定。詳細については、「Amazon EC2 ユーザーガイド」の「[EBS 最適化をサポートするインスタンスタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)」を参照してください。 | 参照オブジェクト (“taskEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 など) | 
| terminateAfter | これらの多くの時間が経過した後でリソースを終了します。 | 整数 | 
| VolumeSpecification |   Amazon EMR クラスター内の Amazon EC2 インスタンスにアタッチされた Amazon EBS ボリュームに要求される Amazon EBS ボリューム仕様 (ボリュームタイプ、IOPS、サイズ (GiB) など)。ノードは、コア、マスター、またはタスクノードです。 `VolumeSpecification` には以下が含まれます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | 参照オブジェクト (“VolumeSpecification”: \$1“ref”: “myVolumeSpecification”\$1 など) | 
| useOnDemandOnLastAttempt | リソースをリクエストする最後の試行で、スポットインスタンスではなくオンデマンドインスタンスのリクエストを作成します。これにより、以前の試行がすべて失敗した場合に、最後の試行は中断されません。 | ブール値 | 
| workerGroup | このオブジェクトで使用できないフィールド。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した依存関係のチェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | Amazon EMR アクティビティの試行でのみ使用可能なステップログ。 | String | 
| errorId | このオブジェクトが失敗した場合はエラー ID。 | String | 
| errorMessage | このオブジェクトが失敗した場合はエラーメッセージ。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| @failureReason | リソースの失敗の理由。 | String | 
| @finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime | 
| hadoopJobLog | Amazon EMR アクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| @healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | String | 
| @healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | String | 
| @healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| @lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime | 
| @latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime | 
| @latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime | 
| @nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | ライフサイクル内のオブジェクトの場所です。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# 例
<a name="emrcluster-example"></a>

以下は、このオブジェクト型の例です。

**Topics**
+ [hadoopVersion を使用した Amazon EMR クラスターの起動](emrcluster-example-launch.md)
+ [リリースラベル emr-4.x 以降の Amazon EMR クラスターの起動](emrcluster-example-release-label.md)
+ [Amazon EMR クラスターへの追加のソフトウェアのインストール](emrcluster-example-install-software.md)
+ [3.xリリースでのサーバー側暗号化の無効化](emrcluster-example1-disable-encryption.md)
+ [4.xリリースでのサーバー側暗号化の無効化](emrcluster-example2-disable-encryption.md)
+ [Hadoop KMS の ACL の設定と HDFS での暗号化ゾーンの作成](emrcluster-example-hadoop-kms.md)
+ [カスタム IAM ロールを指定する](emrcluster-example-custom-iam-roles.md)
+ [AWS SDK for Java での EmrCluster リソースの使用](emrcluster-example-java.md)
+ [プライベートサブネットでの Amazon EMR クラスターの設定](emrcluster-example-private-subnet.md)
+ [クラスターノードに EBS ボリュームをアタッチする](emrcluster-example-ebs.md)

# hadoopVersion を使用した Amazon EMR クラスターの起動
<a name="emrcluster-example-launch"></a>

**Example**  <a name="example1"></a>
以下の例では、AMI バージョン 1.0 と Hadoop 0.20 を使用して Amazon EMR クラスターを起動します。  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "hadoopVersion" : "0.20",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,arg1,arg2,arg3","s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop/configure-other-stuff,arg1,arg2"]
}
```

# リリースラベル emr-4.x 以降の Amazon EMR クラスターの起動
<a name="emrcluster-example-release-label"></a>

**Example**  
次の例では、新しい `releaseLabel` フィールドを使用して Amazon EMR クラスターを起動します。  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "releaseLabel": "emr-4.1.0",
  "applications": ["spark", "hive", "pig"],
  "configuration": {"ref":"myConfiguration"}  
}
```

# Amazon EMR クラスターへの追加のソフトウェアのインストール
<a name="emrcluster-example-install-software"></a>

**Example**  <a name="example2"></a>
`EmrCluster` には、Amazon EMR クラスターにサードパーティーソフトウェアをインストールする `supportedProducts` フィールドが用意されています。これにより、MapR など、Hadoop のカスタムディストリビューションをインストールできます。サードパーティソフトウェアは、カンマ区切りの引数リストとして指定します。以下の例は、`EmrCluster` の `supportedProducts` フィールドを使用して、Karmasphere Analytics をインストールしたカスタム MapR M3 エディションクラスターを作成し、そこで `EmrActivity` オブジェクトを実行する方法を示しています。  

```
{
    "id": "MyEmrActivity",
    "type": "EmrActivity",
    "schedule": {"ref": "ResourcePeriod"},
    "runsOn": {"ref": "MyEmrCluster"},
    "postStepCommand": "echo Ending job >> /mnt/var/log/stepCommand.txt",    
    "preStepCommand": "echo Starting job > /mnt/var/log/stepCommand.txt",
    "step": "/home/hadoop/contrib/streaming/hadoop-streaming.jar,-input,s3n://elasticmapreduce/samples/wordcount/input,-output, \
     hdfs:///output32113/,-mapper,s3n://elasticmapreduce/samples/wordcount/wordSplitter.py,-reducer,aggregate"
  },
  {    
    "id": "MyEmrCluster",
    "type": "EmrCluster",
    "schedule": {"ref": "ResourcePeriod"},
    "supportedProducts": ["mapr,--edition,m3,--version,1.2,--key1,value1","karmasphere-enterprise-utility"],
    "masterInstanceType": "m3.xlarge",
    "taskInstanceType": "m3.xlarge"
}
```

# 3.xリリースでのサーバー側暗号化の無効化
<a name="emrcluster-example1-disable-encryption"></a>

**Example**  <a name="example3"></a>
によって作成された Hadoop バージョン 2.x の`EmrCluster`アクティビティは、デフォルトでサーバー側の暗号化 AWS Data Pipeline を有効にします。サーバー側の暗号化を無効にするには、クラスターオブジェクト定義でブートストラップアクションを指定する必要があります。  
次の例では、サーバー側の暗号化を無効にして `EmrCluster` アクティビティを作成します。  

```
{  
   "id":"NoSSEEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "bootstrapAction":["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-e, fs.s3.enableServerSideEncryption=false"]
}
```

# 4.xリリースでのサーバー側暗号化の無効化
<a name="emrcluster-example2-disable-encryption"></a>

**Example**  <a name="example4"></a>
`EmrConfiguration` オブジェクトを使用してサーバー側の暗号化を無効にする必要があります。  
次の例では、サーバー側の暗号化を無効にして `EmrCluster` アクティビティを作成します。  

```
   {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "myResourceId",
      "type": "EmrCluster",
      "configuration": {
        "ref": "disableSSE"
      }
    },
    {
      "name": "disableSSE",
      "id": "disableSSE",
      "type": "EmrConfiguration",
      "classification": "emrfs-site",
      "property": [{
        "ref": "enableServerSideEncryption"
      }
      ]
    },
    {
      "name": "enableServerSideEncryption",
      "id": "enableServerSideEncryption",
      "type": "Property",
      "key": "fs.s3.enableServerSideEncryption",
      "value": "false"
    }
```

# Hadoop KMS の ACL の設定と HDFS での暗号化ゾーンの作成
<a name="emrcluster-example-hadoop-kms"></a>

**Example**  <a name="example5"></a>
次のオブジェクトは、Hadoop KMS 用の ACL を作成し、暗号化ゾーンと該当する暗号化キーを HDFS で作成します。  

```
{
      "name": "kmsAcls",
      "id": "kmsAcls",
      "type": "EmrConfiguration",
      "classification": "hadoop-kms-acls",
      "property": [
        {"ref":"kmsBlacklist"},
        {"ref":"kmsAcl"}
      ]
    },
    {
      "name": "hdfsEncryptionZone",
      "id": "hdfsEncryptionZone",
      "type": "EmrConfiguration",
      "classification": "hdfs-encryption-zones",
      "property": [
        {"ref":"hdfsPath1"},
        {"ref":"hdfsPath2"}
      ]
    },
    {
      "name": "kmsBlacklist",
      "id": "kmsBlacklist",
      "type": "Property",
      "key": "hadoop.kms.blacklist.CREATE",
      "value": "foo,myBannedUser"
    },
    {
      "name": "kmsAcl",
      "id": "kmsAcl",
      "type": "Property",
      "key": "hadoop.kms.acl.ROLLOVER",
      "value": "myAllowedUser"
    },
    {
      "name": "hdfsPath1",
      "id": "hdfsPath1",
      "type": "Property",
      "key": "/myHDFSPath1",
      "value": "path1_key"
    },
    {
      "name": "hdfsPath2",
      "id": "hdfsPath2",
      "type": "Property",
      "key": "/myHDFSPath2",
      "value": "path2_key"
    }
```

# カスタム IAM ロールを指定する
<a name="emrcluster-example-custom-iam-roles"></a>

**Example**  <a name="example6"></a>
デフォルトでは、 は Amazon EMR サービスロール`DataPipelineDefaultRole`として を渡し、ユーザーに代わってリソースを作成するための Amazon EC2 インスタンスプロファイル`DataPipelineDefaultResourceRole`として を AWS Data Pipeline 渡します。ただし、カスタム Amazon EMR サービスロールとカスタムインスタンスプロファイルを作成し、代わりに使用できます。 AWS Data Pipeline には、カスタムロールを使用してクラスターを作成するのに十分なアクセス許可が必要であり、 を信頼されたエンティティ AWS Data Pipeline として追加する必要があります。  
次のオブジェクト例では、Amazon EMR クラスターのカスタムロールを指定します。  

```
{  
   "id":"MyEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "role":"emrServiceRole",
   "resourceRole":"emrInstanceProfile"
}
```

# AWS SDK for Java での EmrCluster リソースの使用
<a name="emrcluster-example-java"></a>

**Example**  <a name="example7"></a>
次の例では、`EmrCluster` と `EmrActivity` を使用して Amazon EMR 4.x クラスターを作成し、Java SDK を使用して Spark ステップを実行する方法を示します。  

```
public class dataPipelineEmr4 {

  public static void main(String[] args) {
    
	AWSCredentials credentials = null;
	credentials = new ProfileCredentialsProvider("/path/to/AwsCredentials.properties","default").getCredentials();
	DataPipelineClient dp = new DataPipelineClient(credentials);
	CreatePipelineRequest createPipeline = new CreatePipelineRequest().withName("EMR4SDK").withUniqueId("unique");
	CreatePipelineResult createPipelineResult = dp.createPipeline(createPipeline);
	String pipelineId = createPipelineResult.getPipelineId();
    
	PipelineObject emrCluster = new PipelineObject()
	    .withName("EmrClusterObj")
	    .withId("EmrClusterObj")
	    .withFields(
			new Field().withKey("releaseLabel").withStringValue("emr-4.1.0"),
			new Field().withKey("coreInstanceCount").withStringValue("3"),
			new Field().withKey("applications").withStringValue("spark"),
			new Field().withKey("applications").withStringValue("Presto-Sandbox"),
			new Field().withKey("type").withStringValue("EmrCluster"),
			new Field().withKey("keyPair").withStringValue("myKeyName"),
			new Field().withKey("masterInstanceType").withStringValue("m3.xlarge"),
			new Field().withKey("coreInstanceType").withStringValue("m3.xlarge")        
			);
  
	PipelineObject emrActivity = new PipelineObject()
	    .withName("EmrActivityObj")
	    .withId("EmrActivityObj")
	    .withFields(
			new Field().withKey("step").withStringValue("command-runner.jar,spark-submit,--executor-memory,1g,--class,org.apache.spark.examples.SparkPi,/usr/lib/spark/lib/spark-examples.jar,10"),
			new Field().withKey("runsOn").withRefValue("EmrClusterObj"),
			new Field().withKey("type").withStringValue("EmrActivity")
			);
      
	PipelineObject schedule = new PipelineObject()
	    .withName("Every 15 Minutes")
	    .withId("DefaultSchedule")
	    .withFields(
			new Field().withKey("type").withStringValue("Schedule"),
			new Field().withKey("period").withStringValue("15 Minutes"),
			new Field().withKey("startAt").withStringValue("FIRST_ACTIVATION_DATE_TIME")
			);
      
	PipelineObject defaultObject = new PipelineObject()
	    .withName("Default")
	    .withId("Default")
	    .withFields(
			new Field().withKey("failureAndRerunMode").withStringValue("CASCADE"),
			new Field().withKey("schedule").withRefValue("DefaultSchedule"),
			new Field().withKey("resourceRole").withStringValue("DataPipelineDefaultResourceRole"),
			new Field().withKey("role").withStringValue("DataPipelineDefaultRole"),
			new Field().withKey("pipelineLogUri").withStringValue("s3://myLogUri"),
			new Field().withKey("scheduleType").withStringValue("cron")
			);     
      
	List<PipelineObject> pipelineObjects = new ArrayList<PipelineObject>();
    
	pipelineObjects.add(emrActivity);
	pipelineObjects.add(emrCluster);
	pipelineObjects.add(defaultObject);
	pipelineObjects.add(schedule);
    
	PutPipelineDefinitionRequest putPipelineDefintion = new PutPipelineDefinitionRequest()
	    .withPipelineId(pipelineId)
	    .withPipelineObjects(pipelineObjects);
    
	PutPipelineDefinitionResult putPipelineResult = dp.putPipelineDefinition(putPipelineDefintion);
	System.out.println(putPipelineResult);
    
	ActivatePipelineRequest activatePipelineReq = new ActivatePipelineRequest()
	    .withPipelineId(pipelineId);
	ActivatePipelineResult activatePipelineRes = dp.activatePipeline(activatePipelineReq);
	
      System.out.println(activatePipelineRes);
      System.out.println(pipelineId);
    
    }

}
```

# プライベートサブネットでの Amazon EMR クラスターの設定
<a name="emrcluster-example-private-subnet"></a>

**Example**  <a name="example8"></a>
この例には、VPC のプライベートサブネット内でクラスターを起動する設定が含まれています。詳細については、*Amazon EMR 管理ガイド*の [VPC で Amazon EMR クラスターを起動する](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-vpc-launching-job-flows.html)を参照してください。この設定はオプションです。この設定は、`EmrCluster` オブジェクトを使用する任意のパイプラインで使用できます。  
プライベートサブネットで Amazon EMR クラスターを起動するには `SubnetId`、`emrManagedMasterSecurityGroupId`、`emrManagedSlaveSecurityGroupId`、および `serviceAccessSecurityGroupId` を `EmrCluster` 設定で指定します。  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "serviceAccessSecurityGroupId": "#{myServiceAccessSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "keyPair": "user-key-pair"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "myServiceAccessSecurityGroup":  "service access security group",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

# クラスターノードに EBS ボリュームをアタッチする
<a name="emrcluster-example-ebs"></a>

**Example**  <a name="example8"></a>
EBS ボリュームは、パイプライン内の EMR クラスターの任意のノードタイプにアタッチできます。EBS ボリュームをノードにアタッチするには、`coreEbsConfiguration`、`masterEbsConfiguration`、および `TaskEbsConfiguration` を `EmrCluster` 設定で使用します。  
この Amazon EMR クラスターの例では、マスター、タスク、およびコアノードで Amazon EBS ボリュームを使用します。詳細については、*Amazon EMR 管理ガイド*の[Amazon EMR での Amazon EBS ボリューム](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-storage.html)を参照してください。  
これら設定はオプションです。これらの設定は、`EmrCluster` オブジェクトを使用する任意のパイプラインで使用できます。  
パイプラインで、`EmrCluster` オブジェクト設定をクリックします。次に [**マスター EBS 設定**]、[**コア EBS 設定**]、または [**タスク EBS 設定**] を選択し、次の例のような設定詳細を入力します。  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "coreEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "masterEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "taskEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "keyPair": "user-key-pair"
    },
    {
       "name": "EBSConfiguration",
        "id": "EBSConfiguration",
        "ebsOptimized": "true",
        "ebsBlockDeviceConfig" : [
            { "ref": "EbsBlockDeviceConfig" }
        ],
        "type": "EbsConfiguration"
    },
    {
        "name": "EbsBlockDeviceConfig",
        "id": "EbsBlockDeviceConfig",
        "type": "EbsBlockDeviceConfig",
        "volumesPerInstance" : "2",
        "volumeSpecification" : {
            "ref": "VolumeSpecification"
        }
    },
    {
      "name": "VolumeSpecification",
      "id": "VolumeSpecification",
      "type": "VolumeSpecification",
      "sizeInGB": "500",
      "volumeType": "io1",
      "iops": "1000"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

## 以下の資料も参照してください。
<a name="emrcluster-seealso"></a>
+ [EmrActivity](dp-object-emractivity.md)

# HttpProxy
<a name="dp-object-httpproxy"></a>

HttpProxy では、ユーザー独自のプロキシを設定し、Task Runner がそのプロキシを通じて AWS Data Pipeline サービスにアクセスできるようにします。この情報を使用して、実行中の Task Runner を設定する必要はありません。

## Task Runner での HttpProxy の例
<a name="example9"></a>

次のパイプライン定義は、`HttpProxy` オブジェクトを示しています。

```
{
  "objects": [
    {
      "schedule": {
        "ref": "Once"
      },
      "pipelineLogUri": "s3://myDPLogUri/path",
      "name": "Default",
      "id": "Default"
    },
    {
      "name": "test_proxy",
      "hostname": "hostname",
      "port": "port",
      "username": "username",
      "*password": "password",
      "windowsDomain": "windowsDomain",
      "type": "HttpProxy",
      "id": "test_proxy",
    },
    {
      "name": "ShellCommand",
      "id": "ShellCommand",
      "runsOn": {
        "ref": "Resource"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'hello world' "
    },
    {
      "period": "1 day",
      "startDateTime": "2013-03-09T00:00:00",
      "name": "Once",
      "id": "Once",
      "endDateTime": "2013-03-10T00:00:00",
      "type": "Schedule"
    },
    {
      "role": "dataPipelineRole",
      "httpProxy": {
        "ref": "test_proxy"
      },
      "actionOnResourceFailure": "retrynone",
      "maximumRetries": "0",
      "type": "Ec2Resource",
      "terminateAfter": "10 minutes",
      "resourceRole": "resourceRole",
      "name": "Resource",
      "actionOnTaskFailure": "terminate",
      "securityGroups": "securityGroups",
      "keyPair": "keyPair",
      "id": "Resource",
      "region": "us-east-1"
    }
  ],
  "parameters": []
}
```

## 構文
<a name="httpproxy-slots"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| hostname | クライアントが AWS サービスへの接続に使用するプロキシのホスト。 | String | 
| port | クライアントが AWS サービスへの接続に使用するプロキシホストのポート。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| \$1パスワード | プロキシ用のパスワード。 | String | 
| s3NoProxy | Amazon S3 への接続時に HTTP プロキシを無効にします。 | ブール値 | 
| username | プロキシ用のユーザー名。 | String | 
| windowsDomain | NTLMプロキシ用のWindowsドメイン名。 | String | 
| windowsWorkgroup | NTLM プロキシ用の Windows ワークグループ名。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# 前提条件
<a name="dp-object-preconditions"></a>

 AWS Data Pipeline 前提条件オブジェクトは次のとおりです。

**Topics**
+ [DynamoDBDataExists](dp-dynamodbdataexists.md)
+ [DynamoDBTableExists](dp-dynamodbtableexists.md)
+ [存在する](dp-object-exists.md)
+ [S3KeyExists](dp-object-S3KeyExists.md)
+ [S3PrefixNotEmpty](dp-object-s3prefixnotempty.md)
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)

# DynamoDBDataExists
<a name="dp-dynamodbdataexists"></a>

 DynamoDB テーブルにデータが存在することを確認する前提条件。

## 構文
<a name="dp-dynamodbdataexists-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| ロール | 前提条件を実行するために使用するロールを指定します。 | String | 
| tableName | 確認する DynamoDB テーブル。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| 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 | 2 回の再試行の間のタイムアウト期間。 | Period | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @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 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# DynamoDBTableExists
<a name="dp-dynamodbtableexists"></a>

 DynamoDB テーブルが存在することを確認する前提条件。

## 構文
<a name="dp-dynamodbtableexists-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| ロール | 前提条件を実行するために使用するロールを指定します。 | String | 
| tableName | 確認する DynamoDB テーブル。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| 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 | 2 回の再試行の間のタイムアウト期間。 | Period | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @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 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# 存在する
<a name="dp-object-exists"></a>

 データノードオブジェクトが存在するか確認します。

**注記**  
代わりに、システムで管理される前提条件を使用することをお勧めします。詳細については、「[前提条件](dp-concepts-preconditions.md)」を参照してください。

## 例
<a name="exists-example"></a>

以下は、このオブジェクト型の例です。`InputData` オブジェクトは、このオブジェクト (`Ready`) と、同じパイプライン定義ファイルで定義した別のオブジェクトを参照します。`CopyPeriod` は `Schedule` オブジェクトです。

```
{
  "id" : "InputData",
  "type" : "S3DataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "filePath" : "s3://amzn-s3-demo-bucket/InputData/#{@scheduledStartTime.format('YYYY-MM-dd-hh:mm')}.csv",
  "precondition" : { "ref" : "Ready" }
},
{
  "id" : "Ready",
  "type" : "Exists"
}
```

## 構文
<a name="exists-syntax"></a>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| 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 | 2 回の再試行の間のタイムアウト期間。 | Period | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| ノード | この前提条件が実行されている対象ノード。 | 参照オブジェクト ("node":\$1"ref":"myRunnableObjectId"\$1 など) | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="exists-seealso"></a>
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)

# 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"
}
```

最初のパイプラインが完了するまで待機する 2 番目のパイプラインで、`S3KeyExists` を前提条件として使用することもできます。そのためには、次の操作を行います。

1. 最初のパイプラインの完了の最後に Amazon S3 にファイルを書き込みます。

1. `S3KeyExists` 前提条件を 2 番目のパイプラインに作成します。

## 構文
<a name="S3KeyExists-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| ロール | 前提条件を実行するために使用するロールを指定します。 | String | 
| s3Key | Amazon S3 キー｡ | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業の完了をもう 1 回試みるまでのタイムアウト。設定された場合、開始後に設定された時間内に完了しなかったリモートアクティビティが再試行されます。 | Period | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maximumRetries | 障害時に開始される最大試行数。 | 整数 | 
| 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 | 2 回の連続した再試行の間のタイムアウト期間。 | Period | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @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 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

## 以下の資料も参照してください。
<a name="S3KeyExists-seealso"></a>
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)

# S3PrefixNotEmpty
<a name="dp-object-s3prefixnotempty"></a>

所定のプレフィックス（URI で表現）が付いた Amazon S3 オブジェクトが存在することを確認する前提条件。

## 例
<a name="s3prefixnotempty-example"></a>

次は、必須フィールド、任意フィールド、式フィールドを使用した、このオブジェクト型の例です。

```
{
  "id" : "InputReady",
  "type" : "S3PrefixNotEmpty",
  "role" : "test-role",
  "s3Prefix" : "#{node.filePath}"
}
```

## 構文
<a name="s3prefixnotempty-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| ロール | 前提条件を実行するために使用するロールを指定します。 | String | 
| s3Prefix | オブジェクトの存在を確認する Amazon S3 プレフィックス。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| 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 | 2 回の再試行の間のタイムアウト期間。 | Period | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @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 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

## 以下の資料も参照してください。
<a name="s3prefixnotempty-seealso"></a>
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)

# ShellCommandPrecondition
<a name="dp-object-shellcommandprecondition"></a>

 前提条件として実行できる Unix/Linux シェルコマンド。

## 例
<a name="shellcommandprecondition-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "VerifyDataReadiness",
  "type" : "ShellCommandPrecondition",
  "command" : "perl check-data-ready.pl"
}
```

## 構文
<a name="shellcommandprecondition-syntax"></a>


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| コマンド | 実行するコマンド。この値および関連するパラメーターは、Task Runner を実行している環境で機能する必要があります。 | String | 
| scriptUri | ダウンロードして、シェルコマンドとして実行するファイルの Amazon S3 URI パス。指定できる scriptUri または command フィールドは 1 つだけです。scriptUri はパラメータを使用できません。代わりに command を使用します。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | String | 
| attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | Period | 
| failureAndRerunMode | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 | 
| lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 | Period | 
| maximumRetries | 失敗時の最大再試行回数 | 整数 | 
| 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 | 2 回の再試行の間のタイムアウト期間。 | Period | 
| scriptArgument | シェルスクリプトに渡される引数 | String | 
| stderr | コマンドからリダイレクトされたシステムエラーメッセージを受け取る Amazon S3 パス。runsOn フィールドを使用する場合、アクティビティを実行するリソースが一時的であるため、これは Amazon S3 パスにする必要があります。ただし、workerGroup フィールドを指定した場合は、ローカルファイルパスを指定できます。 | String | 
| stdout | コマンドからリダイレクトされた出力を受け取る Amazon S3 パス。runsOn フィールドを使用する場合、アクティビティを実行するリソースが一時的であるため、これは Amazon S3 パスにする必要があります。ただし、workerGroup フィールドを指定した場合は、ローカルファイルパスを指定できます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | 参照オブジェクト ("activeInstances":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime | 
| @actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime | 
| cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason。 | String | 
| @cascadeFailedOn | オブジェクトが失敗した際の依存関係チェーンの説明。 | 参照オブジェクト ("cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 など) | 
| emrStepLog | EMR アクティビティの試行でのみ使用可能な EMR ステップログ | String | 
| errorId | このオブジェクトが失敗した場合は errorId。 | String | 
| errorMessage | このオブジェクトが失敗した場合は errorMessage。 | String | 
| errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | String | 
| hadoopJobLog | EMR ベースのアクティビティで試みることができる Hadoop ジョブのログ。 | String | 
| hostname | タスクの試行を取得したクライアントのホスト名。 | String | 
| ノード | この前提条件が実行されている対象ノード | 参照オブジェクト ("node":\$1"ref":"myRunnableObjectId"\$1 など) | 
| reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime | 
| @scheduledEndTime | オブジェクトの予定された終了時刻 | DateTime | 
| @scheduledStartTime | オブジェクトの予定された開始時刻 | DateTime | 
| @status | このオブジェクトのステータス。 | String | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 
| @waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | 参照オブジェクト ("waitingOn":\$1"ref":"myRunnableObjectId"\$1 など) | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

## 以下の資料も参照してください。
<a name="shellcommandprecondition-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [存在する](dp-object-exists.md)

# データベース
<a name="dp-object-databases"></a>

データベース AWS Data Pipeline オブジェクトは次のとおりです。

**Topics**
+ [JdbcDatabase](dp-object-jdbcdatabase.md)
+ [RdsDatabase](dp-object-rdsdatabase.md)
+ [RedshiftDatabase](dp-object-redshiftdatabase.md)

# JdbcDatabase
<a name="dp-object-jdbcdatabase"></a>

JDBC データベースを定義します。

## 例
<a name="jdbcdatabase-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MyJdbcDatabase",
  "type" : "JdbcDatabase",
  "connectionString" : "jdbc:redshift://hostname:portnumber/dbname",
  "jdbcDriverClass" : "com.amazon.redshift.jdbc41.Driver",
  "jdbcDriverJarUri" : "s3://redshift-downloads/drivers/RedshiftJDBC41-1.1.6.1006.jar",
  "username" : "user_name",
  "*password" : "my_password"
}
```

## 構文
<a name="jdbcdatabase-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| connectionString | データベースにアクセスする JDBC 接続文字列。 | String | 
| jdbcDriverClass | JDBC 接続を確立する前にロードするドライバクラス。 | String | 
| \$1パスワード | 指定するパスワード。 | String | 
| username | データベースに接続するときに指定するユーザー名。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| databaseName | アタッチする論理データベースの名前 | String | 
| jdbcDriverJarUri | データベースに接続するために使用される JDBC ドライバを含む JAR ファイルの、Amazon S3 での場所。AWS Data Pipeline には、この JAR ファイルを読み取るアクセス権限が必要です。 | String | 
| jdbcProperties | このデータベースの JDBC 接続のプロパティとして設定される A=B 形式のペア。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# RdsDatabase
<a name="dp-object-rdsdatabase"></a>

Amazon RDS データベースを定義します。

**注記**  
RdsDatabase では Aurora はサポートされません。代わりに、Aurora には [JdbcDatabase](dp-object-jdbcdatabase.md) を使用してください。

## 例
<a name="rdsdatabase-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MyRdsDatabase",
  "type" : "RdsDatabase",
  "region" : "us-east-1",
  "username" : "user_name",
  "*password" : "my_password",
  "rdsInstanceId" : "my_db_instance_identifier"
}
```

Oracle エンジンの場合は `jdbcDriverJarUri` フィールドが必須であり、次のドライバーを指定できます: `http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html`。SQL Server エンジンの場合は `jdbcDriverJarUri` フィールドが必須であり、次のドライバーを指定できます: `https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774`。MySQL および PostgreSQL エンジンの場合、`jdbcDriverJarUri` フィールドはオプションです。

## 構文
<a name="rdsdatabase-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| \$1パスワード | 指定するパスワード。 | String | 
| rdsInstanceId | DB インスタンスの DBInstanceIdentifier プロパティ。 | String | 
| username | データベースに接続するときに指定するユーザー名。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| databaseName | アタッチする論理データベースの名前 | String | 
| jdbcDriverJarUri | データベースに接続するために使用される JDBC ドライバを含む JAR ファイルの、Amazon S3 での場所。AWS Data Pipeline には、この JAR ファイルを読み取るアクセス権限が必要です。MySQL および PostgreSQL エンジンの場合、このフィールドを指定しないとデフォルトドライバーが使用されますが、このフィールドを使用してデフォルトを上書きできます。Oracle および SQL Server エンジンの場合、このフィールドは必須です。 | String | 
| jdbcProperties | このデータベースの JDBC 接続のプロパティとして設定される A=B 形式のペア。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| リージョン | データベースがあるリージョンのコード。例えば、us-east-1 などです。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# RedshiftDatabase
<a name="dp-object-redshiftdatabase"></a>

Amazon Redshift データベースを定義します。`RedshiftDatabase` は、パイプラインで使用されるデータベースのプロパティを表します。

## 例
<a name="redshiftdatabase-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MyRedshiftDatabase",
  "type" : "RedshiftDatabase",
  "clusterId" : "myRedshiftClusterId",
  "username" : "user_name",
  "*password" : "my_password",
  "databaseName" : "database_name"
}
```

デフォルトでは、このオブジェクトでは `clusterId` フィールドを必要とする Postgres ドライバーが使用されます。Amazon Redshift ドライバーを使用するには、代わりに `connectionString` フィールドで Amazon Redshift コンソールの Amazon Redshift データベース接続文字列 ("jdbc:redshift:" で始まる) を指定します。

## 構文
<a name="redshiftdatabase-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| \$1パスワード | 指定するパスワード。 | String | 
| username | データベースに接続するときに指定するユーザー名。 | String | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| clusterId | Amazon Redshift クラスターの作成時にユーザーによって指定された識別子。例えば、Amazon Redshift クラスターのエンドポイントが mydb.example.us-east-1.redshift.amazonaws.com の場合、正しい識別子は mydb です。この値は、Amazon Redshift コンソールでクラスター識別子またはクラスター名から取得できます。 | String | 
| connectionString | パイプラインとは異なるアカウントが所有する Amazon Redshift インスタンスに接続するための JDBC エンドポイント。connectionString と clusterId の両方を指定することはできません。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| databaseName | アタッチする論理データベースの名前。 | String | 
| jdbcProperties | このデータベースの JDBC 接続のプロパティとして設定する A=B 形式のペア。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| リージョン | データベースがあるリージョンのコード。例えば、us-east-1 などです。 | 一覧表 | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# データ形式
<a name="dp-object-dataformats"></a>

以下は、 AWS Data Pipeline データ形式のオブジェクトです。

**Topics**
+ [CSV データ形式](dp-object-csv.md)
+ [Custom データ形式](dp-object-custom.md)
+ [DynamoDBDataFormat](dp-object-dynamodbdataformat.md)
+ [DynamoDBExportDataFormat](dp-object-dynamodbexportdataformat.md)
+ [RegEx データ形式](dp-object-regex.md)
+ [TSV データ形式](dp-object-tsv.md)

# CSV データ形式
<a name="dp-object-csv"></a>

列区切り文字がカンマで、レコード区切り文字が改行文字である、カンマ区切りデータ形式。

## 例
<a name="csv-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MyOutputDataType",
  "type" : "CSV",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## 構文
<a name="csv-syntax"></a>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING。複数の値の場合は、列名とデータ型をスペースで区切って使用します。 | String | 
| escapeChar | 後続の 1 文字を無視することをパーサーに指示する文字（たとえば "\$1"）。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# Custom データ形式
<a name="dp-object-custom"></a>

特定の列区切り文字、レコード区切り文字、エスケープ文字を組み合わせて定義するカスタムデータ形式。

## 例
<a name="custom-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MyOutputDataType",
  "type" : "Custom",
  "columnSeparator" : ",",
  "recordSeparator" : "\n",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## 構文
<a name="custom-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| columnSeparator | データファイルの列の終端を示す文字。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING。複数の値の場合は、列名とデータ型をスペースで区切って使用します。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| recordSeparator | データファイルの行の終端を示す文字（たとえば "\$1n"）。単一の文字のみがサポートされます。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# DynamoDBDataFormat
<a name="dp-object-dynamodbdataformat"></a>

DynamoDB テーブルにスキーマを適用して、Hive クエリでアクセスできるようにします。`DynamoDBDataFormat` は、`HiveActivity` オブジェクトおよび `DynamoDBDataNode` の入出力と共に使用されます。​`DynamoDBDataFormat` では、Hive クエリのすべての列を指定する必要があります。Hive クエリで特定の列を柔軟に指定する方法の詳細または Amazon S3 サポートについては、[DynamoDBExportDataFormat](dp-object-dynamodbexportdataformat.md) を参照してください。

**注記**  
DynamoDB のブール型は、Hive のブール型にマッピングされません。ただし、Hive のブール型に、0 または 1 の DynamoDB 整数値をマッピングすることができます。

## 例
<a name="dynamodbdataformat-example"></a>

以下の例は、`DynamoDBDataFormat` を使用して `DynamoDBDataNode` 入力にスキーマを割り当てる方法を示します。こうすることで、`HiveActivity` オブジェクトがデータに列名でアクセスし、データを `DynamoDBDataNode` 出力にコピーできるようになります。

```
{
  "objects": [
    {
      "id" : "Exists.1",
      "name" : "Exists.1",
      "type" : "Exists"
    },
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBDataFormat",
      "column" : [ 
         "hash STRING", 
        "range STRING" 
      ]
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "$INPUT_TABLE_NAME",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "$OUTPUT_TABLE_NAME",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.small",
      "keyPair" : "$KEYPAIR"
    },
    {
      "id" : "HiveActivity.1",
      "name" : "HiveActivity.1",
      "type" : "HiveActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" : { "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "hiveScript" : "insert overwrite table ${output1} select * from ${input1} ;"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 day",
      "startDateTime" : "2012-05-04T00:00:00",
      "endDateTime" : "2012-05-05T00:00:00"
    }
  ]
}
```

## 構文
<a name="dynamodbdataformat-syntax"></a>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例えば、hostname STRING。複数の値の場合は、列名とデータ型をスペースで区切って使用します。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":​\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成するために使用されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# DynamoDBExportDataFormat
<a name="dp-object-dynamodbexportdataformat"></a>

DynamoDB テーブルにスキーマを適用して、Hive クエリでアクセスできるようにします。`DynamoDBExportDataFormat` は、`HiveCopyActivity` オブジェクトと、`DynamoDBDataNode` または `S3DataNode` の入出力と共に使用します。`DynamoDBExportDataFormat` には以下の利点があります。
+ DynamoDB と Amazon S3 の両方のサポートを提供します。
+ Hive クエリで特定の列によってデータをフィルタリングすることができます。
+ スパースなスキーマである場合でも、DynamoDB のすべての属性をエクスポートします。

**注記**  
DynamoDB のブール型は、Hive のブール型にマッピングされません。ただし、Hive のブール型に、0 または 1 の DynamoDB 整数値をマッピングすることができます。

## 例
<a name="dynamodbexportdataformat-example"></a>

以下の例は、`HiveCopyActivity` と `DynamoDBExportDataFormat` を使用して、タイムスタンプに基づいてデータをフィルタリングしながら `DynamoDBDataNode` 間でデータをコピーする方法を示します。

```
{
  "objects": [
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBExportDataFormat",
      "column" : "timeStamp BIGINT"
    },
    {
      "id" : "DataFormat.2",
      "name" : "DataFormat.2",
      "type" : "DynamoDBExportDataFormat"
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "item_mapped_table_restore_temp",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "restore_table",
      "region" : "us_west_1",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.2" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.xlarge",
      "coreInstanceCount" : "4"
    },
    {
      "id" : "HiveTransform.1",
      "name" : "Hive Copy Transform.1",
      "type" : "HiveCopyActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" : { "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "filterSql" : "`timeStamp` > unix_timestamp(\"#{@scheduledStartTime}\", \"yyyy-MM-dd'T'HH:mm:ss\")"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 Hour",
      "startDateTime" : "2013-06-04T00:00:00",
      "endDateTime" : "2013-06-04T01:00:00"
    }
  ]
}
```

## 構文
<a name="dynamodbexportdataformat-syntax"></a>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# RegEx データ形式
<a name="dp-object-regex"></a>

正規表現によって定義されるカスタムデータ形式。

## 例
<a name="regex-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MyInputDataType",
  "type" : "RegEx",
  "inputRegEx" : "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\"[^\"]*\") ([^ \"]*|\"[^\"]*\"))?",
  "outputFormat" : "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s",
  "column" : [
    "host STRING",
    "identity STRING",
    "user STRING",
    "time STRING",
    "request STRING",
    "status STRING",
    "size STRING",
    "referer STRING",
    "agent STRING"
  ]
}
```

## 構文
<a name="regex-syntax"></a>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING。複数の値の場合は、列名とデータ型をスペースで区切って使用します。 | String | 
| inputRegEx | S3 入力ファイルを解析する正規表現。inputRegEx を利用すると、ファイル内の比較的、構造化されていないデータから列を取得することができます。 | String | 
| outputFormat | inputRegEx で取得されるが、Java フォーマッター構文を使用して %1\$1s %2\$1s として参照される列フィールド。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# TSV データ形式
<a name="dp-object-tsv"></a>

列区切り文字がタブ文字で、レコード区切り文字が改行文字である、タブ区切りデータ形式。

## 例
<a name="tsv-example"></a>

以下は、このオブジェクト型の例です。

```
{
  "id" : "MyOutputDataType",
  "type" : "TSV",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## 構文
<a name="tsv-syntax"></a>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 列 | このデータノードで記述されたデータの列名とデータ型。たとえば、"Name STRING" は、列名が Name で、データ型が STRING であることを示します。複数の列名とデータ型のペアはカンマで区切ります (例を参照)。 | String | 
| columnSeparator | 1 つの列のフィールドと次の列のフィールドを区切る文字。デフォルトは '\$1t' です。 | String | 
| escapeChar | 後続の 1 文字を無視することをパーサーに指示する文字（たとえば "\$1"）。 | String | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| recordSeparator | レコードを区切る文字。デフォルトは '\$1n' です。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# アクション
<a name="dp-object-actions"></a>

 AWS Data Pipeline アクションオブジェクトは次のとおりです。

**Topics**
+ [SnsAlarm](dp-object-snsalarm.md)
+ [終了](dp-object-terminate.md)

# SnsAlarm
<a name="dp-object-snsalarm"></a>

 アクティビティが失敗するか正常終了すると、Amazon SNS 通知メッセージを送信します。

## 例
<a name="snsalarm-example"></a>

以下は、このオブジェクト型の例です。`node.input` および `node.output` の値は、`onSuccess` フィールドでこのオブジェクトを参照するデータノードまたはアクティビティから得られます。

```
{
  "id" : "SuccessNotify",
  "name" : "SuccessNotify",
  "type" : "SnsAlarm",
  "topicArn" : "arn:aws:sns:us-east-1:28619EXAMPLE:ExampleTopic",
  "subject" : "COPY SUCCESS: #{node.@scheduledStartTime}",
  "message" : "Files were copied from #{node.input} to #{node.output}."
}
```

## 構文
<a name="snsalarm-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| メッセージ | Amazon SNS 通知の本文テキスト。 | String | 
| ロール | Amazon SNS アラームを作成するときに使用する IAM ロール。 | String | 
| subject | Amazon SNS 通知メッセージの件名行。 | String | 
| topicArn | メッセージの宛先 Amazon SNS トピックの ARN。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| ノード | このアクションが実行されている対象ノード。 | 参照オブジェクト ("node":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# 終了
<a name="dp-object-terminate"></a>

保留中または未完了のアクティビティ、リソース、またはデータノードのキャンセルをトリガーするアクション。 は、アクティビティ、リソース、またはデータノードが `lateAfterTimeout`値で始まらない場合に CANCELLED 状態になるように AWS Data Pipeline 試みます。

`onSuccess`、`OnFail`、または `onLateAction` リソースを含むアクションを終了することはできません。

## 例
<a name="terminate-example"></a>

以下は、このオブジェクト型の例です。この例では、`MyActivity` の `onLateAction` フィールドは、アクション `DefaultAction1` の参照を含みます。`onLateAction` のアクションを指定するときは、アクティビティが遅れていると見なされてからパイプラインのスケジュールされた開始までの期間を示す `lateAfterTimeout` 値も指定する必要があります。

```
{
  "name" : "MyActivity",
  "id" : "DefaultActivity1",
  "schedule" : {
    "ref" : "MySchedule"
  },
  "runsOn" : {
    "ref" : "MyEmrCluster"
  },
  "lateAfterTimeout" : "1 Hours",
  "type" : "EmrActivity",
  "onLateAction" : {
    "ref" : "DefaultAction1"
  },
  "step" : [
    "s3://amzn-s3-demo-bucket/myPath/myStep.jar,firstArg,secondArg",
    "s3://amzn-s3-demo-bucket/myPath/myOtherStep.jar,anotherArg"
  ]
},
{
  "name" : "TerminateTasks",
  "id" : "DefaultAction1",
  "type" : "Terminate"
}
```

## 構文
<a name="terminate-syntax"></a>


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| ノード | このアクションが実行されている対象ノード。 | 参照オブジェクト ("node":\$1"ref":"myRunnableObjectId"\$1 など) | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# スケジュール
<a name="dp-object-schedule"></a>

アクティビティの実行など、予定されているイベントのタイミングを定義します。

**注記**  
スケジュールの開始時刻が過去の場合、 はパイプラインを AWS Data Pipeline バックフィルし、指定された開始時刻からすぐに実行のスケジュールを開始します。テストまたは開発の場合は、比較的短い期間を使用してください。それ以外の場合、 AWS Data Pipeline はその間隔のすべてのパイプラインの実行をキューに入れ、スケジュールしようとします。 AWS Data Pipeline は、パイプラインのアクティブ化をブロックして、パイプラインコンポーネント`scheduledStartTime`が 1 日前より前に誤ってバックフィルされないようにします。

## 例
<a name="schedule-example"></a>

以下は、このオブジェクト型の例です。これは、2012-09-01 の 00 00:00 に開始し 2012-10-01 の 00:00:00 に終了する毎時間のスケジュールを定義します。最初の期間は 2012-09-01 の 01:00:00 に終了します。

```
{
  "id" : "Hourly",
  "type" : "Schedule",
  "period" : "1 hours",
  "startDateTime" : "2012-09-01T00:00:00",
  "endDateTime" : "2012-10-01T00:00:00"
}
```

次のパイプラインは、`FIRST_ACTIVATION_DATE_TIME` に開始され、2014 年 4 月 25 日の 22:00:00 まで 1 時間ごとに実行されます。

```
{
     "id": "SchedulePeriod",
     "name": "SchedulePeriod",
     "startAt": "FIRST_ACTIVATION_DATE_TIME",
     "period": "1 hours",
     "type": "Schedule",
     "endDateTime": "2014-04-25T22:00:00"
   }
```

次のパイプラインは、`FIRST_ACTIVATION_DATE_TIME` に開始されます。1 時間ごとに実行され、3 回の実行後、終了されます。

```
{
     "id": "SchedulePeriod",
     "name": "SchedulePeriod",
     "startAt": "FIRST_ACTIVATION_DATE_TIME",
     "period": "1 hours",
     "type": "Schedule",
     "occurrences": "3"
   }
```

次のパイプラインは、2014 年 4 月 25 日の 22:00:00 に開始されます。1 時間ごとに実行され、3 回の実行後、終了されます。

```
{
     "id": "SchedulePeriod",
     "name": "SchedulePeriod",
     "startDateTime": "2014-04-25T22:00:00",
     "period": "1 hours",
     "type": "Schedule",
     "occurrences": "3"
   }
```

Default オブジェクトを使用したオンデマンド

```
{
  "name": "Default",
  "resourceRole": "DataPipelineDefaultResourceRole",
  "role": "DataPipelineDefaultRole",
  "scheduleType": "ondemand"
}
```

明示的な Schedule オブジェクトを使用したオンデマンド

```
{
  "name": "Default",
  "resourceRole": "DataPipelineDefaultResourceRole",
  "role": "DataPipelineDefaultRole",
  "scheduleType": "ondemand"
},
{
  "name": "DefaultSchedule",
  "type": "Schedule",
  "id": "DefaultSchedule",
  "period": "ONDEMAND_PERIOD",
  "startAt": "ONDEMAND_ACTIVATION_TIME"
},
```

次の例は、Default オブジェクトから Schedule を継承する方法、そのオブジェクトに対して明示的に設定する方法、または親参照から指定する方法を示します。

Default オブジェクトから継承されたスケジュール

```
{
  "objects": [
  {       
      "id": "Default",
      "failureAndRerunMode":"cascade",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "s3://myLogsbucket",
      "scheduleType": "cron",
      "schedule": {
        "ref": "DefaultSchedule"
      }
   },
   {
      "type": "Schedule",
      "id": "DefaultSchedule",
      "occurrences": "1",
      "period": "1 Day",
      "startAt": "FIRST_ACTIVATION_DATE_TIME"
    },
    { 
      "id": "A_Fresh_NewEC2Instance",
      "type": "Ec2Resource",
      "terminateAfter": "1 Hour"
    },
    {
      "id": "ShellCommandActivity_HelloWorld",
      "runsOn": {
        "ref": "A_Fresh_NewEC2Instance"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'Hello World!'"
    }
  ]
}
```

オブジェクトの明示的なスケジュール

```
{
  "objects": [
  {       
      "id": "Default",
      "failureAndRerunMode":"cascade",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "s3://myLogsbucket",
      "scheduleType": "cron"
      
   },
   {
      "type": "Schedule",
      "id": "DefaultSchedule",
      "occurrences": "1",
      "period": "1 Day",
      "startAt": "FIRST_ACTIVATION_DATE_TIME"
    },
    { 
      "id": "A_Fresh_NewEC2Instance",
      "type": "Ec2Resource",
      "terminateAfter": "1 Hour"
    },
    {
      "id": "ShellCommandActivity_HelloWorld",
      "runsOn": {
        "ref": "A_Fresh_NewEC2Instance"
      },
      "schedule": {
        "ref": "DefaultSchedule"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'Hello World!'"
    }
  ]
}
```

親参照からのスケジュール

```
{
  "objects": [
  {       
      "id": "Default",
      "failureAndRerunMode":"cascade",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "s3://myLogsbucket",
      "scheduleType": "cron"
      
   },
   {       
      "id": "parent1",
      "schedule": {
        "ref": "DefaultSchedule"
      }
      
   },
   {
      "type": "Schedule",
      "id": "DefaultSchedule",
      "occurrences": "1",
      "period": "1 Day",
      "startAt": "FIRST_ACTIVATION_DATE_TIME"
    },
    { 
      "id": "A_Fresh_NewEC2Instance",
      "type": "Ec2Resource",
      "terminateAfter": "1 Hour"
    },
    {
      "id": "ShellCommandActivity_HelloWorld",
      "runsOn": {
        "ref": "A_Fresh_NewEC2Instance"
      },
      "parent": {
        "ref": "parent1"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'Hello World!'"
    }
  ]
}
```

## 構文
<a name="schedule-syntax"></a>


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 期間 | パイプラインの実行頻度。形式は、"N [minutes\$1hours\$1days\$1weeks\$1months]" です。ここで N は数字で、その後に時間指定子の 1 つを続けます。たとえば、"15 minutes" は、15 分ごとにパイプラインを実行します。最小間隔は 15 分で、最大間隔は 3 年です。 | Period | 

 


****  

| 必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ | 
| --- | --- | --- | 
| startAt | スケジュールされたパイプライン実行を開始する日時。有効な値は FIRST\$1ACTIVATION\$1DATE\$1TIME ですが、この値はオンデマンドパイプラインの作成には推奨されていません。 | 一覧表 | 
| startDateTime | スケジュールした実行を開始する日時。startDateTime または startAt を使用する必要があります。両方使用することはできません。 | DateTime | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| endDateTime | スケジュールした実行が終了する日時。startDateTime または startAt の値より後の日時である必要があります。デフォルトの動作では、パイプラインがシャットダウンされるまで実行をスケジューします。 | DateTime | 
| occurrences | パイプラインをアクティブ化してから実行する回数。endDateTime で occurrences を使用することはできません。 | 整数 | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @firstActivationTime | オブジェクト作成の時刻。 | DateTime | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

# Utilities
<a name="dp-object-utilities"></a>

次のようなユーティリティオブジェクトでは、その他のパイプラインオブジェクトを設定します。

**Topics**
+ [ShellScriptConfig](dp-object-shellscriptconfig.md)
+ [EmrConfiguration](dp-object-emrconfiguration.md)
+ [プロパティ](dp-object-property.md)

# ShellScriptConfig
<a name="dp-object-shellscriptconfig"></a>

Activity で使用し、preActivityTaskConfig と postActivityTaskConfig のシェルスクリプトを実行します。このオブジェクトは [HadoopActivity](dp-object-hadoopactivity.md)、[HiveActivity](dp-object-hiveactivity.md)、[HiveCopyActivity](dp-object-hivecopyactivity.md)、[PigActivity](dp-object-pigactivity.md) に使用できます。スクリプトの S3 URI と引数のリストを指定します。

## 例
<a name="shellscriptconfig-example"></a>

ShellScriptConfig と引数。

```
{
   "id" : "ShellScriptConfig_1”,
   "name" : “prescript”,
   "type" : "ShellScriptConfig",
   "scriptUri": “s3://my-bucket/shell-cleanup.sh”,
   "scriptArgument" : ["arg1","arg2"]
 }
```

## 構文
<a name="shellscriptconfig-syntax"></a>

このオブジェクトは次のフィールドを含みます。


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| scriptArgument | シェルスクリプトで使う引数のリスト。 | String | 
| scriptUri | ダウンロードおよび実行する必要がある Amazon S3 内のスクリプト URI。 | String | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

# EmrConfiguration
<a name="dp-object-emrconfiguration"></a>

EmrConfiguration オブジェクトはリリース 4.0.0 以降の EMR クラスターに使用される設定です。(リストとしての) 設定は、RunJobFlow API 呼び出しのパラメーターです。Amazon EMR の設定 API は、分類とプロパティを取得します。 は、対応するプロパティオブジェクトで EmrConfiguration AWS Data Pipeline を使用して、パイプライン実行で起動された EMR クラスターで Hadoop、Hive、Spark、Pig などの[EmrCluster](dp-object-emrcluster.md)アプリケーションを設定します。設定は新しいクラスターに対してのみ変更できるため、既存のリソースに EmrConfiguration オブジェクトを指定することはできません。詳細については、「[https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/)」を参照してください。

## 例
<a name="emrconfiguration-example"></a>

次の設定オブジェクトは、`io.file.buffer.size` で `fs.s3.block.size` および `core-site.xml` プロパティを設定します。

```
[
   {  
      "classification":"core-site",
      "properties":
      {
         "io.file.buffer.size": "4096",
         "fs.s3.block.size": "67108864"
      }
   }
]
```

対応するパイプラインオブジェクトの定義では、EmrConfiguration オブジェクトおよび Property オブジェクトのリストを `property` フィールドで使用します。

```
{
  "objects": [
    {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "ResourceId_I1mCc",
      "type": "EmrCluster",
      "configuration": {
        "ref": "coresite"
      }
    },
    {
      "name": "coresite",
      "id": "coresite",
      "type": "EmrConfiguration",
      "classification": "core-site",
      "property": [{
        "ref": "io-file-buffer-size"
      },
      {
        "ref": "fs-s3-block-size"
      }
      ]
    },
    {
      "name": "io-file-buffer-size",
      "id": "io-file-buffer-size",
      "type": "Property",
      "key": "io.file.buffer.size",
      "value": "4096"
    },
    {
      "name": "fs-s3-block-size",
      "id": "fs-s3-block-size",
      "type": "Property",
      "key": "fs.s3.block.size",
      "value": "67108864"
    }
  ]
}
```

次の例は、`hadoop-env` 分類で Hadoop 環境を設定するためのネスト設定です。

```
[
  {
    "classification": "hadoop-env",
    "properties": {},
    "configurations": [
      {
        "classification": "export",
        "properties": {
          "YARN_PROXYSERVER_HEAPSIZE": "2396"
        }
      }
    ]
  }
]
```

この設定を使用する、対応するパイプライン定義オブジェクトを次に示します。

```
{
  "objects": [
    {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.0.0",
      "applications": ["spark", "hive", "pig"],
      "id": "ResourceId_I1mCc",
      "type": "EmrCluster",
      "configuration": {
        "ref": "hadoop-env"
      }
    },
    {
      "name": "hadoop-env",
      "id": "hadoop-env",
      "type": "EmrConfiguration",
      "classification": "hadoop-env",
      "configuration": {
        "ref": "export"
      }
    },
    {
      "name": "export",
      "id": "export",
      "type": "EmrConfiguration",
      "classification": "export",
      "property": {
        "ref": "yarn-proxyserver-heapsize"
      }
    },
    {
      "name": "yarn-proxyserver-heapsize",
      "id": "yarn-proxyserver-heapsize",
      "type": "Property",
      "key": "YARN_PROXYSERVER_HEAPSIZE",
      "value": "2396"
    },
  ]
}
```

次の例では、EMR クラスターの Hive 固有のプロパティを変更します。

```
{
    "objects": [
        {
            "name": "hivesite",
            "id": "hivesite",
            "type": "EmrConfiguration",
            "classification": "hive-site",
            "property": [
                {
                    "ref": "hive-client-timeout"
                }
            ]
        },
        {
            "name": "hive-client-timeout",
            "id": "hive-client-timeout",
            "type": "Property",
            "key": "hive.metastore.client.socket.timeout",
            "value": "2400s"
        }
    ]
}
```

## 構文
<a name="emrconfiguration-syntax"></a>

このオブジェクトは次のフィールドを含みます。


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 分類 | 設定の分類。 | String | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| 設定 | この設定のサブ設定。 | 参照オブジェクト ("configuration":\$1"ref":"myEmrConfigurationId"\$1 など) | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 
| property | 設定のプロパティ。 | 参照オブジェクト ("property":\$1"ref":"myPropertyId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトが作成されたパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します | String | 

## 以下の資料も参照してください。
<a name="emrconfiguration-seealso"></a>
+ [EmrCluster](dp-object-emrcluster.md)
+ [プロパティ](dp-object-property.md)
+ [Amazon EMR リリース ガイド](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/)

# プロパティ
<a name="dp-object-property"></a>

EmrConfiguration オブジェクトで使用するキーと値の 1 つのプロパティ。

## 例
<a name="property-example"></a>

次のパイプライン定義は、EmrCluster を起動する EmrConfiguration オブジェクトと対応する Property オブジェクトを示します。

```
{
  "objects": [
    {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "ResourceId_I1mCc",
      "type": "EmrCluster",
      "configuration": {
        "ref": "coresite"
      }
    },
    {
      "name": "coresite",
      "id": "coresite",
      "type": "EmrConfiguration",
      "classification": "core-site",
      "property": [{
        "ref": "io-file-buffer-size"
      },
      {
        "ref": "fs-s3-block-size"
      }
      ]
    },
    {
      "name": "io-file-buffer-size",
      "id": "io-file-buffer-size",
      "type": "Property",
      "key": "io.file.buffer.size",
      "value": "4096"
    },
    {
      "name": "fs-s3-block-size",
      "id": "fs-s3-block-size",
      "type": "Property",
      "key": "fs.s3.block.size",
      "value": "67108864"
    }
  ]
}
```

## 構文
<a name="property-syntax"></a>

このオブジェクトは次のフィールドを含みます。


****  

| 必須フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| key | key | 文字列 | 
| 値 | 値 | 文字列 | 

 


****  

| オプションのフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| parent | スロットの継承元となる現在のオブジェクトの親。 | 参照オブジェクト ("parent":\$1"ref":"myBaseObjectId"\$1 など) | 

 


****  

| 実行時フィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @version | オブジェクトを作成したパイプラインのバージョン。 | String | 

 


****  

| システムフィールド | 説明 | スロットタイプ | 
| --- | --- | --- | 
| @error | 形式が正しくないオブジェクトを説明するエラー。 | String | 
| @pipelineId | このオブジェクトが属するパイプラインの ID。 | String | 
| @sphere | オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | String | 

## 以下の資料も参照してください。
<a name="property-seealso"></a>
+ [EmrCluster](dp-object-emrcluster.md)
+ [EmrConfiguration](dp-object-emrconfiguration.md)
+ [Amazon EMR リリース ガイド](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/)