UpdateAssetFilter - Amazon DataZone

UpdateAssetFilter

Updates an asset filter.

Prerequisites:

  • The domain, asset, and asset filter identifier must all exist.

  • The asset must contain the columns being referenced in the update.

  • If applying a row filter, ensure the column referenced in the expression exists in the asset schema.

Request Syntax

PATCH /v2/domains/domainIdentifier/assets/assetIdentifier/filters/identifier HTTP/1.1 Content-type: application/json { "configuration": { ... }, "description": "string", "name": "string" }

URI Request Parameters

The request uses the following URI parameters.

assetIdentifier

The ID of the data asset.

Pattern: [a-zA-Z0-9_-]{1,36}

Required: Yes

domainIdentifier

The ID of the domain where you want to update an asset filter.

Pattern: dzd[-_][a-zA-Z0-9_-]{1,36}

Required: Yes

identifier

The ID of the asset filter.

Pattern: [a-zA-Z0-9_-]{1,36}

Required: Yes

Request Body

The request accepts the following data in JSON format.

configuration

The configuration of the asset filter.

Type: AssetFilterConfiguration object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: No

description

The description of the asset filter.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 2048.

Required: No

name

The name of the asset filter.

Type: String

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "assetId": "string", "configuration": { ... }, "createdAt": number, "description": "string", "domainId": "string", "effectiveColumnNames": [ "string" ], "effectiveRowFilter": "string", "errorMessage": "string", "id": "string", "name": "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.

assetId

The ID of the data asset.

Type: String

Pattern: [a-zA-Z0-9_-]{1,36}

configuration

The configuration of the asset filter.

Type: AssetFilterConfiguration object

Note: This object is a Union. Only one member of this object can be specified or returned.

createdAt

The timestamp at which the asset filter was created.

Type: Timestamp

description

The description of the asset filter.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 2048.

domainId

The ID of the domain where the asset filter was created.

Type: String

Pattern: dzd[-_][a-zA-Z0-9_-]{1,36}

effectiveColumnNames

The column names of the asset filter.

Type: Array of strings

effectiveRowFilter

The row filter of the asset filter.

Type: String

errorMessage

The error message that is displayed if the action is not completed successfully.

Type: String

id

The ID of the asset filter.

Type: String

Pattern: [a-zA-Z0-9_-]{1,36}

name

The name of the asset filter.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [\w -]+

status

The status of the asset filter.

Type: String

Valid Values: VALID | INVALID

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

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 UpdateAssetFilter.

Sample Request

aws datazone update-asset-filter \ --domain-identifier "dzd_53ielnpxktdilj" \ --asset-identifier "ast7k9mpq2xvn4" \ --identifier "flt8p2mq3xvn5" \ --configuration '{ "columnConfiguration": { "includedColumnNames": [ "customer_id", "email", "phone_number", "address", "registration_date", "last_login_date" ] } }'

Sample Response

{ "assetId": "ast7k9mpq2xvn4", "configuration": { "columnConfiguration": { "includedColumnNames": [ "customer_id", "email", "phone_number", "address", "registration_date", "last_login_date" ] } }, "createdAt": 1752651315.63, "domainId": "dzd_53ielnpxktdilj", "effectiveColumnNames": [ "customer_id", "email", "phone_number", "address", "registration_date", "last_login_date" ], "id": "flt8p2mq3xvn5", "name": "customer-pii-filter", "status": "VALID" }

Example

Failure case - missing required field --configuration:

Sample Request

aws datazone update-asset-filter \ --domain-identifier "dzd_53ielnpxktdilj" \ --asset-identifier "ast7k9mpq2xvn4" \ --identifier "flt8p2mq3xvn5"

Sample Response

aws: error: the following arguments are required: --configuration

Example

Failure case - invalid JSON in --configuration:

Sample Request

aws datazone update-asset-filter \ --domain-identifier "dzd_53ielnpxktdilj" \ --asset-identifier "ast7k9mpq2xvn4" \ --identifier "flt8p2mq3xvn5" \ --configuration '{ "columnConfiguration": { "includedColumnNames": ["customer_id", "email" }'

Sample Response

Error parsing parameter '--configuration': Invalid JSON: Expecting ',' delimiter: line 1 column 65 (char 64)

Example

Failure case - both columnConfiguration and rowConfiguration present:

Sample Request

aws datazone update-asset-filter \ --domain-identifier "dzd_53ielnpxktdilj" \ --asset-identifier "ast7k9mpq2xvn4" \ --identifier "flt8p2mq3xvn5" \ --configuration '{ "columnConfiguration": { "includedColumnNames": ["customer_id"] }, "rowConfiguration": { "rowFilter": { "expression": { "equalTo": { "columnName": "customer_id", "value": "CUST123" } } } } }'

Sample Response

Parameter validation failed: Invalid number of parameters set for tagged union structure configuration. Can only set one of the following keys: columnConfiguration, rowConfiguration.

Example

Failure case - empty includedColumnNames:

Sample Request

aws datazone update-asset-filter \ --domain-identifier "dzd_53ielnpxktdilj" \ --asset-identifier "ast7k9mpq2xvn4" \ --identifier "flt8p2mq3xvn5" \ --configuration '{ "columnConfiguration": { "includedColumnNames": [] } }'

Sample Response

An error occurred (ValidationException) when calling the UpdateAssetFilter operation: Invalid column configuration. No valid columns found.

Example

Failure case - invalid key in rowFilter expression:

Sample Request

aws datazone update-asset-filter \ --domain-identifier "dzd_53ielnpxktdilj" \ --asset-identifier "ast7k9mpq2xvn4" \ --identifier "flt8p2mq3xvn5" \ --configuration '{ "rowConfiguration": { "rowFilter": { "expression": { "invalidOperator": { "columnName": "customer_id", "value": "CUST123" } } } } }'

Sample Response

Parameter validation failed: Unknown parameter in configuration.rowConfiguration.rowFilter.expression: "invalidOperator", must be one of: equalTo, greaterThan, greaterThanOrEqualTo, in, isNotNull, isNull, lessThan, lessThanOrEqualTo, like, notEqualTo, notIn, notLike

Example

Failure case - missing columnName in row filter:

Sample Request

aws datazone update-asset-filter \ --domain-identifier "dzd_53ielnpxktdilj" \ --asset-identifier "ast7k9mpq2xvn4" \ --identifier "flt8p2mq3xvn5" \ --configuration '{ "rowConfiguration": { "rowFilter": { "expression": { "equalTo": { "value": "CUST123" } } } } }'

Sample Response

Parameter validation failed: Missing required parameter in configuration.rowConfiguration.rowFilter.expression.equalTo: "columnName"

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: