/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace TimestreamWrite { namespace Model { /** *

Represents records that were not successfully inserted into Timestream due * to data validation issues that must be resolved before reinserting time-series * data into the system.

See Also:

AWS * API Reference

*/ class RejectedRecord { public: AWS_TIMESTREAMWRITE_API RejectedRecord(); AWS_TIMESTREAMWRITE_API RejectedRecord(Aws::Utils::Json::JsonView jsonValue); AWS_TIMESTREAMWRITE_API RejectedRecord& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_TIMESTREAMWRITE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The index of the record in the input request for WriteRecords. Indexes begin * with 0.

*/ inline int GetRecordIndex() const{ return m_recordIndex; } /** *

The index of the record in the input request for WriteRecords. Indexes begin * with 0.

*/ inline bool RecordIndexHasBeenSet() const { return m_recordIndexHasBeenSet; } /** *

The index of the record in the input request for WriteRecords. Indexes begin * with 0.

*/ inline void SetRecordIndex(int value) { m_recordIndexHasBeenSet = true; m_recordIndex = value; } /** *

The index of the record in the input request for WriteRecords. Indexes begin * with 0.

*/ inline RejectedRecord& WithRecordIndex(int value) { SetRecordIndex(value); return *this;} /** *

The reason why a record was not successfully inserted into Timestream. * Possible causes of failure include:

  • Records with duplicate * data where there are multiple records with the same dimensions, timestamps, and * measure names but:

    • Measure values are different

    • *

      Version is not present in the request, or the value of version in the * new record is equal to or lower than the existing value

    If * Timestream rejects data for this case, the ExistingVersion field in * the RejectedRecords response will indicate the current record’s * version. To force an update, you can resend the request with a version for the * record set to a value greater than the ExistingVersion.

  • *
  • Records with timestamps that lie outside the retention duration of the * memory store.

    When the retention window is updated, you will * receive a RejectedRecords exception if you immediately try to * ingest data within the new window. To avoid a RejectedRecords * exception, wait until the duration of the new window to ingest new data. For * further information, see * Best Practices for Configuring Timestream and the * explanation of how storage works in Timestream.

  • * Records with dimensions or measures that exceed the Timestream defined limits. *

For more information, see Access * Management in the Timestream Developer Guide.

*/ inline const Aws::String& GetReason() const{ return m_reason; } /** *

The reason why a record was not successfully inserted into Timestream. * Possible causes of failure include:

  • Records with duplicate * data where there are multiple records with the same dimensions, timestamps, and * measure names but:

    • Measure values are different

    • *

      Version is not present in the request, or the value of version in the * new record is equal to or lower than the existing value

    If * Timestream rejects data for this case, the ExistingVersion field in * the RejectedRecords response will indicate the current record’s * version. To force an update, you can resend the request with a version for the * record set to a value greater than the ExistingVersion.

  • *
  • Records with timestamps that lie outside the retention duration of the * memory store.

    When the retention window is updated, you will * receive a RejectedRecords exception if you immediately try to * ingest data within the new window. To avoid a RejectedRecords * exception, wait until the duration of the new window to ingest new data. For * further information, see * Best Practices for Configuring Timestream and the * explanation of how storage works in Timestream.

  • * Records with dimensions or measures that exceed the Timestream defined limits. *

For more information, see Access * Management in the Timestream Developer Guide.

*/ inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } /** *

The reason why a record was not successfully inserted into Timestream. * Possible causes of failure include:

  • Records with duplicate * data where there are multiple records with the same dimensions, timestamps, and * measure names but:

    • Measure values are different

    • *

      Version is not present in the request, or the value of version in the * new record is equal to or lower than the existing value

    If * Timestream rejects data for this case, the ExistingVersion field in * the RejectedRecords response will indicate the current record’s * version. To force an update, you can resend the request with a version for the * record set to a value greater than the ExistingVersion.

  • *
  • Records with timestamps that lie outside the retention duration of the * memory store.

    When the retention window is updated, you will * receive a RejectedRecords exception if you immediately try to * ingest data within the new window. To avoid a RejectedRecords * exception, wait until the duration of the new window to ingest new data. For * further information, see * Best Practices for Configuring Timestream and the * explanation of how storage works in Timestream.

  • * Records with dimensions or measures that exceed the Timestream defined limits. *

For more information, see Access * Management in the Timestream Developer Guide.

*/ inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; } /** *

The reason why a record was not successfully inserted into Timestream. * Possible causes of failure include:

  • Records with duplicate * data where there are multiple records with the same dimensions, timestamps, and * measure names but:

    • Measure values are different

    • *

      Version is not present in the request, or the value of version in the * new record is equal to or lower than the existing value

    If * Timestream rejects data for this case, the ExistingVersion field in * the RejectedRecords response will indicate the current record’s * version. To force an update, you can resend the request with a version for the * record set to a value greater than the ExistingVersion.

  • *
  • Records with timestamps that lie outside the retention duration of the * memory store.

    When the retention window is updated, you will * receive a RejectedRecords exception if you immediately try to * ingest data within the new window. To avoid a RejectedRecords * exception, wait until the duration of the new window to ingest new data. For * further information, see * Best Practices for Configuring Timestream and the * explanation of how storage works in Timestream.

  • * Records with dimensions or measures that exceed the Timestream defined limits. *

For more information, see Access * Management in the Timestream Developer Guide.

*/ inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } /** *

The reason why a record was not successfully inserted into Timestream. * Possible causes of failure include:

  • Records with duplicate * data where there are multiple records with the same dimensions, timestamps, and * measure names but:

    • Measure values are different

    • *

      Version is not present in the request, or the value of version in the * new record is equal to or lower than the existing value

    If * Timestream rejects data for this case, the ExistingVersion field in * the RejectedRecords response will indicate the current record’s * version. To force an update, you can resend the request with a version for the * record set to a value greater than the ExistingVersion.

  • *
  • Records with timestamps that lie outside the retention duration of the * memory store.

    When the retention window is updated, you will * receive a RejectedRecords exception if you immediately try to * ingest data within the new window. To avoid a RejectedRecords * exception, wait until the duration of the new window to ingest new data. For * further information, see * Best Practices for Configuring Timestream and the * explanation of how storage works in Timestream.

  • * Records with dimensions or measures that exceed the Timestream defined limits. *

For more information, see Access * Management in the Timestream Developer Guide.

*/ inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); } /** *

The reason why a record was not successfully inserted into Timestream. * Possible causes of failure include:

  • Records with duplicate * data where there are multiple records with the same dimensions, timestamps, and * measure names but:

    • Measure values are different

    • *

      Version is not present in the request, or the value of version in the * new record is equal to or lower than the existing value

    If * Timestream rejects data for this case, the ExistingVersion field in * the RejectedRecords response will indicate the current record’s * version. To force an update, you can resend the request with a version for the * record set to a value greater than the ExistingVersion.

  • *
  • Records with timestamps that lie outside the retention duration of the * memory store.

    When the retention window is updated, you will * receive a RejectedRecords exception if you immediately try to * ingest data within the new window. To avoid a RejectedRecords * exception, wait until the duration of the new window to ingest new data. For * further information, see * Best Practices for Configuring Timestream and the * explanation of how storage works in Timestream.

  • * Records with dimensions or measures that exceed the Timestream defined limits. *

For more information, see Access * Management in the Timestream Developer Guide.

*/ inline RejectedRecord& WithReason(const Aws::String& value) { SetReason(value); return *this;} /** *

The reason why a record was not successfully inserted into Timestream. * Possible causes of failure include:

  • Records with duplicate * data where there are multiple records with the same dimensions, timestamps, and * measure names but:

    • Measure values are different

    • *

      Version is not present in the request, or the value of version in the * new record is equal to or lower than the existing value

    If * Timestream rejects data for this case, the ExistingVersion field in * the RejectedRecords response will indicate the current record’s * version. To force an update, you can resend the request with a version for the * record set to a value greater than the ExistingVersion.

  • *
  • Records with timestamps that lie outside the retention duration of the * memory store.

    When the retention window is updated, you will * receive a RejectedRecords exception if you immediately try to * ingest data within the new window. To avoid a RejectedRecords * exception, wait until the duration of the new window to ingest new data. For * further information, see * Best Practices for Configuring Timestream and the * explanation of how storage works in Timestream.

  • * Records with dimensions or measures that exceed the Timestream defined limits. *

For more information, see Access * Management in the Timestream Developer Guide.

*/ inline RejectedRecord& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;} /** *

The reason why a record was not successfully inserted into Timestream. * Possible causes of failure include:

  • Records with duplicate * data where there are multiple records with the same dimensions, timestamps, and * measure names but:

    • Measure values are different

    • *

      Version is not present in the request, or the value of version in the * new record is equal to or lower than the existing value

    If * Timestream rejects data for this case, the ExistingVersion field in * the RejectedRecords response will indicate the current record’s * version. To force an update, you can resend the request with a version for the * record set to a value greater than the ExistingVersion.

  • *
  • Records with timestamps that lie outside the retention duration of the * memory store.

    When the retention window is updated, you will * receive a RejectedRecords exception if you immediately try to * ingest data within the new window. To avoid a RejectedRecords * exception, wait until the duration of the new window to ingest new data. For * further information, see * Best Practices for Configuring Timestream and the * explanation of how storage works in Timestream.

  • * Records with dimensions or measures that exceed the Timestream defined limits. *

For more information, see Access * Management in the Timestream Developer Guide.

*/ inline RejectedRecord& WithReason(const char* value) { SetReason(value); return *this;} /** *

The existing version of the record. This value is populated in scenarios * where an identical record exists with a higher version than the version in the * write request.

*/ inline long long GetExistingVersion() const{ return m_existingVersion; } /** *

The existing version of the record. This value is populated in scenarios * where an identical record exists with a higher version than the version in the * write request.

*/ inline bool ExistingVersionHasBeenSet() const { return m_existingVersionHasBeenSet; } /** *

The existing version of the record. This value is populated in scenarios * where an identical record exists with a higher version than the version in the * write request.

*/ inline void SetExistingVersion(long long value) { m_existingVersionHasBeenSet = true; m_existingVersion = value; } /** *

The existing version of the record. This value is populated in scenarios * where an identical record exists with a higher version than the version in the * write request.

*/ inline RejectedRecord& WithExistingVersion(long long value) { SetExistingVersion(value); return *this;} private: int m_recordIndex; bool m_recordIndexHasBeenSet = false; Aws::String m_reason; bool m_reasonHasBeenSet = false; long long m_existingVersion; bool m_existingVersionHasBeenSet = false; }; } // namespace Model } // namespace TimestreamWrite } // namespace Aws