AWS Data Pipeline
API Reference
API Version 2012-10-29
AWS Data Pipeline: API Reference
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
Welcome ... 1
Actions ... 2
ActivatePipeline ... 3
Request Syntax ... 3
Request Parameters ... 3
Response Elements ... 4
Errors ... 4
Examples ... 4
See Also ... 5
AddTags ... 6
Request Syntax ... 6
Request Parameters ... 6
Response Elements ... 6
Errors ... 6
See Also ... 7
CreatePipeline ... 8
Request Syntax ... 8
Request Parameters ... 8
Response Syntax ... 9
Response Elements ... 9
Errors ... 9
Examples ... 10
See Also ... 10
DeactivatePipeline ... 11
Request Syntax ... 11
Request Parameters ... 11
Response Elements ... 11
Errors ... 11
See Also ... 12
DeletePipeline ... 13
Request Syntax ... 13
Request Parameters ... 13
Response Elements ... 13
Errors ... 13
Examples ... 14
See Also ... 14
DescribeObjects ... 16
Request Syntax ... 16
Request Parameters ... 16
Response Syntax ... 17
Response Elements ... 17
Errors ... 17
Examples ... 18
See Also ... 19
DescribePipelines ... 20
Request Syntax ... 20
Request Parameters ... 20
Response Syntax ... 20
Response Elements ... 21
Errors ... 21
Examples ... 21
See Also ... 22
Request Parameters ... 24
Response Syntax ... 24
Response Elements ... 25
Errors ... 25
Examples ... 25
See Also ... 26
GetPipelineDefinition ... 27
Request Syntax ... 27
Request Parameters ... 27
Response Syntax ... 27
Response Elements ... 28
Errors ... 28
Examples ... 29
See Also ... 30
ListPipelines ... 31
Request Syntax ... 31
Request Parameters ... 31
Response Syntax ... 31
Response Elements ... 31
Errors ... 32
Examples ... 32
See Also ... 33
PollForTask ... 34
Request Syntax ... 34
Request Parameters ... 34
Response Syntax ... 35
Response Elements ... 35
Errors ... 35
Examples ... 36
See Also ... 37
PutPipelineDefinition ... 38
Request Syntax ... 38
Request Parameters ... 38
Response Syntax ... 39
Response Elements ... 39
Errors ... 40
Examples ... 40
See Also ... 43
QueryObjects ... 44
Request Syntax ... 44
Request Parameters ... 44
Response Syntax ... 45
Response Elements ... 45
Errors ... 45
Examples ... 46
See Also ... 47
RemoveTags ... 48
Request Syntax ... 48
Request Parameters ... 48
Response Elements ... 48
Errors ... 48
See Also ... 49
ReportTaskProgress ... 50
Request Syntax ... 50
Request Parameters ... 50
Response Syntax ... 50
Response Elements ... 51
Errors ... 51
Examples ... 51
See Also ... 52
ReportTaskRunnerHeartbeat ... 53
Request Syntax ... 53
Request Parameters ... 53
Response Syntax ... 54
Response Elements ... 54
Errors ... 54
Examples ... 54
See Also ... 55
SetStatus ... 56
Request Syntax ... 56
Request Parameters ... 56
Response Elements ... 56
Errors ... 57
Examples ... 57
See Also ... 58
SetTaskStatus ... 59
Request Syntax ... 59
Request Parameters ... 59
Response Elements ... 60
Errors ... 60
Examples ... 61
See Also ... 61
ValidatePipelineDefinition ... 63
Request Syntax ... 63
Request Parameters ... 63
Response Syntax ... 64
Response Elements ... 64
Errors ... 65
Examples ... 65
See Also ... 68
Data Types ... 69
Field ... 70
Contents ... 70
See Also ... 70
InstanceIdentity ... 71
Contents ... 71
See Also ... 71
Operator ... 72
Contents ... 72
See Also ... 72
ParameterAttribute ... 74
Contents ... 74
See Also ... 74
ParameterObject ... 75
Contents ... 75
See Also ... 75
ParameterValue ... 76
Contents ... 76
See Also ... 76
PipelineDescription ... 77
Contents ... 77
See Also ... 77
See Also ... 79
PipelineObject ... 80
Contents ... 80
See Also ... 80
Query ... 81
Contents ... 81
See Also ... 81
Selector ... 82
Contents ... 82
See Also ... 82
Tag ... 83
Contents ... 83
See Also ... 83
TaskObject ... 84
Contents ... 84
See Also ... 84
ValidationError ... 86
Contents ... 86
See Also ... 86
ValidationWarning ... 87
Contents ... 87
See Also ... 87
Common Parameters ... 88
Common Errors ... 90
Welcome
AWS Data Pipeline configures and manages a data-driven workflow called a pipeline. AWS Data Pipeline handles the details of scheduling and ensuring that data dependencies are met so that your application can focus on processing the data.
AWS Data Pipeline provides a JAR implementation of a task runner called AWS Data Pipeline Task Runner. AWS Data Pipeline Task Runner provides logic for common data management scenarios, such as performing database queries and running data analysis using Amazon Elastic MapReduce (Amazon EMR).
You can use AWS Data Pipeline Task Runner as your task runner, or you can write your own task runner to provide custom data management.
AWS Data Pipeline implements two main sets of functionality. Use the first set to create a pipeline and define data sources, schedules, dependencies, and the transforms to be performed on the data. Use the second set in your task runner application to receive the next task ready for processing. The logic for performing the task, such as querying the data, running data analysis, or converting the data from one format to another, is contained within the task runner. The task runner performs the task assigned to it by the web service, reporting progress to the web service as it does so. When the task is done, the task runner reports the final success or failure of the task to the web service.
This document was last published on March 6, 2022.
Actions
The following actions are supported:
• ActivatePipeline (p. 3)
• AddTags (p. 6)
• CreatePipeline (p. 8)
• DeactivatePipeline (p. 11)
• DeletePipeline (p. 13)
• DescribeObjects (p. 16)
• DescribePipelines (p. 20)
• EvaluateExpression (p. 24)
• GetPipelineDefinition (p. 27)
• ListPipelines (p. 31)
• PollForTask (p. 34)
• PutPipelineDefinition (p. 38)
• QueryObjects (p. 44)
• RemoveTags (p. 48)
• ReportTaskProgress (p. 50)
• ReportTaskRunnerHeartbeat (p. 53)
• SetStatus (p. 56)
• SetTaskStatus (p. 59)
• ValidatePipelineDefinition (p. 63)
ActivatePipeline
ActivatePipeline
Validates the specified pipeline and starts processing pipeline tasks. If the pipeline does not pass validation, activation fails.
If you need to pause the pipeline to investigate an issue with a component, such as a data source or script, call DeactivatePipeline (p. 11).
To activate a finished pipeline, modify the end date for the pipeline and then activate it.
If you activate an on-demand pipeline that is already running, it will cancel all running objects and re-run the pipeline. StartTimestamp does not apply to on-demand pipelines.
Request Syntax
{
"parameterValues": [ {
"id": "string",
"stringValue": "string"
} ],
"pipelineId": "string", "startTimestamp": number }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
parameterValues (p. 3)
A list of parameter values to pass to the pipeline at activation.
Type: Array of ParameterValue (p. 76) objects Required: No
pipelineId (p. 3)
The ID of the pipeline.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes startTimestamp (p. 3)
The date and time to resume the pipeline. By default, the pipeline resumes from the last completed
Response Elements
Required: No
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 PipelineDeletedException
The specified pipeline has been deleted.
HTTP Status Code: 400 PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of ActivatePipeline.
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1 X-Amz-Target: DataPipeline.ActivatePipeline Content-Length: 39
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"pipelineId": "df-06372391ZG65EXAMPLE"}
See Also
Sample Response
HTTP/1.1 200
x-amzn-RequestId: ee19d5bf-074e-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 2
Date: Mon, 12 Nov 2012 17:50:53 GMT {}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
AddTags
AddTags
Adds or modifies tags for the specified pipeline.
Request Syntax
{
"pipelineId": "string", "tags": [
{
"key": "string", "value": "string"
} ]}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
pipelineId (p. 6)
The ID of the pipeline.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes tags (p. 6)
The tags to add, as key/value pairs.
Type: Array of Tag (p. 83) objects
Array Members: Minimum number of 0 items. Maximum number of 10 items.
Required: Yes
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
See Also
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 PipelineDeletedException
The specified pipeline has been deleted.
HTTP Status Code: 400 PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
CreatePipeline
CreatePipeline
Creates a new, empty pipeline. Use PutPipelineDefinition (p. 38) to populate the pipeline.
Request Syntax
{
"description": "string", "name": "string",
"tags": [ {
"key": "string", "value": "string"
} ],
"uniqueId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
description (p. 8)
The description for the pipeline.
Type: String Required: No name (p. 8)
The name for the pipeline. You can use the same name for multiple pipelines associated with your AWS account, because AWS Data Pipeline assigns each pipeline a unique pipeline identifier.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes tags (p. 8)
A list of tags to associate with the pipeline at creation. Tags let you control access to pipelines. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide.
Type: Array of Tag (p. 83) objects
Array Members: Minimum number of 0 items. Maximum number of 10 items.
Required: No uniqueId (p. 8)
A unique identifier. This identifier is not the same as the pipeline identifier assigned by AWS Data Pipeline. You are responsible for defining the format and ensuring the uniqueness of this
Response Syntax
identifier. You use this parameter to ensure idempotency during repeated calls to CreatePipeline.
For example, if the first call to CreatePipeline does not succeed, you can pass in the same unique identifier and pipeline name combination on a subsequent call to CreatePipeline.
CreatePipeline ensures that if a pipeline already exists with the same name and unique identifier, a new pipeline is not created. Instead, you'll receive the pipeline identifier from the previous
attempt. The uniqueness of the name and unique identifier combination is scoped to the AWS account or IAM user credentials.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes
Response Syntax
{
"pipelineId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
pipelineId (p. 9)
The ID that AWS Data Pipeline assigns the newly created pipeline. For example, df-06372391ZG65EXAMPLE.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for
Examples
Examples
Example
This example illustrates one usage of CreatePipeline.
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1 X-Amz-Target: DataPipeline.CreatePipeline Content-Length: 91
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"name": "myPipeline", "uniqueId": "123456789",
"description": "This is my first pipeline"}
Sample Response
HTTP/1.1 200
x-amzn-RequestId: b16911ce-0774-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 40
Date: Mon, 12 Nov 2012 17:50:53 GMT {"pipelineId": "df-06372391ZG65EXAMPLE"}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DeactivatePipeline
DeactivatePipeline
Deactivates the specified running pipeline. The pipeline is set to the DEACTIVATING state until the deactivation process completes.
To resume a deactivated pipeline, use ActivatePipeline (p. 3). By default, the pipeline resumes from the last completed execution. Optionally, you can specify the date and time to resume the pipeline.
Request Syntax
{ "cancelActive": boolean, "pipelineId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
cancelActive (p. 11)
Indicates whether to cancel any running objects. The default is true, which sets the state of any running objects to CANCELED. If this value is false, the pipeline is deactivated after all running objects finish.
Type: Boolean Required: No pipelineId (p. 11)
The ID of the pipeline.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
See Also
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 PipelineDeletedException
The specified pipeline has been deleted.
HTTP Status Code: 400 PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DeletePipeline
DeletePipeline
Deletes a pipeline, its pipeline definition, and its run history. AWS Data Pipeline attempts to cancel instances associated with the pipeline that are currently being processed by task runners.
Deleting a pipeline cannot be undone. You cannot query or restore a deleted pipeline. To temporarily pause a pipeline instead of deleting it, call SetStatus (p. 56) with the status set to PAUSE on individual components. Components that are paused by SetStatus (p. 56) can be resumed.
Request Syntax
{ "pipelineId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
pipelineId (p. 13)
The ID of the pipeline.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for
Examples
PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of DeletePipeline.
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1 X-Amz-Target: DataPipeline.DeletePipeline Content-Length: 50
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"pipelineId": "df-06372391ZG65EXAMPLE"}
Sample Response
x-amzn-RequestId: b7a88c81-0754-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 0
Date: Mon, 12 Nov 2012 17:50:53 GMT Unexpected response: 200, OK, undefined
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
See Also
DescribeObjects
DescribeObjects
Gets the object definitions for a set of objects associated with the pipeline. Object definitions are composed of a set of fields that define the properties of the object.
Request Syntax
{ "evaluateExpressions": boolean, "marker": "string",
"objectIds": [ "string" ], "pipelineId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
evaluateExpressions (p. 16)
Indicates whether any expressions in the object should be evaluated when the object descriptions are returned.
Type: Boolean Required: No marker (p. 16)
The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call DescribeObjects with the marker value from the previous call to retrieve the next set of results.
Type: String Required: No objectIds (p. 16)
The IDs of the pipeline objects that contain the definitions to be described. You can pass as many as 25 identifiers in a single call to DescribeObjects.
Type: Array of strings
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes pipelineId (p. 16)
The ID of the pipeline that contains the object definitions.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Response Syntax
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes
Response Syntax
{ "hasMoreResults": boolean, "marker": "string", "pipelineObjects": [ {
"fields": [ {
"key": "string", "refValue": "string", "stringValue": "string"
} ],
"id": "string", "name": "string"
} ]}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
hasMoreResults (p. 17)
Indicates whether there are more results to return.
Type: Boolean marker (p. 17)
The starting point for the next page of results. To view the next page of results, call
DescribeObjects again with this marker value. If the value is null, there are no more results.
Type: String pipelineObjects (p. 17)
An array of object definitions.
Type: Array of PipelineObject (p. 80) objects
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
Examples
InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 PipelineDeletedException
The specified pipeline has been deleted.
HTTP Status Code: 400 PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of DescribeObjects.
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1 X-Amz-Target: DataPipeline.DescribeObjects Content-Length: 98
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"pipelineId": "df-06372391ZG65EXAMPLE", "objectIds":
["Schedule"],
"evaluateExpressions": true}
Sample Response
x-amzn-RequestId: 4c18ea5d-0777-11e2-8a14-21bb8a1f50ef Content-Type: application/x-amz-json-1.1
Content-Length: 1488
Date: Mon, 12 Nov 2012 17:50:53 GMT {"hasMoreResults": false,
"pipelineObjects":
[ {"fields":
[
{"key": "startDateTime",
See Also
"stringValue": "2012-12-12T00:00:00"}, {"key": "parent",
"refValue": "Default"}, {"key": "@sphere",
"stringValue": "COMPONENT"}, {"key": "type",
"stringValue": "Schedule"}, {"key": "period",
"stringValue": "1 hour"}, {"key": "endDateTime",
"stringValue": "2012-12-21T18:00:00"}, {"key": "@version",
"stringValue": "1"}, {"key": "@status",
"stringValue": "PENDING"}, {"key": "@pipelineId",
"stringValue": "df-06372391ZG65EXAMPLE"}
],
"id": "Schedule", "name": "Schedule"}
] }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
DescribePipelines
DescribePipelines
Retrieves metadata about one or more pipelines. The information retrieved includes the name of the pipeline, the pipeline identifier, its current state, and the user account that owns the pipeline. Using account credentials, you can retrieve metadata about pipelines that you or your IAM users have created.
If you are using an IAM user account, you can retrieve metadata about only those pipelines for which you have read permissions.
To retrieve the full pipeline definition instead of metadata about the pipeline, call GetPipelineDefinition (p. 27).
Request Syntax
{
"pipelineIds": [ "string" ] }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
pipelineIds (p. 20)
The IDs of the pipelines to describe. You can pass as many as 25 identifiers in a single call. To obtain pipeline IDs, call ListPipelines (p. 31).
Type: Array of strings
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes
Response Syntax
{ "pipelineDescriptionList": [ {
"description": "string", "fields": [
{
"key": "string", "refValue": "string", "stringValue": "string"
} ],
"name": "string", "pipelineId": "string", "tags": [
{
"key": "string", "value": "string"
Response Elements
} ] } ] }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
pipelineDescriptionList (p. 20)
An array of descriptions for the specified pipelines.
Type: Array of PipelineDescription (p. 77) objects
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 PipelineDeletedException
The specified pipeline has been deleted.
HTTP Status Code: 400 PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of DescribePipelines.
Sample Request
See Also
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1 X-Amz-Target: DataPipeline.DescribePipelines Content-Length: 70
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"pipelineIds":
["df-08785951KAKJEXAMPLE"]
}
Sample Response
x-amzn-RequestId: 02870eb7-0736-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 767
Date: Mon, 12 Nov 2012 17:50:53 GMT {"pipelineDescriptionList":
[
{"description": "This is my first pipeline", "fields":
[
{"key": "@pipelineState", "stringValue": "SCHEDULED"}, {"key": "description",
"stringValue": "This is my first pipeline"}, {"key": "name",
"stringValue": "myPipeline"}, {"key": "@creationTime",
"stringValue": "2012-12-13T01:24:06"}, {"key": "@id",
"stringValue": "df-0937003356ZJEXAMPLE"}, {"key": "@sphere",
"stringValue": "PIPELINE"}, {"key": "@version",
"stringValue": "1"}, {"key": "@userId",
"stringValue": "924374875933"}, {"key": "@accountId",
"stringValue": "924374875933"}, {"key": "uniqueId",
"stringValue": "1234567890"}
],
"name": "myPipeline",
"pipelineId": "df-0937003356ZJEXAMPLE"}
]}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
See Also
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
EvaluateExpression
EvaluateExpression
Task runners call EvaluateExpression to evaluate a string in the context of the specified object. For example, a task runner can evaluate SQL queries stored in Amazon S3.
Request Syntax
{ "expression": "string", "objectId": "string", "pipelineId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
expression (p. 24)
The expression to evaluate.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 20971520.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
Required: Yes objectId (p. 24)
The ID of the object.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes pipelineId (p. 24)
The ID of the pipeline.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes
Response Syntax
{
Response Elements
"evaluatedExpression": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
evaluatedExpression (p. 24) The evaluated expression.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 20971520.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 PipelineDeletedException
The specified pipeline has been deleted.
HTTP Status Code: 400 PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400 TaskNotFoundException
The specified task was not found.
HTTP Status Code: 400
Examples
Example
See Also
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1 X-Amz-Target: DataPipeline.DescribePipelines Content-Length: 164
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"pipelineId": "df-08785951KAKJEXAMPLE", "objectId": "Schedule",
"expression": "Transform started at #{startDateTime} and finished at #{endDateTime}"}
Sample Response
x-amzn-RequestId: 02870eb7-0736-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 103
Date: Mon, 12 Nov 2012 17:50:53 GMT
{"evaluatedExpression": "Transform started at 2012-12-12T00:00:00 and finished at 2012-12-21T18:00:00"}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
GetPipelineDefinition
GetPipelineDefinition
Gets the definition of the specified pipeline. You can call GetPipelineDefinition to retrieve the pipeline definition that you provided using PutPipelineDefinition (p. 38).
Request Syntax
{ "pipelineId": "string", "version": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
pipelineId (p. 27)
The ID of the pipeline.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes version (p. 27)
The version of the pipeline definition to retrieve. Set this parameter to latest (default) to use the last definition saved to the pipeline or active to use the last definition that was activated.
Type: String Required: No
Response Syntax
{ "parameterObjects": [ {
"attributes": [ {
"key": "string", "stringValue": "string"
} ],
"id": "string"
} ],
Response Elements
"stringValue": "string"
} ],
"pipelineObjects": [ {
"fields": [ {
"key": "string", "refValue": "string", "stringValue": "string"
} ],
"id": "string", "name": "string"
} ] }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
parameterObjects (p. 27)
The parameter objects used in the pipeline definition.
Type: Array of ParameterObject (p. 75) objects parameterValues (p. 27)
The parameter values used in the pipeline definition.
Type: Array of ParameterValue (p. 76) objects pipelineObjects (p. 27)
The objects defined in the pipeline.
Type: Array of PipelineObject (p. 80) objects
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 PipelineDeletedException
The specified pipeline has been deleted.
Examples
HTTP Status Code: 400 PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of GetPipelineDefinition.
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1
X-Amz-Target: DataPipeline.GetPipelineDefinition Content-Length: 40
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"pipelineId": "df-06372391ZG65EXAMPLE"}
Sample Response
x-amzn-RequestId: e28309e5-0776-11e2-8a14-21bb8a1f50ef Content-Type: application/x-amz-json-1.1
Content-Length: 890
Date: Mon, 12 Nov 2012 17:50:53 GMT {"pipelineObjects":
[ {"fields":
[
{"key": "workerGroup", "stringValue": "workerGroup"}
],
"id": "Default", "name": "Default"}, {"fields":
[
{"key": "startDateTime",
"stringValue": "2012-09-25T17:00:00"}, {"key": "type",
"stringValue": "Schedule"}, {"key": "period",
"stringValue": "1 hour"},
See Also
"id": "Schedule", "name": "Schedule"}, {"fields":
[
{"key": "schedule", "refValue": "Schedule"}, {"key": "command",
"stringValue": "echo hello"}, {"key": "parent",
"refValue": "Default"}, {"key": "type",
"stringValue": "ShellCommandActivity"}
],
"id": "SayHello", "name": "SayHello"}
] }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
ListPipelines
ListPipelines
Lists the pipeline identifiers for all active pipelines that you have permission to access.
Request Syntax
{ "marker": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
marker (p. 31)
The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call ListPipelines with the marker value from the previous call to retrieve the next set of results.
Type: String Required: No
Response Syntax
{ "hasMoreResults": boolean, "marker": "string", "pipelineIdList": [ {
"id": "string", "name": "string"
} ] }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
hasMoreResults (p. 31)
Indicates whether there are more results that can be obtained by a subsequent call.
Type: Boolean marker (p. 31)
Errors
Type: String pipelineIdList (p. 31)
The pipeline identifiers. If you require additional information about the pipelines, you can use these identifiers to call DescribePipelines (p. 20) and GetPipelineDefinition (p. 27).
Type: Array of PipelineIdName (p. 79) objects
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of ListPipelines.
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1 X-Amz-Target: DataPipeline.ListPipelines Content-Length: 14
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{}
Sample Response
Status:
x-amzn-RequestId: b3104dc5-0734-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 39
Date: Mon, 12 Nov 2012 17:50:53 GMT {"PipelineIdList":
See Also
[
{"id": "df-08785951KAKJEXAMPLE", "name": "MyPipeline"},
{"id": "df-08662578ISYEXAMPLE", "name": "MySecondPipeline"}
] }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
PollForTask
PollForTask
Task runners call PollForTask to receive a task to perform from AWS Data Pipeline. The task runner specifies which tasks it can perform by setting a value for the workerGroup parameter. The task returned can come from any of the pipelines that match the workerGroup value passed in by the task runner and that was launched using the IAM user credentials specified by the task runner.
If tasks are ready in the work queue, PollForTask returns a response immediately. If no tasks are available in the queue, PollForTask uses long-polling and holds on to a poll connection for up to a 90 seconds, during which time the first newly scheduled task is handed to the task runner. To accomodate this, set the socket timeout in your task runner to 90 seconds. The task runner should not call PollForTask again on the same workerGroup until it receives a response, and this can take up to 90 seconds.
Request Syntax
{ "hostname": "string", "instanceIdentity": { "document": "string", "signature": "string"
},
"workerGroup": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
hostname (p. 34)
The public DNS name of the calling task runner.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: No instanceIdentity (p. 34)
Identity information for the EC2 instance that is hosting the task runner. You can get this value from the instance using http://169.254.169.254/latest/meta-data/instance-id. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves that your task runner is running on an EC2 instance, and ensures the proper AWS Data Pipeline service charges are applied to your pipeline.
Type: InstanceIdentity (p. 71) object Required: No
Response Syntax
workerGroup (p. 34)
The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. You can only specify a single value for workerGroup in the call to PollForTask. There are no wildcard values permitted in workerGroup; the string must be an exact, case-sensitive, match.
Type: String Required: Yes
Response Syntax
{
"taskObject": {
"attemptId": "string", "objects": {
"string" : { "fields": [ {
"key": "string", "refValue": "string", "stringValue": "string"
} ],
"id": "string", "name": "string"
} },
"pipelineId": "string", "taskId": "string"
} }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
taskObject (p. 35)
The information needed to complete the task that is being assigned to the task runner. One of the fields returned in this object is taskId, which contains an identifier for the task being assigned.
The calling task runner uses taskId in subsequent calls to ReportTaskProgress (p. 50) and SetTaskStatus (p. 59).
Type: TaskObject (p. 84) object
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
Examples
InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 TaskNotFoundException
The specified task was not found.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of PollForTask.
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1 X-Amz-Target: DataPipeline.PollForTask Content-Length: 59
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"workerGroup": "MyworkerGroup", "hostname": "example.com"}
Sample Response
x-amzn-RequestId: 41c713d2-0775-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 39
Date: Mon, 12 Nov 2012 17:50:53 GMT {"taskObject":
{"attemptId": "@SayHello_2012-12-12T00:00:00_Attempt=1", "objects":
{"@SayHello_2012-12-12T00:00:00_Attempt=1":
{"fields":
[
{"key": "@componentParent", "refValue": "SayHello"}, {"key": "@scheduledStartTime",
"stringValue": "2012-12-12T00:00:00"}, {"key": "parent",
"refValue": "SayHello"}, {"key": "@sphere",
"stringValue": "ATTEMPT"},
See Also
{"key": "workerGroup",
"stringValue": "workerGroup"}, {"key": "@instanceParent",
"refValue": "@SayHello_2012-12-12T00:00:00"}, {"key": "type",
"stringValue": "ShellCommandActivity"}, {"key": "@status",
"stringValue": "WAITING_FOR_RUNNER"}, {"key": "@version",
"stringValue": "1"}, {"key": "schedule", "refValue": "Schedule"}, {"key": "@actualStartTime",
"stringValue": "2012-12-13T01:40:50"}, {"key": "command",
"stringValue": "echo hello"}, {"key": "@scheduledEndTime",
"stringValue": "2012-12-12T01:00:00"}, {"key": "@activeInstances",
"refValue": "@SayHello_2012-12-12T00:00:00"}, {"key": "@pipelineId",
"stringValue": "df-0937003356ZJEXAMPLE"}
],
"id": "@SayHello_2012-12-12T00:00:00_Attempt=1", "name": "@SayHello_2012-12-12T00:00:00_Attempt=1"}
},
"pipelineId": "df-0937003356ZJEXAMPLE",
"taskId": "2xaM4wRs5zOsIH+g9U3oVHfAgAlbSqU6XduncB0HhZ3xMnmvfePZPn4dIbYXHyWyRK +cU15MqDHwdrvftx/4wv+sNS4w34vJfv7QA9aOoOazW28l1GYSb2ZRR0N0paiQp
+d1MhSKo10hOTWOsVK5S5Lnx9Qm6omFgXHyIvZRIvTlrQMpr1xuUrflyGOfbFOGpOLpvPE172MYdqpZKnbSS4TcuqgQKSWV2833fEubI57DPOP7ghWa2TcYeSIv4pdLYG53fTuwfbnbdc98g2LNUQzSVhSnt7BoqyNwht2aQ6b/
UHg9A80+KVpuXuqmz3m1MXwHFgxjdmuesXNOrrlGpeLCcRWD
+aGo0RN1NqhQRzNAig8V4GlaPTQzMsRCljKqvrIyAoP3Tt2XEGsHkkQo12rEX8Z90957XX2qKRwhruwYzqGkSLWjINoLdAxUJdpRXRc5DJTrBd3D5mdzn7kY1l7NEh4kFHJDt3Cx4Z3Mk8MYCACyCk/
CEyy9DwuPi66cLz0NBcgbCM5LKjTBOwo1m+am
+pvM1kSposE9FPP1+RFGb8k6jQBTJx3TRz1yKilnGXQTZ5xvdOFpJrklIT0OXP1MG3+auM9FlJA
+1dX90QoNJE5z7axmK//MOGXUdkqFe2kiDkorqjxwDvc0Js9pVKfKvAmW8YqUbmI9l0ERpWCXXnLVHNmPWz3jaPY +OBAmuJWDmxB/Z8p94aEDg4BVXQ7LvsKQ3DLYhaB7yJ390CJT+i0mm+EBqY60V6YikPSWDFrYQ/
NPi2b1DgE19mX8zHqw8qprIl4yh1Ckx2Iige4En/N5ktOoIxnASxAw/TzcE2skxdw5KlHDF+UTj71m16CR/
dIaKlXijlfNlNzUBo/bNSadCQn3G5NoO501wPKI:XO50TgDNyo8EXAMPLE/g==:1"}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
PutPipelineDefinition
PutPipelineDefinition
Adds tasks, schedules, and preconditions to the specified pipeline. You can use PutPipelineDefinition to populate a new pipeline.
PutPipelineDefinition also validates the configuration as it adds it to the pipeline. Changes to the pipeline are saved unless one of the following validation errors exist in the pipeline.
1. An object is missing a name or identifier field.
2. A string or reference field is empty.
3. The number of objects in the pipeline exceeds the allowed maximum number of objects.
4. The pipeline is in a FINISHED state.
Pipeline object definitions are passed to the PutPipelineDefinition action and returned by the GetPipelineDefinition (p. 27) action.
Request Syntax
{ "parameterObjects": [ {
"attributes": [ {
"key": "string",
"stringValue": "string"
} ],
"id": "string"
} ],
"parameterValues": [ {
"id": "string",
"stringValue": "string"
} ],
"pipelineId": "string", "pipelineObjects": [ {
"fields": [ {
"key": "string", "refValue": "string", "stringValue": "string"
} ],
"id": "string", "name": "string"
} ] }
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
Response Syntax
parameterObjects (p. 38)
The parameter objects used with the pipeline.
Type: Array of ParameterObject (p. 75) objects Required: No
parameterValues (p. 38)
The parameter values used with the pipeline.
Type: Array of ParameterValue (p. 76) objects Required: No
pipelineId (p. 38)
The ID of the pipeline.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes pipelineObjects (p. 38)
The objects that define the pipeline. These objects overwrite the existing pipeline definition.
Type: Array of PipelineObject (p. 80) objects Required: Yes
Response Syntax
{
"errored": boolean, "validationErrors": [ {
"errors": [ "string" ], "id": "string"
} ],
"validationWarnings": [ {
"id": "string",
"warnings": [ "string" ] }
] }
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Errors
errored (p. 39)
Indicates whether there were validation errors, and the pipeline definition is stored but cannot be activated until you correct the pipeline and call PutPipelineDefinition to commit the corrected pipeline.
Type: Boolean validationErrors (p. 39)
The validation errors that are associated with the objects defined in pipelineObjects.
Type: Array of ValidationError (p. 86) objects validationWarnings (p. 39)
The validation warnings that are associated with the objects defined in pipelineObjects.
Type: Array of ValidationWarning (p. 87) objects
Errors
For information about the errors that are common to all actions, see Common Errors (p. 90).
InternalServiceError
An internal service error occurred.
HTTP Status Code: 500 InvalidRequestException
The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.
HTTP Status Code: 400 PipelineDeletedException
The specified pipeline has been deleted.
HTTP Status Code: 400 PipelineNotFoundException
The specified pipeline was not found. Verify that you used the correct user and account identifiers.
HTTP Status Code: 400
Examples
Example 1
This example sets a valid pipeline configuration and returns success.
Sample Request
Examples
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1
X-Amz-Target: DataPipeline.PutPipelineDefinition Content-Length: 914
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"pipelineId": "df-0937003356ZJEXAMPLE", "pipelineObjects":
[
{"id": "Default", "name": "Default", "fields":
[
{"key": "workerGroup", "stringValue": "workerGroup"}
] },
{"id": "Schedule", "name": "Schedule", "fields":
[
{"key": "startDateTime",
"stringValue": "2012-12-12T00:00:00"}, {"key": "type",
"stringValue": "Schedule"}, {"key": "period",
"stringValue": "1 hour"}, {"key": "endDateTime",
"stringValue": "2012-12-21T18:00:00"}
] },
{"id": "SayHello", "name": "SayHello", "fields":
[
{"key": "type",
"stringValue": "ShellCommandActivity"}, {"key": "command",
"stringValue": "echo hello"}, {"key": "parent",
"refValue": "Default"}, {"key": "schedule", "refValue": "Schedule"}
] } ]}
Sample Response
HTTP/1.1 200
x-amzn-RequestId: f74afc14-0754-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 18
Date: Mon, 12 Nov 2012 17:50:53 GMT
Examples
Example 2
This example sets an invalid pipeline configuration (the value for workerGroup is an empty string) and returns an error message.
Sample Request
POST / HTTP/1.1
Content-Type: application/x-amz-json-1.1
X-Amz-Target: DataPipeline.PutPipelineDefinition Content-Length: 903
Host: datapipeline.us-east-1.amazonaws.com X-Amz-Date: Mon, 12 Nov 2012 17:49:52 GMT Authorization: AuthParams
{"pipelineId": "df-06372391ZG65EXAMPLE", "pipelineObjects":
[
{"id": "Default", "name": "Default", "fields":
[
{"key": "workerGroup", "stringValue": ""}
] },
{"id": "Schedule", "name": "Schedule", "fields":
[
{"key": "startDateTime",
"stringValue": "2012-09-25T17:00:00"}, {"key": "type",
"stringValue": "Schedule"}, {"key": "period",
"stringValue": "1 hour"}, {"key": "endDateTime",
"stringValue": "2012-09-25T18:00:00"}
] },
{"id": "SayHello", "name": "SayHello", "fields":
[
{"key": "type",
"stringValue": "ShellCommandActivity"}, {"key": "command",
"stringValue": "echo hello"}, {"key": "parent",
"refValue": "Default"}, {"key": "schedule", "refValue": "Schedule"}
] } ]
}
See Also
Sample Response
HTTP/1.1 200
x-amzn-RequestId: f74afc14-0754-11e2-af6f-6bc7a6be60d9 Content-Type: application/x-amz-json-1.1
Content-Length: 18
Date: Mon, 12 Nov 2012 17:50:53 GMT
{"__type": "com.amazon.setl.webservice#InvalidRequestException",
"message": "Pipeline definition has errors: Could not save the pipeline definition due to FATAL errors: [com.amazon.setl.webservice.ValidationError@108d7ea9] Please call Validate to validate your pipeline"}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS Command Line Interface
• AWS SDK for .NET
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for JavaScript
• AWS SDK for PHP V3
• AWS SDK for Python
• AWS SDK for Ruby V3
QueryObjects
QueryObjects
Queries the specified pipeline for the names of objects that match the specified set of conditions.
Request Syntax
{ "limit": number, "marker": "string", "pipelineId": "string", "query": {
"selectors": [ {
"fieldName": "string", "operator": {
"type": "string", "values": [ "string" ] }
} ] },
"sphere": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters (p. 88).
The request accepts the following data in JSON format.
limit (p. 44)
The maximum number of object names that QueryObjects will return in a single call. The default value is 100.
Type: Integer Required: No marker (p. 44)
The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call QueryObjects with the marker value from the previous call to retrieve the next set of results.
Type: String Required: No pipelineId (p. 44)
The ID of the pipeline.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
Required: Yes
Response Syntax
query (p. 44)
The query that defines the objects to be returned. The Query object can contain a maximum of ten selectors. The conditions in the query are limited to top-level String fields in the object. These filters can be applied to components, instances, and attempts.
Type: Query (p. 81) object Required: No
sphere (p. 44)
Indicates whether the query applies to components or instances. The possible values are:
COMPONENT, INSTANCE, and ATTEMPT.
Type: String Required: Yes
Response Syntax
{
"hasMoreResults": boolean, "ids": [ "string" ], "marker": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
hasMoreResults (p. 45)
Indicates whether there are more results that can be obtained by a subsequent call.
Type: Boolean ids (p. 45)
The identifiers that match the query selectors.
Type: Array of strings
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\n\t]*
marker (p. 45)
The starting point for the next page of results. To view the next page of results, call QueryObjects again with this marker value. If the value is null, there are no more results.
Type: String