Skip to content

Updates the data freshness interval or the Amazon CloudWatch Logs configuration of an existing channel

Description

Updates the data freshness interval or the Amazon CloudWatch Logs configuration of an existing channel. You cannot change the destination, source stream, record format, schema, encryption configuration, or service execution role of an existing channel. To change any other setting, delete the channel and create a new one.

Updating a channel is an asynchronous operation. Upon receiving the request, Amazon Kinesis Data Streams sets the channel to the UPDATING state and returns immediately. After the change is applied, Amazon Kinesis Data Streams sets the channel back to the ACTIVE state.

This operation has a call limit of 5 transactions per second (TPS) for each Amazon Web Services account. Exceeding 5 TPS results in a LimitExceededException.

Usage

kinesis_update_channel(ChannelARN, S3DestinationConfiguration,
  S3TablesDestinationConfiguration, LoggingConfiguration)

Arguments

  • ChannelARN

[required] The Amazon Resource Name (ARN) of the channel to update.

  • S3DestinationConfiguration

The updated configuration for a general purpose Amazon S3 destination. Specify this parameter when the channel delivers to a general purpose Amazon S3 bucket. Only DataFreshnessInSeconds can be updated.

  • S3TablesDestinationConfiguration

The updated configuration for a streaming table destination. Specify this parameter when the channel delivers to streaming tables on Apache Iceberg in Amazon S3 Tables. Only DataFreshnessInSeconds can be updated.

  • LoggingConfiguration

The updated Amazon CloudWatch Logs configuration for the channel.

Value

A list with the following syntax:

list(
  ChannelDescription = list(
    ChannelName = "string",
    ChannelARN = "string",
    ChannelId = "string",
    ChannelStatus = "CREATING"|"ACTIVE"|"UPDATING"|"DELETING"|"FAILED",
    ChannelStatusReason = "string",
    ChannelCreationTimestamp = as.POSIXct(
      "2015-01-01"
    ),
    ServiceExecutionRoleARN = "string",
    StreamConfigurationList = list(
      list(
        StreamARN = "string",
        StreamCreationTimestamp = as.POSIXct(
          "2015-01-01"
        ),
        RecordConfiguration = list(
          RecordFormatType = "GSR_JSON"|"JSON"|"STRING"|"BYTE_ARRAY",
          GSRSchemaARN = "string"
        )
      )
    ),
    S3DestinationConfiguration = list(
      DataFreshnessInSeconds = 123,
      DeadLetterQueueS3Configuration = list(
        BucketARN = "string",
        ExpectedBucketOwner = "string",
        ErrorOutputPrefix = "string"
      ),
      StorageConfiguration = list(
        BucketARN = "string",
        ExpectedBucketOwner = "string",
        OutputKeyTemplate = "string",
        StorageClass = "STANDARD"|"INTELLIGENT_TIERING"|"GLACIER_IR",
        CompressionType = "NONE"|"GZIP"|"ZSTD"
      )
    ),
    S3TablesDestinationConfiguration = list(
      DataFreshnessInSeconds = 123,
      DeadLetterQueueS3Configuration = list(
        BucketARN = "string",
        ExpectedBucketOwner = "string",
        ErrorOutputPrefix = "string"
      ),
      S3TablesConfigurationList = list(
        list(
          TableBucketARN = "string",
          Namespace = "string",
          TableName = "string",
          CompressionType = "NONE"|"ZSTD"|"SNAPPY",
          PartitionSpec = list(
            PartitionFields = list(
              list(
                Transform = "TIME_HOUR",
                SourceName = "string"
              )
            )
          )
        )
      )
    ),
    EncryptionConfiguration = list(
      EncryptionType = "KMS",
      KeyId = "string"
    ),
    LoggingConfiguration = list(
      CloudWatchLogs = list(
        Enabled = TRUE|FALSE,
        LogGroupName = "string",
        LogStreamName = "string"
      )
    )
  )
)

Request syntax

svc$update_channel(
  ChannelARN = "string",
  S3DestinationConfiguration = list(
    DataFreshnessInSeconds = 123
  ),
  S3TablesDestinationConfiguration = list(
    DataFreshnessInSeconds = 123
  ),
  LoggingConfiguration = list(
    CloudWatchLogs = list(
      Enabled = TRUE|FALSE,
      LogGroupName = "string",
      LogStreamName = "string"
    )
  )
)