StartReplicationTaskAssessmentRun
Starts a new premigration assessment run for one or more individual assessments of a migration task.
The assessments that you can specify depend on the source and target database engine and the migration type defined for the given task. To run this operation, your migration task must already be created. After you run this operation, you can review the status of each individual assessment. You can also run the migration task manually after the assessment run and its individual assessments complete.
Request Syntax
{
"AssessmentRunName": "string
",
"Exclude": [ "string
" ],
"IncludeOnly": [ "string
" ],
"ReplicationTaskArn": "string
",
"ResultEncryptionMode": "string
",
"ResultKmsKeyArn": "string
",
"ResultLocationBucket": "string
",
"ResultLocationFolder": "string
",
"ServiceAccessRoleArn": "string
",
"Tags": [
{
"Key": "string
",
"ResourceArn": "string
",
"Value": "string
"
}
]
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- AssessmentRunName
-
Unique name to identify the assessment run.
Type: String
Required: Yes
- Exclude
-
Space-separated list of names for specific individual assessments that you want to exclude. These names come from the default list of individual assessments that AWS DMS supports for the associated migration task. This task is specified by
ReplicationTaskArn
.Note
You can't set a value for
Exclude
if you also set a value forIncludeOnly
in the API operation.To identify the names of the default individual assessments that AWS DMS supports for the associated migration task, run the
DescribeApplicableIndividualAssessments
operation using its ownReplicationTaskArn
request parameter.Type: Array of strings
Required: No
- IncludeOnly
-
Space-separated list of names for specific individual assessments that you want to include. These names come from the default list of individual assessments that AWS DMS supports for the associated migration task. This task is specified by
ReplicationTaskArn
.Note
You can't set a value for
IncludeOnly
if you also set a value forExclude
in the API operation.To identify the names of the default individual assessments that AWS DMS supports for the associated migration task, run the
DescribeApplicableIndividualAssessments
operation using its ownReplicationTaskArn
request parameter.Type: Array of strings
Required: No
- ReplicationTaskArn
-
Amazon Resource Name (ARN) of the migration task associated with the premigration assessment run that you want to start.
Type: String
Required: Yes
- ResultEncryptionMode
-
Encryption mode that you can specify to encrypt the results of this assessment run. If you don't specify this request parameter, AWS DMS stores the assessment run results without encryption. You can specify one of the options following:
-
"SSE_S3"
– The server-side encryption provided as a default by Amazon S3. -
"SSE_KMS"
– AWS Key Management Service (AWS KMS) encryption. This encryption can use either a custom KMS encryption key that you specify or the default KMS encryption key that DMS provides.
Type: String
Required: No
-
- ResultKmsKeyArn
-
ARN of a custom KMS encryption key that you specify when you set
ResultEncryptionMode
to"SSE_KMS
".Type: String
Required: No
- ResultLocationBucket
-
Amazon S3 bucket where you want AWS DMS to store the results of this assessment run.
Type: String
Required: Yes
- ResultLocationFolder
-
Folder within an Amazon S3 bucket where you want AWS DMS to store the results of this assessment run.
Type: String
Required: No
- ServiceAccessRoleArn
-
ARN of the service role needed to start the assessment run. The role must allow the
iam:PassRole
action.Type: String
Required: Yes
- Tags
-
One or more tags to be assigned to the premigration assessment run that you want to start.
Type: Array of Tag objects
Required: No
Response Syntax
{
"ReplicationTaskAssessmentRun": {
"AssessmentProgress": {
"IndividualAssessmentCompletedCount": number,
"IndividualAssessmentCount": number
},
"AssessmentRunName": "string",
"IsLatestTaskAssessmentRun": boolean,
"LastFailureMessage": "string",
"ReplicationTaskArn": "string",
"ReplicationTaskAssessmentRunArn": "string",
"ReplicationTaskAssessmentRunCreationDate": number,
"ResultEncryptionMode": "string",
"ResultKmsKeyArn": "string",
"ResultLocationBucket": "string",
"ResultLocationFolder": "string",
"ResultStatistic": {
"Cancelled": number,
"Error": number,
"Failed": number,
"Passed": number,
"Warning": number
},
"ServiceAccessRoleArn": "string",
"Status": "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.
- ReplicationTaskAssessmentRun
-
The premigration assessment run that was started.
Type: ReplicationTaskAssessmentRun object
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedFault
-
AWS DMS was denied access to the endpoint. Check that the role is correctly configured.
HTTP Status Code: 400
- InvalidResourceStateFault
-
The resource is in a state that prevents it from being used for database migration.
HTTP Status Code: 400
- KMSAccessDeniedFault
-
The ciphertext references a key that doesn't exist or that the DMS account doesn't have access to.
HTTP Status Code: 400
- KMSDisabledFault
-
The specified KMS key isn't enabled.
HTTP Status Code: 400
- KMSFault
-
An AWS Key Management Service (AWS KMS) error is preventing access to AWS KMS.
HTTP Status Code: 400
- KMSInvalidStateFault
-
The state of the specified AWS KMS resource isn't valid for this request.
HTTP Status Code: 400
- KMSKeyNotAccessibleFault
-
AWS DMS cannot access the KMS key.
HTTP Status Code: 400
- KMSNotFoundFault
-
The specified AWS KMS entity or resource can't be found.
HTTP Status Code: 400
- ResourceAlreadyExistsFault
-
The resource you are attempting to create already exists.
HTTP Status Code: 400
- ResourceNotFoundFault
-
The resource could not be found.
HTTP Status Code: 400
- S3AccessDeniedFault
-
Insufficient privileges are preventing access to an Amazon S3 object.
HTTP Status Code: 400
- S3ResourceNotFoundFault
-
A specified Amazon S3 bucket, bucket folder, or other object can't be found.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of StartReplicationTaskAssessmentRun.
Sample Request
POST / HTTP/1.1
Host: dms.<region>.<domain>
x-amz-Date: <Date>
Authorization: AWS4-HMAC-SHA256
Credential=<Credential>,
SignedHeaders=contenttype;date;host;user-
agent;x-amz-date;x-amz-target;x-amzn-
requestid,Signature=<Signature>
User-Agent: <UserAgentString>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Connection: Keep-Alive
X-Amz-Target: AmazonDMSv20160101.StartReplicationTaskAssessmentRun
{
"ReplicationTaskArn": "arn:aws:dms:us-west-2:123456789012:task:L6XROPGLRF25LCREVEDPT3XL5QJM5IZNUSVFV6Q",
"ServiceAccessRoleArn": "arn:aws:iam::123456789012:role/Admin",
"ResultLocationBucket": "s3-endpoint-bucket",
"ResultLocationFolder": "",
"AssessmentRunName": "Assessment-run-2020-07-10-18-02-12",
"IncludeOnly": [
"full-lob-not-nullable-at-target",
"table-with-lob-but-without-primary-key-or-unique-constraint",
"unsupported-data-types-in-source"
]
}
Sample Response
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
"ReplicationTaskAssessmentRun": {
"AssessmentProgress": {
"IndividualAssessmentCompletedCount": 0,
"IndividualAssessmentCount": 3
},
"AssessmentRunName": "Assessment-run-2020-07-10-18-02-12",
"ReplicationTaskArn": "arn:aws:dms:us-west-2:123456789012:task:L6XROPGLRF25LCREVEDPT3XL5QJM5IZNUSVFV6Q",
"ReplicationTaskAssessmentRunArn": "arn:aws:dms:us-west-2:123456789012:assessment-run:W22Q73FR2FBBHSBENXMNMYEWFHX6YTIQUN4OTLA",
"ReplicationTaskAssessmentRunCreationDate": 1594429350.259,
"ResultEncryptionMode": "NONE",
"ResultLocationBucket": "s3-endpoint-bucket",
"ResultLocationFolder": "",
"ServiceAccessRoleArn": "arn:aws:iam::123456789012:role/Admin",
"Status": "starting"
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: