CreateDataProduct
Creates a data product.
A data product is a comprehensive package that combines data assets with their associated metadata, documentation, and access controls. It's designed to serve specific business needs or use cases, making it easier for users to find and consume data appropriately. Data products include important information about data quality, freshness, and usage guidelines, effectively bridging the gap between data producers and consumers while ensuring proper governance.
Prerequisites:
-
The domain must exist and be accessible.
-
The owning project must be valid and active.
-
The name must be unique within the domain (no existing data product with the same name).
-
User must have create permissions for data products in the project.
-
The domain must have Amazon DataZone publishing enabled.
Request Syntax
POST /v2/domains/domainIdentifier
/data-products HTTP/1.1
Content-type: application/json
{
"clientToken": "string
",
"description": "string
",
"formsInput": [
{
"content": "string
",
"formName": "string
",
"typeIdentifier": "string
",
"typeRevision": "string
"
}
],
"glossaryTerms": [ "string
" ],
"items": [
{
"glossaryTerms": [ "string
" ],
"identifier": "string
",
"itemType": "string
",
"revision": "string
"
}
],
"name": "string
",
"owningProjectIdentifier": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- domainIdentifier
-
The ID of the domain where the data product is created.
Pattern:
dzd[-_][a-zA-Z0-9_-]{1,36}
Required: Yes
Request Body
The request accepts the following data in JSON format.
- clientToken
-
A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[\x21-\x7E]+
Required: No
- description
-
The description of the data product.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 4096.
Required: No
- formsInput
-
The metadata forms of the data product.
Type: Array of FormInput objects
Array Members: Minimum number of 0 items. Maximum number of 10 items.
Required: No
- glossaryTerms
-
The glossary terms of the data product.
Type: Array of strings
Array Members: Minimum number of 1 item. Maximum number of 20 items.
Pattern:
[a-zA-Z0-9_-]{1,36}
Required: No
- items
-
The data assets of the data product.
Type: Array of DataProductItem objects
Array Members: Minimum number of 1 item.
Required: No
- name
-
The name of the data product.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Required: Yes
- owningProjectIdentifier
-
The ID of the owning project of the data product.
Type: String
Pattern:
[a-zA-Z0-9_-]{1,36}
Required: Yes
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"createdAt": number,
"createdBy": "string",
"description": "string",
"domainId": "string",
"firstRevisionCreatedAt": number,
"firstRevisionCreatedBy": "string",
"formsOutput": [
{
"content": "string",
"formName": "string",
"typeName": "string",
"typeRevision": "string"
}
],
"glossaryTerms": [ "string" ],
"id": "string",
"items": [
{
"glossaryTerms": [ "string" ],
"identifier": "string",
"itemType": "string",
"revision": "string"
}
],
"name": "string",
"owningProjectId": "string",
"revision": "string",
"status": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in JSON format by the service.
- createdAt
-
The timestamp at which the data product was created.
Type: Timestamp
- createdBy
-
The user who created the data product.
Type: String
- description
-
The description of the data product.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 4096.
- domainId
-
The ID of the domain where the data product lives.
Type: String
Pattern:
dzd[-_][a-zA-Z0-9_-]{1,36}
- firstRevisionCreatedAt
-
The timestamp at which the first revision of the data product was created.
Type: Timestamp
- firstRevisionCreatedBy
-
The user who created the first revision of the data product.
Type: String
- formsOutput
-
The metadata forms of the data product.
Type: Array of FormOutput objects
Array Members: Minimum number of 0 items. Maximum number of 10 items.
- glossaryTerms
-
The glossary terms of the data product.
Type: Array of strings
Array Members: Minimum number of 1 item. Maximum number of 20 items.
Pattern:
[a-zA-Z0-9_-]{1,36}
- id
-
The ID of the data product.
Type: String
Pattern:
[a-zA-Z0-9_-]{1,36}
- items
-
The data assets of the data product.
Type: Array of DataProductItem objects
Array Members: Minimum number of 1 item.
- name
-
The name of the data product.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
- owningProjectId
-
The ID of the owning project of the data product.
Type: String
Pattern:
[a-zA-Z0-9_-]{1,36}
- revision
-
The revision of the data product.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
- status
-
The status of the data product.
Type: String
Valid Values:
CREATED | CREATING | CREATE_FAILED
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- ConflictException
-
There is a conflict while performing this action.
HTTP Status Code: 409
- InternalServerException
-
The request has failed because of an unknown error, exception or failure.
HTTP Status Code: 500
- ResourceNotFoundException
-
The specified resource cannot be found.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
The request has exceeded the specified service quota.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied due to request throttling.
HTTP Status Code: 429
- UnauthorizedException
-
You do not have permission to perform this action.
HTTP Status Code: 401
- ValidationException
-
The input fails to satisfy the constraints specified by the AWS service.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of CreateDataProduct.
Sample Request
aws datazone create-data-product \
--domain-identifier "dzd_53ielnpxktdilj" \
--name "CustomerInsightsDataProduct" \
--owning-project-identifier "prj7nx82mkl"
Sample Response
{
"createdAt": 1752602810.307,
"createdBy": "usr7nx82mkl",
"domainId": "dzd_53ielnpxktdilj",
"firstRevisionCreatedAt": 1752602810.307,
"firstRevisionCreatedBy": "usr7nx82mkl",
"formsOutput": [],
"id": "dpd9m3nqx2wkfp",
"name": "CustomerInsightsDataProduct",
"owningProjectId": "prj7nx82mkl",
"revision": "1",
"status": "CREATED"
}
Example
Failure case - missing parameter:
Sample Request
aws datazone create-data-product \
--domain-identifier "dzd_53ielnpxktdilj" \
--name "CustomerInsightsDataProduct"
Sample Response
aws: error: the following arguments are required: —owning-project-identifier
Example
Failure case - duplicate term:
Sample Request
aws datazone create-data-product \
--domain-identifier "dzd_53ielnpxktdilj" \
--name "CustomerInsightsDataProduct" \
--owning-project-identifier "prj7nx82mkl"
Sample Response
An error occurred (ConflictException) when calling the CreateDataProduct operation: Conflict with dataProduct c5rerxaqjys59j
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: