java.lang.Object
software.amazon.awssdk.services.dynamodb.model.Record
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Record.Builder,Record>

@Generated("software.amazon.awssdk:codegen") public final class Record extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Record.Builder,Record>

A description of a unique event within a stream.

See Also:
  • Method Details

    • eventID

      public final String eventID()

      A globally unique identifier for the event that was recorded in this stream record.

      Returns:
      A globally unique identifier for the event that was recorded in this stream record.
    • eventName

      public final OperationType eventName()

      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

      If the service returns an enum value that is not available in the current SDK version, eventName will return OperationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from eventNameAsString().

      Returns:
      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

      See Also:
    • eventNameAsString

      public final String eventNameAsString()

      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

      If the service returns an enum value that is not available in the current SDK version, eventName will return OperationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from eventNameAsString().

      Returns:
      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

      See Also:
    • eventVersion

      public final String eventVersion()

      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.

      Returns:
      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.

    • eventSource

      public final String eventSource()

      The Amazon Web Services service from which the stream record originated. For DynamoDB Streams, this is aws:dynamodb.

      Returns:
      The Amazon Web Services service from which the stream record originated. For DynamoDB Streams, this is aws:dynamodb.
    • awsRegion

      public final String awsRegion()

      The region in which the GetRecords request was received.

      Returns:
      The region in which the GetRecords request was received.
    • dynamodb

      public final StreamRecord dynamodb()

      The main body of the stream record, containing all of the DynamoDB-specific fields.

      Returns:
      The main body of the stream record, containing all of the DynamoDB-specific fields.
    • userIdentity

      public final Identity userIdentity()

      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"

      Returns:
      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"

    • toBuilder

      public Record.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Record.Builder,Record>
      Returns:
      a builder for type T
    • builder

      public static Record.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Record.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.