CreateDataProduct - Amazon DataZone

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: