CreateCalculatedAttributeDefinition
Creates a new calculated attribute definition. After creation, new object data ingested
into Customer Profiles will be included in the calculated attribute, which can be retrieved
for a profile using the GetCalculatedAttributeForProfile API. Defining a calculated attribute makes it
available for all profiles within a domain. Each calculated attribute can only reference
one ObjectType
and at most, two fields from that
ObjectType
.
Request Syntax
POST /domains/DomainName
/calculated-attributes/CalculatedAttributeName
HTTP/1.1
Content-type: application/json
{
"AttributeDetails": {
"Attributes": [
{
"Name": "string
"
}
],
"Expression": "string
"
},
"Conditions": {
"ObjectCount": number
,
"Range": {
"Unit": "string
",
"Value": number
},
"Threshold": {
"Operator": "string
",
"Value": "string
"
}
},
"Description": "string
",
"DisplayName": "string
",
"Filter": {
"Groups": [
{
"Dimensions": [
{
"Attributes": {
"string
" : {
"DimensionType": "string
",
"Values": [ "string
" ]
}
}
}
],
"Type": "string
"
}
],
"Include": "string
"
},
"Statistic": "string
",
"Tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- CalculatedAttributeName
-
The unique name of the calculated attribute.
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^[a-zA-Z_][a-zA-Z_0-9-]*$
Required: Yes
- DomainName
-
The unique name of the domain.
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^[a-zA-Z0-9_-]+$
Required: Yes
Request Body
The request accepts the following data in JSON format.
- AttributeDetails
-
Mathematical expression and a list of attribute items specified in that expression.
Type: AttributeDetails object
Required: Yes
- Conditions
-
The conditions including range, object count, and threshold for the calculated attribute.
Type: Conditions object
Required: No
- Description
-
The description of the calculated attribute.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1000.
Required: No
- DisplayName
-
The display name of the calculated attribute.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^[a-zA-Z_][a-zA-Z_0-9-\s]*$
Required: No
- Filter
-
Defines how to filter incoming objects to include part of the Calculated Attribute.
Type: Filter object
Required: No
- Statistic
-
The aggregation operation to perform for the calculated attribute.
Type: String
Valid Values:
FIRST_OCCURRENCE | LAST_OCCURRENCE | COUNT | SUM | MINIMUM | MAXIMUM | AVERAGE | MAX_OCCURRENCE
Required: Yes
- Tags
-
The tags used to organize, track, or control access for this resource.
Type: String to string map
Map Entries: Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Maximum length of 256.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"AttributeDetails": {
"Attributes": [
{
"Name": "string"
}
],
"Expression": "string"
},
"CalculatedAttributeName": "string",
"Conditions": {
"ObjectCount": number,
"Range": {
"Unit": "string",
"Value": number
},
"Threshold": {
"Operator": "string",
"Value": "string"
}
},
"CreatedAt": number,
"Description": "string",
"DisplayName": "string",
"Filter": {
"Groups": [
{
"Dimensions": [
{
"Attributes": {
"string" : {
"DimensionType": "string",
"Values": [ "string" ]
}
}
}
],
"Type": "string"
}
],
"Include": "string"
},
"LastUpdatedAt": number,
"Statistic": "string",
"Tags": {
"string" : "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.
- AttributeDetails
-
Mathematical expression and a list of attribute items specified in that expression.
Type: AttributeDetails object
- CalculatedAttributeName
-
The unique name of the calculated attribute.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^[a-zA-Z_][a-zA-Z_0-9-]*$
- Conditions
-
The conditions including range, object count, and threshold for the calculated attribute.
Type: Conditions object
- CreatedAt
-
The timestamp of when the calculated attribute definition was created.
Type: Timestamp
- Description
-
The description of the calculated attribute.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1000.
- DisplayName
-
The display name of the calculated attribute.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^[a-zA-Z_][a-zA-Z_0-9-\s]*$
- Filter
-
The filter that was used as part of the request.
Type: Filter object
- LastUpdatedAt
-
The timestamp of when the calculated attribute definition was most recently edited.
Type: Timestamp
- Statistic
-
The aggregation operation to perform for the calculated attribute.
Type: String
Valid Values:
FIRST_OCCURRENCE | LAST_OCCURRENCE | COUNT | SUM | MINIMUM | MAXIMUM | AVERAGE | MAX_OCCURRENCE
- Tags
-
The tags used to organize, track, or control access for this resource.
Type: String to string map
Map Entries: Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Maximum length of 256.
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
- BadRequestException
-
The input you provided is invalid.
HTTP Status Code: 400
- InternalServerException
-
An internal service error occurred.
HTTP Status Code: 500
- ResourceNotFoundException
-
The requested resource does not exist, or access was denied.
HTTP Status Code: 404
- ThrottlingException
-
You exceeded the maximum number of requests.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: