Copyright | (c) 2013-2018 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
- dynamoDBStreams :: Service
- _ExpiredIteratorException :: AsError a => Getting (First ServiceError) a ServiceError
- _InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError
- _TrimmedDataAccessException :: AsError a => Getting (First ServiceError) a ServiceError
- _ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
- data KeyType
- data OperationType
- data ShardIteratorType
- data StreamStatus
- data StreamViewType
- data AttributeValue
- attributeValue :: AttributeValue
- avL :: Lens' AttributeValue [AttributeValue]
- avNS :: Lens' AttributeValue [Text]
- avM :: Lens' AttributeValue (HashMap Text AttributeValue)
- avNULL :: Lens' AttributeValue (Maybe Bool)
- avN :: Lens' AttributeValue (Maybe Text)
- avBS :: Lens' AttributeValue [ByteString]
- avB :: Lens' AttributeValue (Maybe ByteString)
- avSS :: Lens' AttributeValue [Text]
- avS :: Lens' AttributeValue (Maybe Text)
- avBOOL :: Lens' AttributeValue (Maybe Bool)
- data Identity
- identity :: Identity
- iPrincipalId :: Lens' Identity (Maybe Text)
- iType :: Lens' Identity (Maybe Text)
- data KeySchemaElement
- keySchemaElement :: Text -> KeyType -> KeySchemaElement
- kseAttributeName :: Lens' KeySchemaElement Text
- kseKeyType :: Lens' KeySchemaElement KeyType
- data Record
- record :: Record
- rUserIdentity :: Lens' Record (Maybe Identity)
- rEventVersion :: Lens' Record (Maybe Text)
- rDynamodb :: Lens' Record (Maybe StreamRecord)
- rAwsRegion :: Lens' Record (Maybe Text)
- rEventName :: Lens' Record (Maybe OperationType)
- rEventSource :: Lens' Record (Maybe Text)
- rEventId :: Lens' Record (Maybe Text)
- data SequenceNumberRange
- sequenceNumberRange :: SequenceNumberRange
- snrStartingSequenceNumber :: Lens' SequenceNumberRange (Maybe Text)
- snrEndingSequenceNumber :: Lens' SequenceNumberRange (Maybe Text)
- data Shard
- shard :: Shard
- sParentShardId :: Lens' Shard (Maybe Text)
- sSequenceNumberRange :: Lens' Shard (Maybe SequenceNumberRange)
- sShardId :: Lens' Shard (Maybe Text)
- data Stream
- stream :: Stream
- sStreamLabel :: Lens' Stream (Maybe Text)
- sStreamARN :: Lens' Stream (Maybe Text)
- sTableName :: Lens' Stream (Maybe Text)
- data StreamDescription
- streamDescription :: StreamDescription
- sdLastEvaluatedShardId :: Lens' StreamDescription (Maybe Text)
- sdStreamLabel :: Lens' StreamDescription (Maybe Text)
- sdStreamStatus :: Lens' StreamDescription (Maybe StreamStatus)
- sdKeySchema :: Lens' StreamDescription (Maybe (NonEmpty KeySchemaElement))
- sdStreamViewType :: Lens' StreamDescription (Maybe StreamViewType)
- sdStreamARN :: Lens' StreamDescription (Maybe Text)
- sdShards :: Lens' StreamDescription [Shard]
- sdTableName :: Lens' StreamDescription (Maybe Text)
- sdCreationRequestDateTime :: Lens' StreamDescription (Maybe UTCTime)
- data StreamRecord
- streamRecord :: StreamRecord
- srSizeBytes :: Lens' StreamRecord (Maybe Natural)
- srSequenceNumber :: Lens' StreamRecord (Maybe Text)
- srApproximateCreationDateTime :: Lens' StreamRecord (Maybe UTCTime)
- srStreamViewType :: Lens' StreamRecord (Maybe StreamViewType)
- srKeys :: Lens' StreamRecord (HashMap Text AttributeValue)
- srOldImage :: Lens' StreamRecord (HashMap Text AttributeValue)
- srNewImage :: Lens' StreamRecord (HashMap Text AttributeValue)
Service Configuration
dynamoDBStreams :: Service Source #
API version 2012-08-10
of the Amazon DynamoDB Streams SDK configuration.
Errors
_ExpiredIteratorException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The shard iterator has expired and can no longer be used to retrieve stream records. A shard iterator expires 15 minutes after it is retrieved using the GetShardIterator
action.
_InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError Source #
An error occurred on the server side.
_TrimmedDataAccessException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The operation attempted to read past the oldest stream record in a shard.
In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException if:
- You request a shard iterator with a sequence number older than the trim point (24 hours).
- You obtain a shard iterator, but before you use the iterator in a
GetRecords
request, a stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access a record that no longer exists.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The operation tried to access a nonexistent stream.
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source #
Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide .
KeyType
OperationType
data OperationType Source #
ShardIteratorType
data ShardIteratorType Source #
StreamStatus
data StreamStatus Source #
StreamViewType
data StreamViewType Source #
AttributeValue
data AttributeValue Source #
Represents the data for an attribute. You can set one, and only one, of the elements.
Each attribute in an item is a name-value pair. An attribute can be single-valued or multi-valued set. For example, a book item can have title and authors attributes. Each book has one title but can have many authors. The multi-valued attribute is a set; duplicate values are not allowed.
See: attributeValue
smart constructor.
attributeValue :: AttributeValue Source #
Creates a value of AttributeValue
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
avL
- A List data type.avNS
- A Number Set data type.avM
- A Map data type.avNULL
- A Null data type.avN
- A Number data type.avBS
- A Binary Set data type.avB
- A Binary data type.-- Note: ThisLens
automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. ThisLens
accepts and returns only raw unencoded data.avSS
- A String Set data type.avS
- A String data type.avBOOL
- A Boolean data type.
avL :: Lens' AttributeValue [AttributeValue] Source #
A List data type.
avM :: Lens' AttributeValue (HashMap Text AttributeValue) Source #
A Map data type.
avBS :: Lens' AttributeValue [ByteString] Source #
A Binary Set data type.
avB :: Lens' AttributeValue (Maybe ByteString) Source #
A Binary data type.-- Note: This Lens
automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens
accepts and returns only raw unencoded data.
Identity
Contains details about the type of identity that made the request.
See: identity
smart constructor.
Creates a value of Identity
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
iPrincipalId
- A unique identifier for the entity that made the call. For Time To Live, the principalId is "dynamodb.amazonaws.com".iType
- The type of the identity. For Time To Live, the type is Service.
iPrincipalId :: Lens' Identity (Maybe Text) Source #
A unique identifier for the entity that made the call. For Time To Live, the principalId is "dynamodb.amazonaws.com".
iType :: Lens' Identity (Maybe Text) Source #
The type of the identity. For Time To Live, the type is Service.
KeySchemaElement
data KeySchemaElement Source #
Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.
A KeySchemaElement
represents exactly one attribute of the primary key. For example, a simple primary key (partition key) would be represented by one KeySchemaElement
. A composite primary key (partition key and sort key) would require one KeySchemaElement
for the partition key, and another KeySchemaElement
for the sort key.
See: keySchemaElement
smart constructor.
Creates a value of KeySchemaElement
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
kseAttributeName
- The name of a key attribute.kseKeyType
- The attribute data, consisting of the data type and the attribute value itself.
kseAttributeName :: Lens' KeySchemaElement Text Source #
The name of a key attribute.
kseKeyType :: Lens' KeySchemaElement KeyType Source #
The attribute data, consisting of the data type and the attribute value itself.
Record
A description of a unique event within a stream.
See: record
smart constructor.
Creates a value of Record
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
rUserIdentity
- Items that are deleted by the Time to Live process after expiration have the following fields: * Records[].userIdentity.type Service * Records[].userIdentity.principalId "dynamodb.amazonaws.com"rEventVersion
- The version number of the stream record format. This number is updated whenever the structure ofRecord
is modified. Client applications must not assume thateventVersion
will remain at a particular value, as this number is subject to change at any time. In general,eventVersion
will only increase as the low-level DynamoDB Streams API evolves.rDynamodb
- The main body of the stream record, containing all of the DynamoDB-specific fields.rAwsRegion
- The region in which theGetRecords
request was received.rEventName
- The type of data modification that was performed on the DynamoDB table: *INSERT
- a new item was added to the table. *MODIFY
- one or more of an existing item's attributes were modified. *REMOVE
- the item was deleted from the tablerEventSource
- The AWS service from which the stream record originated. For DynamoDB Streams, this isaws:dynamodb
.rEventId
- A globally unique identifier for the event that was recorded in this stream record.
rUserIdentity :: Lens' Record (Maybe Identity) Source #
Items that are deleted by the Time to Live process after expiration have the following fields: * Records[].userIdentity.type Service * Records[].userIdentity.principalId "dynamodb.amazonaws.com"
rEventVersion :: Lens' Record (Maybe Text) Source #
The version number of the stream record format. This number is updated whenever the structure of Record
is modified. Client applications must not assume that eventVersion
will remain at a particular value, as this number is subject to change at any time. In general, eventVersion
will only increase as the low-level DynamoDB Streams API evolves.
rDynamodb :: Lens' Record (Maybe StreamRecord) Source #
The main body of the stream record, containing all of the DynamoDB-specific fields.
rAwsRegion :: Lens' Record (Maybe Text) Source #
The region in which the GetRecords
request was received.
rEventName :: Lens' Record (Maybe OperationType) Source #
The type of data modification that was performed on the DynamoDB table: * INSERT
- a new item was added to the table. * MODIFY
- one or more of an existing item's attributes were modified. * REMOVE
- the item was deleted from the table
rEventSource :: Lens' Record (Maybe Text) Source #
The AWS service from which the stream record originated. For DynamoDB Streams, this is aws:dynamodb
.
rEventId :: Lens' Record (Maybe Text) Source #
A globally unique identifier for the event that was recorded in this stream record.
SequenceNumberRange
data SequenceNumberRange Source #
The beginning and ending sequence numbers for the stream records contained within a shard.
See: sequenceNumberRange
smart constructor.
sequenceNumberRange :: SequenceNumberRange Source #
Creates a value of SequenceNumberRange
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
snrStartingSequenceNumber
- The first sequence number.snrEndingSequenceNumber
- The last sequence number.
snrStartingSequenceNumber :: Lens' SequenceNumberRange (Maybe Text) Source #
The first sequence number.
snrEndingSequenceNumber :: Lens' SequenceNumberRange (Maybe Text) Source #
The last sequence number.
Shard
A uniquely identified group of stream records within a stream.
See: shard
smart constructor.
Creates a value of Shard
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
sParentShardId
- The shard ID of the current shard's parent.sSequenceNumberRange
- The range of possible sequence numbers for the shard.sShardId
- The system-generated identifier for this shard.
sSequenceNumberRange :: Lens' Shard (Maybe SequenceNumberRange) Source #
The range of possible sequence numbers for the shard.
Stream
Represents all of the data describing a particular stream.
See: stream
smart constructor.
Creates a value of Stream
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
sStreamLabel
- A timestamp, in ISO 8601 format, for this stream. Note thatLatestStreamLabel
is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique: * the AWS customer ID. * the table name * theStreamLabel
sStreamARN
- The Amazon Resource Name (ARN) for the stream.sTableName
- The DynamoDB table with which the stream is associated.
sStreamLabel :: Lens' Stream (Maybe Text) Source #
A timestamp, in ISO 8601 format, for this stream. Note that LatestStreamLabel
is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique: * the AWS customer ID. * the table name * the StreamLabel
sTableName :: Lens' Stream (Maybe Text) Source #
The DynamoDB table with which the stream is associated.
StreamDescription
data StreamDescription Source #
Represents all of the data describing a particular stream.
See: streamDescription
smart constructor.
streamDescription :: StreamDescription Source #
Creates a value of StreamDescription
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
sdLastEvaluatedShardId
- The shard ID of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request. IfLastEvaluatedShardId
is empty, then the "last page" of results has been processed and there is currently no more data to be retrieved. IfLastEvaluatedShardId
is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is whenLastEvaluatedShardId
is empty.sdStreamLabel
- A timestamp, in ISO 8601 format, for this stream. Note thatLatestStreamLabel
is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique: * the AWS customer ID. * the table name * theStreamLabel
sdStreamStatus
- Indicates the current status of the stream: *ENABLING
- Streams is currently being enabled on the DynamoDB table. *ENABLED
- the stream is enabled. *DISABLING
- Streams is currently being disabled on the DynamoDB table. *DISABLED
- the stream is disabled.sdKeySchema
- The key attribute(s) of the stream's DynamoDB table.sdStreamViewType
- Indicates the format of the records within this stream: *KEYS_ONLY
- only the key attributes of items that were modified in the DynamoDB table. *NEW_IMAGE
- entire items from the table, as they appeared after they were modified. *OLD_IMAGE
- entire items from the table, as they appeared before they were modified. *NEW_AND_OLD_IMAGES
- both the new and the old images of the items from the table.sdStreamARN
- The Amazon Resource Name (ARN) for the stream.sdShards
- The shards that comprise the stream.sdTableName
- The DynamoDB table with which the stream is associated.sdCreationRequestDateTime
- The date and time when the request to create this stream was issued.
sdLastEvaluatedShardId :: Lens' StreamDescription (Maybe Text) Source #
The shard ID of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request. If LastEvaluatedShardId
is empty, then the "last page" of results has been processed and there is currently no more data to be retrieved. If LastEvaluatedShardId
is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedShardId
is empty.
sdStreamLabel :: Lens' StreamDescription (Maybe Text) Source #
A timestamp, in ISO 8601 format, for this stream. Note that LatestStreamLabel
is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique: * the AWS customer ID. * the table name * the StreamLabel
sdStreamStatus :: Lens' StreamDescription (Maybe StreamStatus) Source #
Indicates the current status of the stream: * ENABLING
- Streams is currently being enabled on the DynamoDB table. * ENABLED
- the stream is enabled. * DISABLING
- Streams is currently being disabled on the DynamoDB table. * DISABLED
- the stream is disabled.
sdKeySchema :: Lens' StreamDescription (Maybe (NonEmpty KeySchemaElement)) Source #
The key attribute(s) of the stream's DynamoDB table.
sdStreamViewType :: Lens' StreamDescription (Maybe StreamViewType) Source #
Indicates the format of the records within this stream: * KEYS_ONLY
- only the key attributes of items that were modified in the DynamoDB table. * NEW_IMAGE
- entire items from the table, as they appeared after they were modified. * OLD_IMAGE
- entire items from the table, as they appeared before they were modified. * NEW_AND_OLD_IMAGES
- both the new and the old images of the items from the table.
sdStreamARN :: Lens' StreamDescription (Maybe Text) Source #
The Amazon Resource Name (ARN) for the stream.
sdTableName :: Lens' StreamDescription (Maybe Text) Source #
The DynamoDB table with which the stream is associated.
sdCreationRequestDateTime :: Lens' StreamDescription (Maybe UTCTime) Source #
The date and time when the request to create this stream was issued.
StreamRecord
data StreamRecord Source #
A description of a single data modification that was performed on an item in a DynamoDB table.
See: streamRecord
smart constructor.
streamRecord :: StreamRecord Source #
Creates a value of StreamRecord
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
srSizeBytes
- The size of the stream record, in bytes.srSequenceNumber
- The sequence number of the stream record.srApproximateCreationDateTime
- The approximate date and time when the stream record was created, in UNIX epoch time format.srStreamViewType
- The type of data from the modified DynamoDB item that was captured in this stream record: *KEYS_ONLY
- only the key attributes of the modified item. *NEW_IMAGE
- the entire item, as it appeared after it was modified. *OLD_IMAGE
- the entire item, as it appeared before it was modified. *NEW_AND_OLD_IMAGES
- both the new and the old item images of the item.srKeys
- The primary key attribute(s) for the DynamoDB item that was modified.srOldImage
- The item in the DynamoDB table as it appeared before it was modified.srNewImage
- The item in the DynamoDB table as it appeared after it was modified.
srSizeBytes :: Lens' StreamRecord (Maybe Natural) Source #
The size of the stream record, in bytes.
srSequenceNumber :: Lens' StreamRecord (Maybe Text) Source #
The sequence number of the stream record.
srApproximateCreationDateTime :: Lens' StreamRecord (Maybe UTCTime) Source #
The approximate date and time when the stream record was created, in UNIX epoch time format.
srStreamViewType :: Lens' StreamRecord (Maybe StreamViewType) Source #
The type of data from the modified DynamoDB item that was captured in this stream record: * KEYS_ONLY
- only the key attributes of the modified item. * NEW_IMAGE
- the entire item, as it appeared after it was modified. * OLD_IMAGE
- the entire item, as it appeared before it was modified. * NEW_AND_OLD_IMAGES
- both the new and the old item images of the item.
srKeys :: Lens' StreamRecord (HashMap Text AttributeValue) Source #
The primary key attribute(s) for the DynamoDB item that was modified.
srOldImage :: Lens' StreamRecord (HashMap Text AttributeValue) Source #
The item in the DynamoDB table as it appeared before it was modified.
srNewImage :: Lens' StreamRecord (HashMap Text AttributeValue) Source #
The item in the DynamoDB table as it appeared after it was modified.