PutSegmentSubscription
Creates or updates a segment subscription for membership events. When a subscription is created, an initial snapshot is taken and the system begins monitoring for membership changes.
You can optionally set a schedule configuration interval to control how often membership snapshots are run. The interval can be from 1 to 24 hours. If not set, the interval defaults to 24 hours. Scheduled snapshots run on a best-effort basis. If a scheduled snapshot takes longer than the configured interval, the next scheduled run does not start until the in-progress snapshot completes, so a run might be delayed or skipped and is not guaranteed to occur at exactly the requested time.
For Classic segments, membership events are generated from these scheduled snapshots and also in near real-time as profile attribute changes occur. For SQL segments, membership events are generated only from the scheduled snapshots.
Request Syntax
PUT /domains/DomainName/segment-definitions/SegmentDefinitionName/subscriptions HTTP/1.1
Content-type: application/json
{
"ScheduleConfiguration": {
"Interval": number,
"Unit": "string"
}
}
URI Request Parameters
The request uses the following URI parameters.
- DomainName
-
The unique name of the domain.
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^[a-zA-Z0-9_-]+$Required: Yes
- SegmentDefinitionName
-
The unique name of the segment definition.
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.
- ScheduleConfiguration
-
The optional schedule configuration that controls how often membership snapshots are run. If not provided, the subscription defaults to a 24-hour interval.
Type: ScheduleConfiguration object
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"ScheduleConfiguration": {
"Interval": number,
"Unit": "string"
},
"StartedAt": number,
"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.
- ScheduleConfiguration
-
The schedule configuration for the subscription, if configured.
Type: ScheduleConfiguration object
- StartedAt
-
The timestamp of when the subscription was started.
Type: Timestamp
- Status
-
The current lifecycle status of the subscription. The following are valid values:
-
STARTING: Initial snapshot is in progress.
-
RUNNING: Notifications are active and running.
-
STOPPED: Notifications have been stopped.
-
FAILED: Notifications failed (for example, the Amazon Kinesis data stream became inaccessible).
Type: String
Valid Values:
STARTING | RUNNING | STOPPED | FAILED -
Errors
For information about the errors that are common to all actions, see Common Error Types.
- 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: