2025/11/19 - Amazon DataZone - 3 new 4 updated api methods
Changes Amazon DataZone now supports business metadata (readme and metadata forms) at the individual attribute (column) level, a new rule type for glossary terms, and the ability to update the owner of the root domain unit.
Writes the attribute metadata.
See also: AWS API Documentation
Request Syntax
client.batch_put_attributes_metadata(
attributes=[
{
'attributeIdentifier': 'string',
'forms': [
{
'content': 'string',
'formName': 'string',
'typeIdentifier': 'string',
'typeRevision': 'string'
},
]
},
],
clientToken='string',
domainIdentifier='string',
entityIdentifier='string',
entityType='ASSET'|'LISTING'
)
list
[REQUIRED]
The attributes of the metadata.
(dict) --
The attribute input.
attributeIdentifier (string) -- [REQUIRED]
The ID of the attribute.
forms (list) -- [REQUIRED]
The metadata forms as part of the attribute input.
(dict) --
The details of a metadata form.
content (string) --
The content of the metadata form.
formName (string) -- [REQUIRED]
The name of the metadata form.
typeIdentifier (string) --
The ID of the metadata form type.
typeRevision (string) --
The revision of the metadata form type.
string
A unique, case-sensitive identifier to ensure idempotency of the request. This field is automatically populated if not provided.
This field is autopopulated if not provided.
string
[REQUIRED]
The domain ID where you want to write the attribute metadata.
string
[REQUIRED]
The entity ID for which you want to write the attribute metadata.
string
[REQUIRED]
The entity type for which you want to write the attribute metadata.
dict
Response Syntax
{
'attributes': [
{
'attributeIdentifier': 'string'
},
],
'errors': [
{
'attributeIdentifier': 'string',
'code': 'string',
'message': 'string'
},
]
}
Response Structure
(dict) --
attributes (list) --
The results of the BatchPutAttributeMetadata action.
(dict) --
The results of the BatchPutAttribute action.
attributeIdentifier (string) --
The attribute ID.
errors (list) --
The errors generated when the BatchPutAttributeMetadata action is invoked.
(dict) --
The attribute error.
attributeIdentifier (string) --
The attribute ID as part of the attribute error.
code (string) --
The code generated as part of the attribute error.
message (string) --
The message generated as part of the attribute error.
Updates the owner of the root domain unit.
See also: AWS API Documentation
Request Syntax
client.update_root_domain_unit_owner(
clientToken='string',
currentOwner='string',
domainIdentifier='string',
newOwner='string'
)
string
A unique, case-sensitive identifier to ensure idempotency of the request. This field is automatically populated if not provided.
This field is autopopulated if not provided.
string
[REQUIRED]
The current owner of the root domain unit.
string
[REQUIRED]
The ID of the domain where the root domain unit owner is to be updated.
string
[REQUIRED]
The new owner of the root domain unit.
dict
Response Syntax
{}
Response Structure
(dict) --
Gets the attribute metadata.
See also: AWS API Documentation
Request Syntax
client.batch_get_attributes_metadata(
attributeIdentifiers=[
'string',
],
domainIdentifier='string',
entityIdentifier='string',
entityRevision='string',
entityType='ASSET'|'LISTING'
)
list
[REQUIRED]
The attribute identifier.
(string) --
string
[REQUIRED]
The domain ID where you want to get the attribute metadata.
string
[REQUIRED]
The entity ID for which you want to get attribute metadata.
string
The entity revision for which you want to get attribute metadata.
string
[REQUIRED]
The entity type for which you want to get attribute metadata.
dict
Response Syntax
{
'attributes': [
{
'attributeIdentifier': 'string',
'forms': [
{
'content': 'string',
'formName': 'string',
'typeName': 'string',
'typeRevision': 'string'
},
]
},
],
'errors': [
{
'attributeIdentifier': 'string',
'code': 'string',
'message': 'string'
},
]
}
Response Structure
(dict) --
attributes (list) --
The results of the BatchGetAttributesMetadata action.
(dict) --
The results of the BatchGetAttribute action.
attributeIdentifier (string) --
The attribute ID.
forms (list) --
The metadata forms that are part of the results of the BatchGetAttribute action.
(dict) --
The details of a metadata form.
content (string) --
The content of the metadata form.
formName (string) --
The name of the metadata form.
typeName (string) --
The name of the metadata form type.
typeRevision (string) --
The revision of the metadata form type.
errors (list) --
The errors generated when the BatchGetAttributesMetadata action is invoked.
(dict) --
The attribute error.
attributeIdentifier (string) --
The attribute ID as part of the attribute error.
code (string) --
The code generated as part of the attribute error.
message (string) --
The message generated as part of the attribute error.
{'detail': {'glossaryTermEnforcementDetail': {'requiredGlossaryTermIds': ['string']}}}
Response {'detail': {'glossaryTermEnforcementDetail': {'requiredGlossaryTermIds': ['string']}},
'ruleType': {'GLOSSARY_TERM_ENFORCEMENT'}}
Creates a rule in Amazon DataZone. A rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
See also: AWS API Documentation
Request Syntax
client.create_rule(
action='CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST',
clientToken='string',
description='string',
detail={
'glossaryTermEnforcementDetail': {
'requiredGlossaryTermIds': [
'string',
]
},
'metadataFormEnforcementDetail': {
'requiredMetadataForms': [
{
'typeIdentifier': 'string',
'typeRevision': 'string'
},
]
}
},
domainIdentifier='string',
name='string',
scope={
'assetType': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificAssetTypes': [
'string',
]
},
'dataProduct': True|False,
'project': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificProjects': [
'string',
]
}
},
target={
'domainUnitTarget': {
'domainUnitId': 'string',
'includeChildDomainUnits': True|False
}
}
)
string
[REQUIRED]
The action of the rule.
string
A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.
This field is autopopulated if not provided.
string
The description of the rule.
dict
[REQUIRED]
The detail of the rule.
glossaryTermEnforcementDetail (dict) --
The enforcement details of a glossary term that's part of the metadata rule.
requiredGlossaryTermIds (list) --
The ID of the required glossary term.
(string) --
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) -- [REQUIRED]
The type ID of the metadata form reference.
typeRevision (string) -- [REQUIRED]
The type revision of the metadata form reference.
string
[REQUIRED]
The ID of the domain where the rule is created.
string
[REQUIRED]
The name of the rule.
dict
[REQUIRED]
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) -- [REQUIRED]
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) -- [REQUIRED]
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
dict
[REQUIRED]
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) -- [REQUIRED]
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
dict
Response Syntax
{
'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST',
'createdAt': datetime(2015, 1, 1),
'createdBy': 'string',
'description': 'string',
'detail': {
'glossaryTermEnforcementDetail': {
'requiredGlossaryTermIds': [
'string',
]
},
'metadataFormEnforcementDetail': {
'requiredMetadataForms': [
{
'typeIdentifier': 'string',
'typeRevision': 'string'
},
]
}
},
'identifier': 'string',
'name': 'string',
'ruleType': 'METADATA_FORM_ENFORCEMENT'|'GLOSSARY_TERM_ENFORCEMENT',
'scope': {
'assetType': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificAssetTypes': [
'string',
]
},
'dataProduct': True|False,
'project': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificProjects': [
'string',
]
}
},
'target': {
'domainUnitTarget': {
'domainUnitId': 'string',
'includeChildDomainUnits': True|False
}
},
'targetType': 'DOMAIN_UNIT'
}
Response Structure
(dict) --
action (string) --
The action of the rule.
createdAt (datetime) --
The timestamp at which the rule is created.
createdBy (string) --
The user who creates the rule.
description (string) --
The description of the rule.
detail (dict) --
The detail of the rule.
glossaryTermEnforcementDetail (dict) --
The enforcement details of a glossary term that's part of the metadata rule.
requiredGlossaryTermIds (list) --
The ID of the required glossary term.
(string) --
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) --
The type ID of the metadata form reference.
typeRevision (string) --
The type revision of the metadata form reference.
identifier (string) --
The ID of the rule.
name (string) --
The name of the rule.
ruleType (string) --
The type of the rule.
scope (dict) --
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) --
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) --
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
target (dict) --
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) --
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
targetType (string) --
The target type of the rule.
{'detail': {'glossaryTermEnforcementDetail': {'requiredGlossaryTermIds': ['string']}},
'ruleType': {'GLOSSARY_TERM_ENFORCEMENT'}}
Gets the details of a rule in Amazon DataZone. A rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
See also: AWS API Documentation
Request Syntax
client.get_rule(
domainIdentifier='string',
identifier='string',
revision='string'
)
string
[REQUIRED]
The ID of the domain where the GetRule action is to be invoked.
string
[REQUIRED]
The ID of the rule.
string
The revision of the rule.
dict
Response Syntax
{
'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST',
'createdAt': datetime(2015, 1, 1),
'createdBy': 'string',
'description': 'string',
'detail': {
'glossaryTermEnforcementDetail': {
'requiredGlossaryTermIds': [
'string',
]
},
'metadataFormEnforcementDetail': {
'requiredMetadataForms': [
{
'typeIdentifier': 'string',
'typeRevision': 'string'
},
]
}
},
'identifier': 'string',
'lastUpdatedBy': 'string',
'name': 'string',
'revision': 'string',
'ruleType': 'METADATA_FORM_ENFORCEMENT'|'GLOSSARY_TERM_ENFORCEMENT',
'scope': {
'assetType': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificAssetTypes': [
'string',
]
},
'dataProduct': True|False,
'project': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificProjects': [
'string',
]
}
},
'target': {
'domainUnitTarget': {
'domainUnitId': 'string',
'includeChildDomainUnits': True|False
}
},
'targetType': 'DOMAIN_UNIT',
'updatedAt': datetime(2015, 1, 1)
}
Response Structure
(dict) --
action (string) --
The action of the rule.
createdAt (datetime) --
The timestamp at which the rule was created.
createdBy (string) --
The user who created the rule.
description (string) --
The description of the rule.
detail (dict) --
The detail of the rule.
glossaryTermEnforcementDetail (dict) --
The enforcement details of a glossary term that's part of the metadata rule.
requiredGlossaryTermIds (list) --
The ID of the required glossary term.
(string) --
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) --
The type ID of the metadata form reference.
typeRevision (string) --
The type revision of the metadata form reference.
identifier (string) --
The ID of the rule.
lastUpdatedBy (string) --
The timestamp at which the rule was last updated.
name (string) --
The name of the rule.
revision (string) --
The revision of the rule.
ruleType (string) --
The type of the rule.
scope (dict) --
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) --
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) --
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
target (dict) --
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) --
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
targetType (string) --
The target type of the rule.
updatedAt (datetime) --
The timestamp at which the rule was last updated.
{'ruleType': {'GLOSSARY_TERM_ENFORCEMENT'}}
Response {'items': {'ruleType': {'GLOSSARY_TERM_ENFORCEMENT'}}}
Lists existing rules. In Amazon DataZone, a rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
See also: AWS API Documentation
Request Syntax
client.list_rules(
action='CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST',
assetTypes=[
'string',
],
dataProduct=True|False,
domainIdentifier='string',
includeCascaded=True|False,
maxResults=123,
nextToken='string',
projectIds=[
'string',
],
ruleType='METADATA_FORM_ENFORCEMENT'|'GLOSSARY_TERM_ENFORCEMENT',
targetIdentifier='string',
targetType='DOMAIN_UNIT'
)
string
The action of the rule.
list
The asset types of the rule.
(string) --
boolean
The data product of the rule.
string
[REQUIRED]
The ID of the domain in which the rules are to be listed.
boolean
Specifies whether to include cascading rules in the results.
integer
The maximum number of rules to return in a single call to ListRules. When the number of rules to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListRules to list the next set of rules.
string
When the number of rules is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of rules, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListRules to list the next set of rules.
list
The IDs of projects in which rules are to be listed.
(string) --
string
The type of the rule.
string
[REQUIRED]
The target ID of the rule.
string
[REQUIRED]
The target type of the rule.
dict
Response Syntax
{
'items': [
{
'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST',
'identifier': 'string',
'lastUpdatedBy': 'string',
'name': 'string',
'revision': 'string',
'ruleType': 'METADATA_FORM_ENFORCEMENT'|'GLOSSARY_TERM_ENFORCEMENT',
'scope': {
'assetType': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificAssetTypes': [
'string',
]
},
'dataProduct': True|False,
'project': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificProjects': [
'string',
]
}
},
'target': {
'domainUnitTarget': {
'domainUnitId': 'string',
'includeChildDomainUnits': True|False
}
},
'targetType': 'DOMAIN_UNIT',
'updatedAt': datetime(2015, 1, 1)
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
items (list) --
The results of the ListRules action.
(dict) --
The summary of the rule.
action (string) --
The action of the rule.
identifier (string) --
The ID of the rule.
lastUpdatedBy (string) --
The timestamp at which the rule was last updated.
name (string) --
The name of the rule.
revision (string) --
The revision of the rule.
ruleType (string) --
The type of the rule.
scope (dict) --
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) --
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) --
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
target (dict) --
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) --
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
targetType (string) --
The target type of the rule.
updatedAt (datetime) --
The timestamp at which the rule was last updated.
nextToken (string) --
When the number of rules is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of rules, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListRules to list the next set of rules.
{'detail': {'glossaryTermEnforcementDetail': {'requiredGlossaryTermIds': ['string']}}}
Response {'detail': {'glossaryTermEnforcementDetail': {'requiredGlossaryTermIds': ['string']}},
'ruleType': {'GLOSSARY_TERM_ENFORCEMENT'}}
Updates a rule. In Amazon DataZone, a rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
See also: AWS API Documentation
Request Syntax
client.update_rule(
description='string',
detail={
'glossaryTermEnforcementDetail': {
'requiredGlossaryTermIds': [
'string',
]
},
'metadataFormEnforcementDetail': {
'requiredMetadataForms': [
{
'typeIdentifier': 'string',
'typeRevision': 'string'
},
]
}
},
domainIdentifier='string',
identifier='string',
includeChildDomainUnits=True|False,
name='string',
scope={
'assetType': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificAssetTypes': [
'string',
]
},
'dataProduct': True|False,
'project': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificProjects': [
'string',
]
}
}
)
string
The description of the rule.
dict
The detail of the rule.
glossaryTermEnforcementDetail (dict) --
The enforcement details of a glossary term that's part of the metadata rule.
requiredGlossaryTermIds (list) --
The ID of the required glossary term.
(string) --
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) -- [REQUIRED]
The type ID of the metadata form reference.
typeRevision (string) -- [REQUIRED]
The type revision of the metadata form reference.
string
[REQUIRED]
The ID of the domain in which a rule is to be updated.
string
[REQUIRED]
The ID of the rule that is to be updated
boolean
Specifies whether to update this rule in the child domain units.
string
The name of the rule.
dict
The scrope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) -- [REQUIRED]
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) -- [REQUIRED]
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
dict
Response Syntax
{
'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST',
'createdAt': datetime(2015, 1, 1),
'createdBy': 'string',
'description': 'string',
'detail': {
'glossaryTermEnforcementDetail': {
'requiredGlossaryTermIds': [
'string',
]
},
'metadataFormEnforcementDetail': {
'requiredMetadataForms': [
{
'typeIdentifier': 'string',
'typeRevision': 'string'
},
]
}
},
'identifier': 'string',
'lastUpdatedBy': 'string',
'name': 'string',
'revision': 'string',
'ruleType': 'METADATA_FORM_ENFORCEMENT'|'GLOSSARY_TERM_ENFORCEMENT',
'scope': {
'assetType': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificAssetTypes': [
'string',
]
},
'dataProduct': True|False,
'project': {
'selectionMode': 'ALL'|'SPECIFIC',
'specificProjects': [
'string',
]
}
},
'target': {
'domainUnitTarget': {
'domainUnitId': 'string',
'includeChildDomainUnits': True|False
}
},
'updatedAt': datetime(2015, 1, 1)
}
Response Structure
(dict) --
action (string) --
The action of the rule.
createdAt (datetime) --
The timestamp at which the rule was created.
createdBy (string) --
The user who created the rule.
description (string) --
The description of the rule.
detail (dict) --
The detail of the rule.
glossaryTermEnforcementDetail (dict) --
The enforcement details of a glossary term that's part of the metadata rule.
requiredGlossaryTermIds (list) --
The ID of the required glossary term.
(string) --
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) --
The type ID of the metadata form reference.
typeRevision (string) --
The type revision of the metadata form reference.
identifier (string) --
The ID of the rule.
lastUpdatedBy (string) --
The timestamp at which the rule was last updated.
name (string) --
The name of the rule.
revision (string) --
The revision of the rule.
ruleType (string) --
The type of the rule.
scope (dict) --
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) --
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) --
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
target (dict) --
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) --
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
updatedAt (datetime) --
The timestamp at which the rule was last updated.