keyspacesstreams

package module
v1.4.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 26, 2025 License: Apache-2.0 Imports: 45 Imported by: 2

Documentation

Overview

Package keyspacesstreams provides the API client, operations, and parameter types for Amazon Keyspaces Streams.

Amazon Keyspaces (for Apache Cassandra) change data capture (CDC) records change events for Amazon Keyspaces tables. The change events captured in a stream are time-ordered and de-duplicated write operations. Using stream data you can build event driven applications that incorporate near-real time change events from Amazon Keyspaces tables.

Amazon Keyspaces CDC is serverless and scales the infrastructure for change events automatically based on the volume of changes on your table.

This API reference describes the Amazon Keyspaces CDC stream API in detail.

For more information about Amazon Keyspaces CDC, see Working with change data capture (CDC) streams in Amazon Keyspaces in the Amazon Keyspaces Developer Guide.

To learn how Amazon Keyspaces CDC API actions are recorded with CloudTrail, see Amazon Keyspaces information in CloudTrail in the Amazon Keyspaces Developer Guide.

To see the metrics Amazon Keyspaces CDC sends to Amazon CloudWatch, see Amazon Keyspaces change data capture (CDC) CloudWatch metrics in the Amazon Keyspaces Developer Guide.

Index

Constants

View Source
const ServiceAPIVersion = "2024-09-09"
View Source
const ServiceID = "KeyspacesStreams"

Variables

This section is empty.

Functions

func NewDefaultEndpointResolver

func NewDefaultEndpointResolver() *internalendpoints.Resolver

NewDefaultEndpointResolver constructs a new service endpoint resolver

func WithAPIOptions

func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options)

WithAPIOptions returns a functional option for setting the Client's APIOptions option.

func WithEndpointResolver deprecated

func WithEndpointResolver(v EndpointResolver) func(*Options)

Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for this field will likely prevent you from using any endpoint-related service features released after the introduction of EndpointResolverV2 and BaseEndpoint.

To migrate an EndpointResolver implementation that uses a custom endpoint, set the client option BaseEndpoint instead.

func WithEndpointResolverV2

func WithEndpointResolverV2(v EndpointResolverV2) func(*Options)

WithEndpointResolverV2 returns a functional option for setting the Client's EndpointResolverV2 option.

func WithSigV4SigningName

func WithSigV4SigningName(name string) func(*Options)

WithSigV4SigningName applies an override to the authentication workflow to use the given signing name for SigV4-authenticated operations.

This is an advanced setting. The value here is FINAL, taking precedence over the resolved signing name from both auth scheme resolution and endpoint resolution.

func WithSigV4SigningRegion

func WithSigV4SigningRegion(region string) func(*Options)

WithSigV4SigningRegion applies an override to the authentication workflow to use the given signing region for SigV4-authenticated operations.

This is an advanced setting. The value here is FINAL, taking precedence over the resolved signing region from both auth scheme resolution and endpoint resolution.

Types

type AuthResolverParameters

type AuthResolverParameters struct {
	// The name of the operation being invoked.
	Operation string

	// The region in which the operation is being invoked.
	Region string
}

AuthResolverParameters contains the set of inputs necessary for auth scheme resolution.

type AuthSchemeResolver

type AuthSchemeResolver interface {
	ResolveAuthSchemes(context.Context, *AuthResolverParameters) ([]*smithyauth.Option, error)
}

AuthSchemeResolver returns a set of possible authentication options for an operation.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client provides the API client to make operations call for Amazon Keyspaces Streams.

func New

func New(options Options, optFns ...func(*Options)) *Client

New returns an initialized Client based on the functional options. Provide additional functional options to further configure the behavior of the client, such as changing the client's endpoint or adding custom middleware behavior.

func NewFromConfig

func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client

NewFromConfig returns a new client from the provided config.

func (*Client) GetRecords

func (c *Client) GetRecords(ctx context.Context, params *GetRecordsInput, optFns ...func(*Options)) (*GetRecordsOutput, error)

Retrieves data records from a specified shard in an Amazon Keyspaces data stream. This operation returns a collection of data records from the shard, including the primary key columns and information about modifications made to the captured table data. Each record represents a single data modification in the Amazon Keyspaces table and includes metadata about when the change occurred.

func (*Client) GetShardIterator

func (c *Client) GetShardIterator(ctx context.Context, params *GetShardIteratorInput, optFns ...func(*Options)) (*GetShardIteratorOutput, error)

Returns a shard iterator that serves as a bookmark for reading data from a specific position in an Amazon Keyspaces data stream's shard. The shard iterator specifies the shard position from which to start reading data records sequentially. You can specify whether to begin reading at the latest record, the oldest record, or at a particular sequence number within the shard.

func (*Client) GetStream

func (c *Client) GetStream(ctx context.Context, params *GetStreamInput, optFns ...func(*Options)) (*GetStreamOutput, error)

Returns detailed information about a specific data capture stream for an Amazon Keyspaces table. The information includes the stream's Amazon Resource Name (ARN), creation time, current status, retention period, shard composition, and associated table details. This operation helps you monitor and manage the configuration of your Amazon Keyspaces data streams.

func (*Client) ListStreams

func (c *Client) ListStreams(ctx context.Context, params *ListStreamsInput, optFns ...func(*Options)) (*ListStreamsOutput, error)

Returns a list of all data capture streams associated with your Amazon Keyspaces account or for a specific keyspace or table. The response includes information such as stream ARNs, table associations, creation timestamps, and current status. This operation helps you discover and manage all active data streams in your Amazon Keyspaces environment.

func (*Client) Options

func (c *Client) Options() Options

Options returns a copy of the client configuration.

Callers SHOULD NOT perform mutations on any inner structures within client config. Config overrides should instead be made on a per-operation basis through functional options.

type EndpointParameters

type EndpointParameters struct {
	// When true, send this request to the FIPS-compliant regional endpoint. If the
	// configured endpoint does not have a FIPS compliant endpoint, dispatching the
	// request will return an error.
	//
	// Defaults to false if no value is
	// provided.
	//
	// AWS::UseFIPS
	UseFIPS *bool

	// Override the endpoint used to send this request
	//
	// Parameter is
	// required.
	//
	// SDK::Endpoint
	Endpoint *string

	// The AWS region used to dispatch the request.
	//
	// Parameter is
	// required.
	//
	// AWS::Region
	Region *string
}

EndpointParameters provides the parameters that influence how endpoints are resolved.

func (EndpointParameters) ValidateRequired

func (p EndpointParameters) ValidateRequired() error

ValidateRequired validates required parameters are set.

func (EndpointParameters) WithDefaults

func (p EndpointParameters) WithDefaults() EndpointParameters

WithDefaults returns a shallow copy of EndpointParameterswith default values applied to members where applicable.

type EndpointResolver

type EndpointResolver interface {
	ResolveEndpoint(region string, options EndpointResolverOptions) (aws.Endpoint, error)
}

EndpointResolver interface for resolving service endpoints.

func EndpointResolverFromURL

func EndpointResolverFromURL(url string, optFns ...func(*aws.Endpoint)) EndpointResolver

EndpointResolverFromURL returns an EndpointResolver configured using the provided endpoint url. By default, the resolved endpoint resolver uses the client region as signing region, and the endpoint source is set to EndpointSourceCustom.You can provide functional options to configure endpoint values for the resolved endpoint.

type EndpointResolverFunc

type EndpointResolverFunc func(region string, options EndpointResolverOptions) (aws.Endpoint, error)

EndpointResolverFunc is a helper utility that wraps a function so it satisfies the EndpointResolver interface. This is useful when you want to add additional endpoint resolving logic, or stub out specific endpoints with custom values.

func (EndpointResolverFunc) ResolveEndpoint

func (fn EndpointResolverFunc) ResolveEndpoint(region string, options EndpointResolverOptions) (endpoint aws.Endpoint, err error)

type EndpointResolverOptions

type EndpointResolverOptions = internalendpoints.Options

EndpointResolverOptions is the service endpoint resolver options

type EndpointResolverV2

type EndpointResolverV2 interface {
	// ResolveEndpoint attempts to resolve the endpoint with the provided options,
	// returning the endpoint if found. Otherwise an error is returned.
	ResolveEndpoint(ctx context.Context, params EndpointParameters) (
		smithyendpoints.Endpoint, error,
	)
}

EndpointResolverV2 provides the interface for resolving service endpoints.

func NewDefaultEndpointResolverV2

func NewDefaultEndpointResolverV2() EndpointResolverV2

type GetRecordsInput

type GetRecordsInput struct {

	//  The unique identifier of the shard iterator. A shard iterator specifies the
	// position in the shard from which you want to start reading data records
	// sequentially. You obtain this value by calling the GetShardIterator operation.
	// Each shard iterator is valid for 15 minutes after creation.
	//
	// This member is required.
	ShardIterator *string

	//  The maximum number of records to return in a single GetRecords request.
	// Default value is 1000. You can specify a limit between 1 and 1000, but the
	// actual number returned might be less than the specified maximum if the size of
	// the data for the returned records exceeds the internal size limit.
	MaxResults *int32
	// contains filtered or unexported fields
}

type GetRecordsOutput

type GetRecordsOutput struct {

	//  An array of change data records retrieved from the specified shard. Each
	// record represents a single data modification (insert, update, or delete) to a
	// row in the Amazon Keyspaces table. Records include the primary key columns and
	// information about what data was modified.
	ChangeRecords []types.Record

	//  The next position in the shard from which to start sequentially reading data
	// records. If null, the shard has been closed and the requested iterator doesn't
	// return any more data.
	NextShardIterator *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type GetShardIteratorInput

type GetShardIteratorInput struct {

	//  The identifier of the shard within the stream. The shard ID uniquely
	// identifies a subset of the stream's data records that you want to access.
	//
	// This member is required.
	ShardId *string

	//  Determines how the shard iterator is positioned. Must be one of the following:
	//
	//   - TRIM_HORIZON - Start reading at the last untrimmed record in the shard,
	//   which is the oldest data record in the shard.
	//
	//   - AT_SEQUENCE_NUMBER - Start reading exactly from the specified sequence
	//   number.
	//
	//   - AFTER_SEQUENCE_NUMBER - Start reading right after the specified sequence
	//   number.
	//
	//   - LATEST - Start reading just after the most recent record in the shard, so
	//   that you always read the most recent data.
	//
	// This member is required.
	ShardIteratorType types.ShardIteratorType

	//  The Amazon Resource Name (ARN) of the stream for which to get the shard
	// iterator. The ARN uniquely identifies the stream within Amazon Keyspaces.
	//
	// This member is required.
	StreamArn *string

	//  The sequence number of the data record in the shard from which to start
	// reading. Required if ShardIteratorType is AT_SEQUENCE_NUMBER or
	// AFTER_SEQUENCE_NUMBER . This parameter is ignored for other iterator types.
	SequenceNumber *string
	// contains filtered or unexported fields
}

type GetShardIteratorOutput

type GetShardIteratorOutput struct {

	//  The unique identifier for the shard iterator. This value is used in the
	// GetRecords operation to retrieve data records from the specified shard. Each
	// shard iterator expires 15 minutes after it is returned to the requester.
	ShardIterator *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type GetStreamAPIClient

type GetStreamAPIClient interface {
	GetStream(context.Context, *GetStreamInput, ...func(*Options)) (*GetStreamOutput, error)
}

GetStreamAPIClient is a client that implements the GetStream operation.

type GetStreamInput

type GetStreamInput struct {

	//  The Amazon Resource Name (ARN) of the stream for which detailed information is
	// requested. This uniquely identifies the specific stream you want to get
	// information about.
	//
	// This member is required.
	StreamArn *string

	//  The maximum number of shard objects to return in a single GetStream request.
	// Default value is 100. The minimum value is 1 and the maximum value is 100.
	MaxResults *int32

	//  An optional pagination token provided by a previous GetStream operation. If
	// this parameter is specified, the response includes only records beyond the
	// token, up to the value specified by maxResults .
	NextToken *string

	//  Optional filter criteria to apply when retrieving shards. You can filter
	// shards based on their state or other attributes to narrow down the results
	// returned by the GetStream operation.
	ShardFilter *types.ShardFilter
	// contains filtered or unexported fields
}

type GetStreamOutput

type GetStreamOutput struct {

	//  The date and time when the request to create this stream was issued. The value
	// is represented in ISO 8601 format.
	//
	// This member is required.
	CreationRequestDateTime *time.Time

	//  The name of the keyspace containing the table associated with this stream. The
	// keyspace name is part of the table's hierarchical identifier in Amazon
	// Keyspaces.
	//
	// This member is required.
	KeyspaceName *string

	//  The Amazon Resource Name (ARN) that uniquely identifies the stream within
	// Amazon Keyspaces. This ARN can be used in other API operations to reference this
	// specific stream.
	//
	// This member is required.
	StreamArn *string

	//  A timestamp that serves as a unique identifier for this stream, used for
	// debugging and monitoring purposes. The stream label represents the point in time
	// when the stream was created.
	//
	// This member is required.
	StreamLabel *string

	//  The current status of the stream. Values can be ENABLING , ENABLED , DISABLING
	// , or DISABLED . Operations on the stream depend on its current status.
	//
	// This member is required.
	StreamStatus types.StreamStatus

	//  The format of the data records in this stream. Currently, this can be one of
	// the following options:
	//
	//   - NEW_AND_OLD_IMAGES - both versions of the row, before and after the change.
	//   This is the default.
	//
	//   - NEW_IMAGE - the version of the row after the change.
	//
	//   - OLD_IMAGE - the version of the row before the change.
	//
	//   - KEYS_ONLY - the partition and clustering keys of the row that was changed.
	//
	// This member is required.
	StreamViewType types.StreamViewType

	//  The name of the table associated with this stream. The stream captures changes
	// to rows in this Amazon Keyspaces table.
	//
	// This member is required.
	TableName *string

	//  A pagination token that can be used in a subsequent GetStream request. This
	// token is returned if the response contains more shards than can be returned in a
	// single response.
	NextToken *string

	//  An array of shard objects associated with this stream. Each shard contains a
	// subset of the stream's data records and has its own unique identifier. The
	// collection of shards represents the complete stream data.
	Shards []types.Shard

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type GetStreamPaginator

type GetStreamPaginator struct {
	// contains filtered or unexported fields
}

GetStreamPaginator is a paginator for GetStream

func NewGetStreamPaginator

func NewGetStreamPaginator(client GetStreamAPIClient, params *GetStreamInput, optFns ...func(*GetStreamPaginatorOptions)) *GetStreamPaginator

NewGetStreamPaginator returns a new GetStreamPaginator

func (*GetStreamPaginator) HasMorePages

func (p *GetStreamPaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available

func (*GetStreamPaginator) NextPage

func (p *GetStreamPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*GetStreamOutput, error)

NextPage retrieves the next GetStream page.

type GetStreamPaginatorOptions

type GetStreamPaginatorOptions struct {
	//  The maximum number of shard objects to return in a single GetStream request.
	// Default value is 100. The minimum value is 1 and the maximum value is 100.
	Limit int32

	// Set to true if pagination should stop if the service returns a pagination token
	// that matches the most recent token provided to the service.
	StopOnDuplicateToken bool
}

GetStreamPaginatorOptions is the paginator options for GetStream

type HTTPClient

type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}

type HTTPSignerV4

type HTTPSignerV4 interface {
	SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error
}

type ListStreamsAPIClient

type ListStreamsAPIClient interface {
	ListStreams(context.Context, *ListStreamsInput, ...func(*Options)) (*ListStreamsOutput, error)
}

ListStreamsAPIClient is a client that implements the ListStreams operation.

type ListStreamsInput

type ListStreamsInput struct {

	//  The name of the keyspace for which to list streams. If specified, only streams
	// associated with tables in this keyspace are returned. If omitted, streams from
	// all keyspaces are included in the results.
	KeyspaceName *string

	//  The maximum number of streams to return in a single ListStreams request.
	// Default value is 100. The minimum value is 1 and the maximum value is 100.
	MaxResults *int32

	//  An optional pagination token provided by a previous ListStreams operation. If
	// this parameter is specified, the response includes only records beyond the
	// token, up to the value specified by maxResults .
	NextToken *string

	//  The name of the table for which to list streams. Must be used together with
	// keyspaceName . If specified, only streams associated with this specific table
	// are returned.
	TableName *string
	// contains filtered or unexported fields
}

type ListStreamsOutput

type ListStreamsOutput struct {

	//  A pagination token that can be used in a subsequent ListStreams request. This
	// token is returned if the response contains more streams than can be returned in
	// a single response based on the MaxResults parameter.
	NextToken *string

	//  An array of stream objects, each containing summary information about a stream
	// including its ARN, status, and associated table information. This list includes
	// all streams that match the request criteria.
	Streams []types.Stream

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
	// contains filtered or unexported fields
}

type ListStreamsPaginator

type ListStreamsPaginator struct {
	// contains filtered or unexported fields
}

ListStreamsPaginator is a paginator for ListStreams

func NewListStreamsPaginator

func NewListStreamsPaginator(client ListStreamsAPIClient, params *ListStreamsInput, optFns ...func(*ListStreamsPaginatorOptions)) *ListStreamsPaginator

NewListStreamsPaginator returns a new ListStreamsPaginator

func (*ListStreamsPaginator) HasMorePages

func (p *ListStreamsPaginator) HasMorePages() bool

HasMorePages returns a boolean indicating whether more pages are available

func (*ListStreamsPaginator) NextPage

func (p *ListStreamsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListStreamsOutput, error)

NextPage retrieves the next ListStreams page.

type ListStreamsPaginatorOptions

type ListStreamsPaginatorOptions struct {
	//  The maximum number of streams to return in a single ListStreams request.
	// Default value is 100. The minimum value is 1 and the maximum value is 100.
	Limit int32

	// Set to true if pagination should stop if the service returns a pagination token
	// that matches the most recent token provided to the service.
	StopOnDuplicateToken bool
}

ListStreamsPaginatorOptions is the paginator options for ListStreams

type Options

type Options struct {
	// Set of options to modify how an operation is invoked. These apply to all
	// operations invoked for this client. Use functional options on operation call to
	// modify this list for per operation behavior.
	APIOptions []func(*middleware.Stack) error

	// The optional application specific identifier appended to the User-Agent header.
	AppID string

	// This endpoint will be given as input to an EndpointResolverV2. It is used for
	// providing a custom base endpoint that is subject to modifications by the
	// processing EndpointResolverV2.
	BaseEndpoint *string

	// Configures the events that will be sent to the configured logger.
	ClientLogMode aws.ClientLogMode

	// The credentials object to use when signing requests.
	Credentials aws.CredentialsProvider

	// The configuration DefaultsMode that the SDK should use when constructing the
	// clients initial default settings.
	DefaultsMode aws.DefaultsMode

	// The endpoint options to be used when attempting to resolve an endpoint.
	EndpointOptions EndpointResolverOptions

	// The service endpoint resolver.
	//
	// Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
	// value for this field will likely prevent you from using any endpoint-related
	// service features released after the introduction of EndpointResolverV2 and
	// BaseEndpoint.
	//
	// To migrate an EndpointResolver implementation that uses a custom endpoint, set
	// the client option BaseEndpoint instead.
	EndpointResolver EndpointResolver

	// Resolves the endpoint used for a particular service operation. This should be
	// used over the deprecated EndpointResolver.
	EndpointResolverV2 EndpointResolverV2

	// Signature Version 4 (SigV4) Signer
	HTTPSignerV4 HTTPSignerV4

	// The logger writer interface to write logging messages to.
	Logger logging.Logger

	// The client meter provider.
	MeterProvider metrics.MeterProvider

	// The region to send requests to. (Required)
	Region string

	// RetryMaxAttempts specifies the maximum number attempts an API client will call
	// an operation that fails with a retryable error. A value of 0 is ignored, and
	// will not be used to configure the API client created default retryer, or modify
	// per operation call's retry max attempts.
	//
	// If specified in an operation call's functional options with a value that is
	// different than the constructed client's Options, the Client's Retryer will be
	// wrapped to use the operation's specific RetryMaxAttempts value.
	RetryMaxAttempts int

	// RetryMode specifies the retry mode the API client will be created with, if
	// Retryer option is not also specified.
	//
	// When creating a new API Clients this member will only be used if the Retryer
	// Options member is nil. This value will be ignored if Retryer is not nil.
	//
	// Currently does not support per operation call overrides, may in the future.
	RetryMode aws.RetryMode

	// Retryer guides how HTTP requests should be retried in case of recoverable
	// failures. When nil the API client will use a default retryer. The kind of
	// default retry created by the API client can be changed with the RetryMode
	// option.
	Retryer aws.Retryer

	// The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
	// to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
	// should not populate this structure programmatically, or rely on the values here
	// within your applications.
	RuntimeEnvironment aws.RuntimeEnvironment

	// The client tracer provider.
	TracerProvider tracing.TracerProvider

	// The HTTP client to invoke API calls with. Defaults to client's default HTTP
	// implementation if nil.
	HTTPClient HTTPClient

	// Client registry of operation interceptors.
	Interceptors smithyhttp.InterceptorRegistry

	// The auth scheme resolver which determines how to authenticate for each
	// operation.
	AuthSchemeResolver AuthSchemeResolver

	// The list of auth schemes supported by the client.
	AuthSchemes []smithyhttp.AuthScheme

	// Priority list of preferred auth scheme names (e.g. sigv4a).
	AuthSchemePreference []string
	// contains filtered or unexported fields
}

func (Options) Copy

func (o Options) Copy() Options

Copy creates a clone where the APIOptions list is deep copied.

func (Options) GetIdentityResolver

func (o Options) GetIdentityResolver(schemeID string) smithyauth.IdentityResolver

type ResolveEndpoint

type ResolveEndpoint struct {
	Resolver EndpointResolver
	Options  EndpointResolverOptions
}

func (*ResolveEndpoint) HandleSerialize

func (*ResolveEndpoint) ID

func (*ResolveEndpoint) ID() string

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL