2023/10/17 - Managed Streaming for Kafka - 5 new api methods
Changes AWS Managed Streaming for Kafka is launching MSK Replicator, a new feature that enables customers to reliably replicate data across Amazon MSK clusters in same or different AWS regions. You can now use SDK to create, list, describe, delete, update, and manage tags of MSK Replicators.
Creates the replicator.
See also: AWS API Documentation
Request Syntax
client.create_replicator( Description='string', KafkaClusters=[ { 'AmazonMskCluster': { 'MskClusterArn': 'string' }, 'VpcConfig': { 'SecurityGroupIds': [ 'string', ], 'SubnetIds': [ 'string', ] } }, ], ReplicationInfoList=[ { 'ConsumerGroupReplication': { 'ConsumerGroupsToExclude': [ 'string', ], 'ConsumerGroupsToReplicate': [ 'string', ], 'DetectAndCopyNewConsumerGroups': True|False, 'SynchroniseConsumerGroupOffsets': True|False }, 'SourceKafkaClusterArn': 'string', 'TargetCompressionType': 'NONE'|'GZIP'|'SNAPPY'|'LZ4'|'ZSTD', 'TargetKafkaClusterArn': 'string', 'TopicReplication': { 'CopyAccessControlListsForTopics': True|False, 'CopyTopicConfigurations': True|False, 'DetectAndCopyNewTopics': True|False, 'TopicsToExclude': [ 'string', ], 'TopicsToReplicate': [ 'string', ] } }, ], ReplicatorName='string', ServiceExecutionRoleArn='string', Tags={ 'string': 'string' } )
string
A summary description of the replicator.
list
[REQUIRED]
Kafka Clusters to use in setting up sources / targets for replication.
(dict) --
Information about Kafka Cluster to be used as source / target for replication.
AmazonMskCluster (dict) -- [REQUIRED]
Details of an Amazon MSK Cluster.
MskClusterArn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of an Amazon MSK cluster.
VpcConfig (dict) -- [REQUIRED]
Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.
SecurityGroupIds (list) --
The security groups to attach to the ENIs for the broker nodes.
(string) --
SubnetIds (list) -- [REQUIRED]
The list of subnets in the client VPC to connect to.
(string) --
list
[REQUIRED]
A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
(dict) --
Specifies configuration for replication between a source and target Kafka cluster.
ConsumerGroupReplication (dict) -- [REQUIRED]
Configuration relating to consumer group replication.
ConsumerGroupsToExclude (list) --
List of regular expression patterns indicating the consumer groups that should not be replicated.
(string) --
ConsumerGroupsToReplicate (list) -- [REQUIRED]
List of regular expression patterns indicating the consumer groups to copy.
(string) --
DetectAndCopyNewConsumerGroups (boolean) --
Enables synchronization of consumer groups to target cluster.
SynchroniseConsumerGroupOffsets (boolean) --
Enables synchronization of consumer group offsets to target cluster. The translated offsets will be written to topic __consumer_offsets.
SourceKafkaClusterArn (string) -- [REQUIRED]
The ARN of the source Kafka cluster.
TargetCompressionType (string) -- [REQUIRED]
The compression type to use when producing records to target cluster.
TargetKafkaClusterArn (string) -- [REQUIRED]
The ARN of the target Kafka cluster.
TopicReplication (dict) -- [REQUIRED]
Configuration relating to topic replication.
CopyAccessControlListsForTopics (boolean) --
Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
CopyTopicConfigurations (boolean) --
Whether to periodically configure remote topics to match their corresponding upstream topics.
DetectAndCopyNewTopics (boolean) --
Whether to periodically check for new topics and partitions.
TopicsToExclude (list) --
List of regular expression patterns indicating the topics that should not be replicated.
(string) --
TopicsToReplicate (list) -- [REQUIRED]
List of regular expression patterns indicating the topics to copy.
(string) --
string
[REQUIRED]
The name of the replicator. Alpha-numeric characters with '-' are allowed.
string
[REQUIRED]
The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters)
dict
List of tags to attach to created Replicator.
(string) --
(string) --
dict
Response Syntax
{ 'ReplicatorArn': 'string', 'ReplicatorName': 'string', 'ReplicatorState': 'RUNNING'|'CREATING'|'UPDATING'|'DELETING'|'FAILED' }
Response Structure
(dict) --
HTTP Status Code 200: OK.
ReplicatorArn (string) --
The Amazon Resource Name (ARN) of the replicator.
ReplicatorName (string) --
Name of the replicator provided by the customer.
ReplicatorState (string) --
State of the replicator.
Updates replication info of a replicator.
See also: AWS API Documentation
Request Syntax
client.update_replication_info( ConsumerGroupReplication={ 'ConsumerGroupsToExclude': [ 'string', ], 'ConsumerGroupsToReplicate': [ 'string', ], 'DetectAndCopyNewConsumerGroups': True|False, 'SynchroniseConsumerGroupOffsets': True|False }, CurrentVersion='string', ReplicatorArn='string', SourceKafkaClusterArn='string', TargetKafkaClusterArn='string', TopicReplication={ 'CopyAccessControlListsForTopics': True|False, 'CopyTopicConfigurations': True|False, 'DetectAndCopyNewTopics': True|False, 'TopicsToExclude': [ 'string', ], 'TopicsToReplicate': [ 'string', ] } )
dict
Updated consumer group replication information.
ConsumerGroupsToExclude (list) -- [REQUIRED]
List of regular expression patterns indicating the consumer groups that should not be replicated.
(string) --
ConsumerGroupsToReplicate (list) -- [REQUIRED]
List of regular expression patterns indicating the consumer groups to copy.
(string) --
DetectAndCopyNewConsumerGroups (boolean) -- [REQUIRED]
Enables synchronization of consumer groups to target cluster.
SynchroniseConsumerGroupOffsets (boolean) -- [REQUIRED]
Enables synchronization of consumer group offsets to target cluster. The translated offsets will be written to topic __consumer_offsets.
string
[REQUIRED]
Current replicator version.
string
[REQUIRED]
The Amazon Resource Name (ARN) of the replicator to be updated.
string
[REQUIRED]
The ARN of the source Kafka cluster.
string
[REQUIRED]
The ARN of the target Kafka cluster.
dict
Updated topic replication information.
CopyAccessControlListsForTopics (boolean) -- [REQUIRED]
Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
CopyTopicConfigurations (boolean) -- [REQUIRED]
Whether to periodically configure remote topics to match their corresponding upstream topics.
DetectAndCopyNewTopics (boolean) -- [REQUIRED]
Whether to periodically check for new topics and partitions.
TopicsToExclude (list) -- [REQUIRED]
List of regular expression patterns indicating the topics that should not be replicated.
(string) --
TopicsToReplicate (list) -- [REQUIRED]
List of regular expression patterns indicating the topics to copy.
(string) --
dict
Response Syntax
{ 'ReplicatorArn': 'string', 'ReplicatorState': 'RUNNING'|'CREATING'|'UPDATING'|'DELETING'|'FAILED' }
Response Structure
(dict) -- HTTP Status Code 200: OK.
ReplicatorArn (string) --
The Amazon Resource Name (ARN) of the replicator.
ReplicatorState (string) --
State of the replicator.
Describes a replicator.
See also: AWS API Documentation
Request Syntax
client.describe_replicator( ReplicatorArn='string' )
string
[REQUIRED]
The Amazon Resource Name (ARN) of the replicator to be described.
dict
Response Syntax
{ 'CreationTime': datetime(2015, 1, 1), 'CurrentVersion': 'string', 'IsReplicatorReference': True|False, 'KafkaClusters': [ { 'AmazonMskCluster': { 'MskClusterArn': 'string' }, 'KafkaClusterAlias': 'string', 'VpcConfig': { 'SecurityGroupIds': [ 'string', ], 'SubnetIds': [ 'string', ] } }, ], 'ReplicationInfoList': [ { 'ConsumerGroupReplication': { 'ConsumerGroupsToExclude': [ 'string', ], 'ConsumerGroupsToReplicate': [ 'string', ], 'DetectAndCopyNewConsumerGroups': True|False, 'SynchroniseConsumerGroupOffsets': True|False }, 'SourceKafkaClusterAlias': 'string', 'TargetCompressionType': 'NONE'|'GZIP'|'SNAPPY'|'LZ4'|'ZSTD', 'TargetKafkaClusterAlias': 'string', 'TopicReplication': { 'CopyAccessControlListsForTopics': True|False, 'CopyTopicConfigurations': True|False, 'DetectAndCopyNewTopics': True|False, 'TopicsToExclude': [ 'string', ], 'TopicsToReplicate': [ 'string', ] } }, ], 'ReplicatorArn': 'string', 'ReplicatorDescription': 'string', 'ReplicatorName': 'string', 'ReplicatorResourceArn': 'string', 'ReplicatorState': 'RUNNING'|'CREATING'|'UPDATING'|'DELETING'|'FAILED', 'ServiceExecutionRoleArn': 'string', 'StateInfo': { 'Code': 'string', 'Message': 'string' }, 'Tags': { 'string': 'string' } }
Response Structure
(dict) --
HTTP Status Code 200: OK.
CreationTime (datetime) --
The time when the replicator was created.
CurrentVersion (string) --
The current version number of the replicator.
IsReplicatorReference (boolean) --
Whether this resource is a replicator reference.
KafkaClusters (list) --
Kafka Clusters used in setting up sources / targets for replication.
(dict) --
Information about Kafka Cluster used as source / target for replication.
AmazonMskCluster (dict) --
Details of an Amazon MSK Cluster.
MskClusterArn (string) --
The Amazon Resource Name (ARN) of an Amazon MSK cluster.
KafkaClusterAlias (string) --
The alias of the Kafka cluster. Used to prefix names of replicated topics.
VpcConfig (dict) --
Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.
SecurityGroupIds (list) --
The security groups to attach to the ENIs for the broker nodes.
(string) --
SubnetIds (list) --
The list of subnets in the client VPC to connect to.
(string) --
ReplicationInfoList (list) --
A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
(dict) --
Specifies configuration for replication between a source and target Kafka cluster (sourceKafkaClusterAlias -> targetKafkaClusterAlias)
ConsumerGroupReplication (dict) --
Configuration relating to consumer group replication.
ConsumerGroupsToExclude (list) --
List of regular expression patterns indicating the consumer groups that should not be replicated.
(string) --
ConsumerGroupsToReplicate (list) --
List of regular expression patterns indicating the consumer groups to copy.
(string) --
DetectAndCopyNewConsumerGroups (boolean) --
Enables synchronization of consumer groups to target cluster.
SynchroniseConsumerGroupOffsets (boolean) --
Enables synchronization of consumer group offsets to target cluster. The translated offsets will be written to topic __consumer_offsets.
SourceKafkaClusterAlias (string) --
The alias of the source Kafka cluster.
TargetCompressionType (string) --
The compression type to use when producing records to target cluster.
TargetKafkaClusterAlias (string) --
The alias of the target Kafka cluster.
TopicReplication (dict) --
Configuration relating to topic replication.
CopyAccessControlListsForTopics (boolean) --
Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
CopyTopicConfigurations (boolean) --
Whether to periodically configure remote topics to match their corresponding upstream topics.
DetectAndCopyNewTopics (boolean) --
Whether to periodically check for new topics and partitions.
TopicsToExclude (list) --
List of regular expression patterns indicating the topics that should not be replicated.
(string) --
TopicsToReplicate (list) --
List of regular expression patterns indicating the topics to copy.
(string) --
ReplicatorArn (string) --
The Amazon Resource Name (ARN) of the replicator.
ReplicatorDescription (string) --
The description of the replicator.
ReplicatorName (string) --
The name of the replicator.
ReplicatorResourceArn (string) --
The Amazon Resource Name (ARN) of the replicator resource in the region where the replicator was created.
ReplicatorState (string) --
State of the replicator.
ServiceExecutionRoleArn (string) --
The Amazon Resource Name (ARN) of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters)
StateInfo (dict) --
Details about the state of the replicator.
Code (string) -- Code that describes the current state of the replicator.
Message (string) -- Message that describes the state of the replicator.
Tags (dict) --
List of tags attached to the Replicator.
(string) --
(string) --
Deletes a replicator.
See also: AWS API Documentation
Request Syntax
client.delete_replicator( CurrentVersion='string', ReplicatorArn='string' )
string
The current version of the replicator.
string
[REQUIRED]
The Amazon Resource Name (ARN) of the replicator to be deleted.
dict
Response Syntax
{ 'ReplicatorArn': 'string', 'ReplicatorState': 'RUNNING'|'CREATING'|'UPDATING'|'DELETING'|'FAILED' }
Response Structure
(dict) -- HTTP Status Code 200: OK.
ReplicatorArn (string) --
The Amazon Resource Name (ARN) of the replicator.
ReplicatorState (string) --
The state of the replicator.
Lists the replicators.
See also: AWS API Documentation
Request Syntax
client.list_replicators( MaxResults=123, NextToken='string', ReplicatorNameFilter='string' )
integer
The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.
string
If the response of ListReplicators is truncated, it returns a NextToken in the response. This NextToken should be sent in the subsequent request to ListReplicators.
string
Returns replicators starting with given name.
dict
Response Syntax
{ 'NextToken': 'string', 'Replicators': [ { 'CreationTime': datetime(2015, 1, 1), 'CurrentVersion': 'string', 'IsReplicatorReference': True|False, 'KafkaClustersSummary': [ { 'AmazonMskCluster': { 'MskClusterArn': 'string' }, 'KafkaClusterAlias': 'string' }, ], 'ReplicationInfoSummaryList': [ { 'SourceKafkaClusterAlias': 'string', 'TargetKafkaClusterAlias': 'string' }, ], 'ReplicatorArn': 'string', 'ReplicatorName': 'string', 'ReplicatorResourceArn': 'string', 'ReplicatorState': 'RUNNING'|'CREATING'|'UPDATING'|'DELETING'|'FAILED' }, ] }
Response Structure
(dict) -- HTTP Status Code 200: OK.
NextToken (string) --
If the response of ListReplicators is truncated, it returns a NextToken in the response. This NextToken should be sent in the subsequent request to ListReplicators.
Replicators (list) --
List containing information of each of the replicators in the account.
(dict) --
Information about a replicator.
CreationTime (datetime) --
The time the replicator was created.
CurrentVersion (string) --
The current version of the replicator.
IsReplicatorReference (boolean) --
Whether this resource is a replicator reference.
KafkaClustersSummary (list) --
Kafka Clusters used in setting up sources / targets for replication.
(dict) --
Summarized information about Kafka Cluster used as source / target for replication.
AmazonMskCluster (dict) --
Details of an Amazon MSK Cluster.
MskClusterArn (string) --
The Amazon Resource Name (ARN) of an Amazon MSK cluster.
KafkaClusterAlias (string) --
The alias of the Kafka cluster. Used to prefix names of replicated topics.
ReplicationInfoSummaryList (list) --
A list of summarized information of replications between clusters.
(dict) --
Summarized information of replication between clusters.
SourceKafkaClusterAlias (string) --
The alias of the source Kafka cluster.
TargetKafkaClusterAlias (string) --
The alias of the target Kafka cluster.
ReplicatorArn (string) --
The Amazon Resource Name (ARN) of the replicator.
ReplicatorName (string) --
The name of the replicator.
ReplicatorResourceArn (string) --
The Amazon Resource Name (ARN) of the replicator resource in the region where the replicator was created.
ReplicatorState (string) --
State of the replicator.