Class Record

java.lang.Object
software.amazon.awssdk.services.timestreamwrite.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>

Represents a time-series data point being written into Timestream. Each record contains an array of dimensions. Dimensions represent the metadata attributes of a time-series data point, such as the instance name or Availability Zone of an EC2 instance. A record also contains the measure name, which is the name of the measure being collected (for example, the CPU utilization of an EC2 instance). Additionally, a record contains the measure value and the value type, which is the data type of the measure value. Also, the record contains the timestamp of when the measure was collected and the timestamp unit, which represents the granularity of the timestamp.

Records have a Version field, which is a 64-bit long that you can use for updating data points. Writes of a duplicate record with the same dimension, timestamp, and measure name but different measure value will only succeed if the Version attribute of the record in the write request is higher than that of the existing record. Timestream defaults to a Version of 1 for records without the Version field.

See Also:
  • Method Details

    • hasDimensions

      public final boolean hasDimensions()
      For responses, this returns true if the service returned a value for the Dimensions property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • dimensions

      public final List<Dimension> dimensions()

      Contains the list of dimensions for time-series data points.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasDimensions() method.

      Returns:
      Contains the list of dimensions for time-series data points.
    • measureName

      public final String measureName()

      Measure represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures.

      Returns:
      Measure represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures.
    • measureValue

      public final String measureValue()

      Contains the measure value for the time-series data point.

      Returns:
      Contains the measure value for the time-series data point.
    • measureValueType

      public final MeasureValueType measureValueType()

      Contains the data type of the measure value for the time-series data point. Default type is DOUBLE. For more information, see Data types.

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

      Returns:
      Contains the data type of the measure value for the time-series data point. Default type is DOUBLE. For more information, see Data types.
      See Also:
    • measureValueTypeAsString

      public final String measureValueTypeAsString()

      Contains the data type of the measure value for the time-series data point. Default type is DOUBLE. For more information, see Data types.

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

      Returns:
      Contains the data type of the measure value for the time-series data point. Default type is DOUBLE. For more information, see Data types.
      See Also:
    • time

      public final String time()

      Contains the time at which the measure value for the data point was collected. The time value plus the unit provides the time elapsed since the epoch. For example, if the time value is 12345 and the unit is ms, then 12345 ms have elapsed since the epoch.

      Returns:
      Contains the time at which the measure value for the data point was collected. The time value plus the unit provides the time elapsed since the epoch. For example, if the time value is 12345 and the unit is ms, then 12345 ms have elapsed since the epoch.
    • timeUnit

      public final TimeUnit timeUnit()

      The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds, or other supported values. Default is MILLISECONDS.

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

      Returns:
      The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds, or other supported values. Default is MILLISECONDS.
      See Also:
    • timeUnitAsString

      public final String timeUnitAsString()

      The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds, or other supported values. Default is MILLISECONDS.

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

      Returns:
      The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds, or other supported values. Default is MILLISECONDS.
      See Also:
    • version

      public final Long version()

      64-bit attribute used for record updates. Write requests for duplicate data with a higher version number will update the existing measure value and version. In cases where the measure value is the same, Version will still be updated. Default value is 1.

      Version must be 1 or greater, or you will receive a ValidationException error.

      Returns:
      64-bit attribute used for record updates. Write requests for duplicate data with a higher version number will update the existing measure value and version. In cases where the measure value is the same, Version will still be updated. Default value is 1.

      Version must be 1 or greater, or you will receive a ValidationException error.

    • hasMeasureValues

      public final boolean hasMeasureValues()
      For responses, this returns true if the service returned a value for the MeasureValues property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • measureValues

      public final List<MeasureValue> measureValues()

      Contains the list of MeasureValue for time-series data points.

      This is only allowed for type MULTI. For scalar values, use MeasureValue attribute of the record directly.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasMeasureValues() method.

      Returns:
      Contains the list of MeasureValue for time-series data points.

      This is only allowed for type MULTI. For scalar values, use MeasureValue attribute of the record directly.

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