メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::DataPipeline::Pipeline

データの移動と変換を自動化するために使用できるデータパイプラインを作成します。各パイプラインでは、アクティビティ、スケジュール、データノード、リソースなどのパイプラインオブジェクトを定義します。使用できるパイプラインオブジェクトやコンポーネントについては、AWS Data Pipeline 開発者ガイドの「パイプラインオブジェクトリファレンス」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::DataPipeline::Pipeline", "Properties" : { "Activate" : Boolean, "Description" : String, "Name" : String, "ParameterObjects" : [ Parameter object, ... ], "ParameterValues" : [ Parameter value, ... ], "PipelineObjects" : [ Pipeline object, ... ], "PipelineTags" : [ Pipeline tag, ... ] } }

YAML

Copy
Type: "AWS::DataPipeline::Pipeline" Properties: Activate: Boolean Description: String Name: String ParameterObjects: - Parameter object ParameterValues: - Parameter value PipelineObjects: - Pipeline object PipelineTags: - Pipeline tag

プロパティ

Activate

パイプラインを検証して起動するか、アクティブなパイプラインを停止するかを示します。デフォルトでは、値は true に設定されます。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

Description

パイプラインの説明。

Required: No

Type: String

更新に伴う要件: 置換

Name

パイプラインの名前。AWS CloudFormation は新しい各パイプラインに一意の識別子を割り当てるため、AWS アカウントに関連付けられた複数のパイプラインに同じ名前を使用できます。

Required: Yes

Type: String

更新に伴う要件: 置換

ParameterObjects

パイプライン定義に含まれる変数を定義します。詳細については、AWS Data Pipeline 開発者ガイドの「パラメーター化されたテンプレートを使用したパイプラインの作成」を参照してください。

Required: No

タイプ: AWS Data Pipeline Pipeline ParameterObjects

更新に伴う要件: 中断はありません。

ParameterValues

ParameterObjects プロパティで定義されているパラメーターの値を定義します。詳細については、AWS Data Pipeline 開発者ガイドの「パラメーター化されたテンプレートを使用したパイプラインの作成」を参照してください。

Required: No

タイプ: AWS Data Pipeline Pipeline ParameterValues

更新に伴う要件: 中断はありません。

PipelineObjects

パイプラインを構成するパイプラインオブジェクトのリスト。パイプラインオブジェクトと各オブジェクトの説明の詳細については、AWS Data Pipeline 開発者ガイドの「パイプラインオブジェクトリファレンス」を参照してください。

Required: Yes

: AWS Data Pipeline PipelineObject のリスト

更新に伴う要件: 一時的な中断。. すべてのオブジェクト、フィールド、値を更新できるわけではありません。更新できる内容の制限については、AWS Data Pipeline 開発者ガイドの「パイプラインの編集」で説明されています。

PipelineTags

パイプラインに関連付ける任意のタグ (キーと値のペア) のリスト。権限の制御に使用できます。詳細については、AWS Data Pipeline 開発者ガイドの「パイプラインおよびリソースに対するアクセスの制御」を参照してください。

Required: No

タイプ: AWS Data Pipeline Pipeline PipelineTags

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。

Ref 関数の引数として AWS::DataPipeline::Pipeline リソースを指定すると、AWS CloudFormation からはパイプライン ID が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

次のデータパイプラインは、Amazon DynamoDB (DynamoDB) テーブルから Amazon Simple Storage Service (Amazon S3) バケットにデータをバックアップします。パイプラインは、HiveCopyActivity アクティビティを使用してデータをピーし、それを 1 日に 1 回実行します。パイプラインのロールとパイプラインリソースは、同じテンプレートの別の場所で宣言されます。

JSON

Copy
"DynamoDBInputS3OutputHive": { "Type": "AWS::DataPipeline::Pipeline", "Properties": { "Name": "DynamoDBInputS3OutputHive", "Description": "Pipeline to backup DynamoDB data to S3", "Activate": "true", "ParameterObjects": [ { "Id": "myDDBReadThroughputRatio", "Attributes": [ { "Key": "description", "StringValue": "DynamoDB read throughput ratio" }, { "Key": "type", "StringValue": "Double" }, { "Key": "default", "StringValue": "0.2" } ] }, { "Id": "myOutputS3Loc", "Attributes": [ { "Key": "description", "StringValue": "S3 output bucket" }, { "Key": "type", "StringValue": "AWS::S3::ObjectKey" }, { "Key": "default", "StringValue": { "Fn::Join" : [ "", [ "s3://", { "Ref": "S3OutputLoc" } ] ] } } ] }, { "Id": "myDDBTableName", "Attributes": [ { "Key": "description", "StringValue": "DynamoDB Table Name " }, { "Key": "type", "StringValue": "String" } ] } ], "ParameterValues": [ { "Id": "myDDBTableName", "StringValue": { "Ref": "TableName" } } ], "PipelineObjects": [ { "Id": "S3BackupLocation", "Name": "Copy data to this S3 location", "Fields": [ { "Key": "type", "StringValue": "S3DataNode" }, { "Key": "dataFormat", "RefValue": "DDBExportFormat" }, { "Key": "directoryPath", "StringValue": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}" } ] }, { "Id": "DDBSourceTable", "Name": "DDBSourceTable", "Fields": [ { "Key": "tableName", "StringValue": "#{myDDBTableName}" }, { "Key": "type", "StringValue": "DynamoDBDataNode" }, { "Key": "dataFormat", "RefValue": "DDBExportFormat" }, { "Key": "readThroughputPercent", "StringValue": "#{myDDBReadThroughputRatio}" } ] }, { "Id": "DDBExportFormat", "Name": "DDBExportFormat", "Fields": [ { "Key": "type", "StringValue": "DynamoDBExportDataFormat" } ] }, { "Id": "TableBackupActivity", "Name": "TableBackupActivity", "Fields": [ { "Key": "resizeClusterBeforeRunning", "StringValue": "true" }, { "Key": "type", "StringValue": "HiveCopyActivity" }, { "Key": "input", "RefValue": "DDBSourceTable" }, { "Key": "runsOn", "RefValue": "EmrClusterForBackup" }, { "Key": "output", "RefValue": "S3BackupLocation" } ] }, { "Id": "DefaultSchedule", "Name": "RunOnce", "Fields": [ { "Key": "occurrences", "StringValue": "1" }, { "Key": "startAt", "StringValue": "FIRST_ACTIVATION_DATE_TIME" }, { "Key": "type", "StringValue": "Schedule" }, { "Key": "period", "StringValue": "1 Day" } ] }, { "Id": "Default", "Name": "Default", "Fields": [ { "Key": "type", "StringValue": "Default" }, { "Key": "scheduleType", "StringValue": "cron" }, { "Key": "failureAndRerunMode", "StringValue": "CASCADE" }, { "Key": "role", "StringValue": "DataPipelineDefaultRole" }, { "Key": "resourceRole", "StringValue": "DataPipelineDefaultResourceRole" }, { "Key": "schedule", "RefValue": "DefaultSchedule" } ] }, { "Id": "EmrClusterForBackup", "Name": "EmrClusterForBackup", "Fields": [ { "Key": "terminateAfter", "StringValue": "2 Hours" }, { "Key": "amiVersion", "StringValue": "3.3.2" }, { "Key": "masterInstanceType", "StringValue": "m1.medium" }, { "Key": "coreInstanceType", "StringValue": "m1.medium" }, { "Key": "coreInstanceCount", "StringValue": "1" }, { "Key": "type", "StringValue": "EmrCluster" } ] } ] } }

YAML

Copy
DynamoDBInputS3OutputHive: Type: "AWS::DataPipeline::Pipeline" Properties: Name: DynamoDBInputS3OutputHive Description: "Pipeline to backup DynamoDB data to S3" Activate: true ParameterObjects: - Id: "myDDBReadThroughputRatio" Attributes: - Key: "description" StringValue: "DynamoDB read throughput ratio" - Key: "type" StringValue: "Double" - Key: "default" StringValue: "0.2" - Id: "myOutputS3Loc" Attributes: - Key: "description" StringValue: "S3 output bucket" - Key: "type" StringValue: "AWS::S3::ObjectKey" - Key: "default" StringValue: Fn::Join: - "" - - "s3://" - Ref: "S3OutputLoc" - Id: "myDDBTableName" Attributes: - Key: "description" StringValue: "DynamoDB Table Name " - Key: "type" StringValue: "String" ParameterValues: - Id: "myDDBTableName" StringValue: Ref: "TableName" PipelineObjects: - Id: "S3BackupLocation" Name: "Copy data to this S3 location" Fields: - Key: "type" StringValue: "S3DataNode" - Key: "dataFormat" RefValue: "DDBExportFormat" - Key: "directoryPath" StringValue: "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}" - Id: "DDBSourceTable" Name: "DDBSourceTable" Fields: - Key: "tableName" StringValue: "#{myDDBTableName}" - Key: "type" StringValue: "DynamoDBDataNode" - Key: "dataFormat" RefValue: "DDBExportFormat" - Key: "readThroughputPercent" StringValue: "#{myDDBReadThroughputRatio}" - Id: "DDBExportFormat" Name: "DDBExportFormat" Fields: - Key: "type" StringValue: "DynamoDBExportDataFormat" - Id: "TableBackupActivity" Name: "TableBackupActivity" Fields: - Key: "resizeClusterBeforeRunning" StringValue: "true" - Key: "type" StringValue: "HiveCopyActivity" - Key: "input" RefValue: "DDBSourceTable" - Key: "runsOn" RefValue: "EmrClusterForBackup" - Key: "output" RefValue: "S3BackupLocation" - Id: "DefaultSchedule" Name: "RunOnce" Fields: - Key: "occurrences" StringValue: "1" - Key: "startAt" StringValue: "FIRST_ACTIVATION_DATE_TIME" - Key: "type" StringValue: "Schedule" - Key: "period" StringValue: "1 Day" - Id: "Default" Name: "Default" Fields: - Key: "type" StringValue: "Default" - Key: "scheduleType" StringValue: "cron" - Key: "failureAndRerunMode" StringValue: "CASCADE" - Key: "role" StringValue: "DataPipelineDefaultRole" - Key: "resourceRole" StringValue: "DataPipelineDefaultResourceRole" - Key: "schedule" RefValue: "DefaultSchedule" - Id: "EmrClusterForBackup" Name: "EmrClusterForBackup" Fields: - Key: "terminateAfter" StringValue: "2 Hours" - Key: "amiVersion" StringValue: "3.3.2" - Key: "masterInstanceType" StringValue: "m1.medium" - Key: "coreInstanceType" StringValue: "m1.medium" - Key: "coreInstanceCount" StringValue: "1" - Key: "type" StringValue: "EmrCluster"

このページの内容: