Exemplos do Amazon MSK usando a AWS CLI - AWS Command Line Interface

Esta documentação é somente para a versão 1 da AWS CLI. Para obter a documentação relacionada à AWS CLI versão 2, consulte o Guia do usuário da versão 2.

Exemplos do Amazon MSK usando a AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o Amazon MSK.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar create-cluster.

AWS CLI

Para criar um cluster do Amazon MSK

O exemplo create-cluster a seguir cria um cluster MSK chamado MessagingCluster com três nós de agente. Um arquivo JSON chamado brokernodegroupinfo.json especifica as três sub-redes nas quais o Amazon MSK deverá distribua os nós do agente. Este exemplo não especifica o nível de monitoramento. Portanto, o cluster obtém o nível DEFAULT.

aws kafka create-cluster \ --cluster-name "MessagingCluster" \ --broker-node-group-info file://brokernodegroupinfo.json \ --kafka-version "2.2.1" \ --number-of-broker-nodes 3

Conteúdo de brokernodegroupinfo.json:

{ "InstanceType": "kafka.m5.xlarge", "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-0123456789111abcd", "subnet-0123456789222abcd", "subnet-0123456789333abcd" ] }

Saída:

{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterName": "MessagingCluster", "State": "CREATING" }

Para obter mais informações, consulte Criar um cluster no Amazon MSK no Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka.

  • Para ver detalhes da API, consulte CreateCluster em AWS CLI Command Reference.

O código de exemplo a seguir mostra como usar create-configuration.

AWS CLI

Para excluir uma configuração personalizada do Amazon MSK

O exemplo create-configuration a seguir cria uma configuração MSK personalizada com as propriedades do servidor especificadas no arquivo de entrada.

aws kafka create-configuration \ --name "CustomConfiguration" \ --description "Topic autocreation enabled; Apache ZooKeeper timeout 2000 ms; Log rolling 604800000 ms." \ --kafka-versions "2.2.1" \ --server-properties file://configuration.txt

Conteúdo de configuration.txt:

auto.create.topics.enable = true zookeeper.connection.timeout.ms = 2000 log.roll.ms = 604800000

Este comando não produz saída. Saída:

{ "Arn": "arn:aws:kafka:us-west-2:123456789012:configuration/CustomConfiguration/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "CreationTime": "2019-10-09T15:26:05.548Z", "LatestRevision": { "CreationTime": "2019-10-09T15:26:05.548Z", "Description": "Topic autocreation enabled; Apache ZooKeeper timeout 2000 ms; Log rolling 604800000 ms.", "Revision": 1 }, "Name": "CustomConfiguration" }

Para obter mais informações, consulte Operações de configuração do Amazon MSK no Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka.

  • Para ver detalhes da API, consulte CreateConfiguration na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar describe-cluster.

AWS CLI

Para descrever um cluster

O exemplo describe-cluster a seguir descreve um cluster do Amazon MSK.

aws kafka describe-cluster \ --cluster-arn arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5

Saída:

{ "ClusterInfo": { "BrokerNodeGroupInfo": { "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-cbfff283", "subnet-6746046b" ], "InstanceType": "kafka.m5.large", "SecurityGroups": [ "sg-f839b688" ], "StorageInfo": { "EbsStorageInfo": { "VolumeSize": 100 } } }, "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5", "ClusterName": "demo-cluster-1", "CreationTime": "2020-07-09T02:31:36.223000+00:00", "CurrentBrokerSoftwareInfo": { "KafkaVersion": "2.2.1" }, "CurrentVersion": "K3AEGXETSR30VB", "EncryptionInfo": { "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/a7ca56d5-0768-4b64-a670-339a9fbef81c" }, "EncryptionInTransit": { "ClientBroker": "TLS_PLAINTEXT", "InCluster": true } }, "EnhancedMonitoring": "DEFAULT", "OpenMonitoring": { "Prometheus": { "JmxExporter": { "EnabledInBroker": false }, "NodeExporter": { "EnabledInBroker": false } } }, "NumberOfBrokerNodes": 2, "State": "ACTIVE", "Tags": {}, "ZookeeperConnectString": "z-2.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181,z-1.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181,z-3.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181" } }

Para obter mais informações, consulte Listar clusters do Amazon MSK no Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka.

  • Para obter detalhes da API, consulte DescribeCluster na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-bootstrap-brokers.

AWS CLI

Para obter os agentes de bootstrap

O exemplo get-bootstrap-brokers a seguir recupera as informações do agente de bootstrap para um cluster do Amazon MSK.

aws kafka get-bootstrap-brokers \ --cluster-arn arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5

Saída:

{ "BootstrapBrokerString": "b-1.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:9092,b-2.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:9092", "BootstrapBrokerStringTls": "b-1.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:9094,b-2.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:9094" }

Para obter mais informações, consulte Obter os agentes de bootstrap no Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka.

  • Para ver detalhes da API, consulte GetBootstrapBrokers na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-clusters.

AWS CLI

Para listar os clusters disponíveis

O exemplo list-clusters a seguir lista todos clusters Amazon MSK em sua conta da AWS.

aws kafka list-clusters

Saída:

{ "ClusterInfoList": [ { "BrokerNodeGroupInfo": { "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-cbfff283", "subnet-6746046b" ], "InstanceType": "kafka.m5.large", "SecurityGroups": [ "sg-f839b688" ], "StorageInfo": { "EbsStorageInfo": { "VolumeSize": 100 } } }, "ClusterArn": "arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5", "ClusterName": "demo-cluster-1", "CreationTime": "2020-07-09T02:31:36.223000+00:00", "CurrentBrokerSoftwareInfo": { "KafkaVersion": "2.2.1" }, "CurrentVersion": "K3AEGXETSR30VB", "EncryptionInfo": { "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/a7ca56d5-0768-4b64-a670-339a9fbef81c" }, "EncryptionInTransit": { "ClientBroker": "TLS_PLAINTEXT", "InCluster": true } }, "EnhancedMonitoring": "DEFAULT", "OpenMonitoring": { "Prometheus": { "JmxExporter": { "EnabledInBroker": false }, "NodeExporter": { "EnabledInBroker": false } } }, "NumberOfBrokerNodes": 2, "State": "ACTIVE", "Tags": {}, "ZookeeperConnectString": "z-2.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181,z-1.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181,z-3.demo-cluster-1.xuy0sb.c5.kafka.us-east-1.amazonaws.com:2181" } ] }

Para obter mais informações, consulte Listar clusters do Amazon MSK no Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka.

  • Para obter detalhes da API, consulte ListClusters na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar update-broker-storage.

AWS CLI

Para atualizar o armazenamento do EBS dos agentes

O exemplo update-broker-storage a seguir atualiza a quantidade de armazenamento do EBS para todos os agentes no cluster. O Amazon MSK define o valor de armazenamento alvo para cada agente de acordo com o valor especificado no exemplo. A versão atual do cluster pode ser obtida descrevendo o cluster ou listando todos os clusters.

aws kafka update-broker-storage \ --cluster-arn "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2" \ --current-version "K21V3IB1VIZYYH" \ --target-broker-ebs-volume-info "KafkaBrokerNodeId=ALL,VolumeSizeGB=1100"

A saída retorna um ARN para essa operação update-broker-storage. Para determinar se essa operação foi concluída, use o comando describe-cluster-operation com esse ARN como entrada.

{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterOperationArn": "arn:aws:kafka:us-west-2:123456789012:cluster-operation/V123450123/a1b2c3d4-1234-abcd-cdef-22222EXAMPLE-2/a1b2c3d4-abcd-1234-bcde-33333EXAMPLE" }

Para obter mais informações, consulte Atualizar o armazenamento EBS par agentes no Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka.

  • Para ver detalhes da API, consulte UpdateBrokerStorage na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar update-cluster-configuration.

AWS CLI

Para atualizar a configuração de um cluster do Amazon MSK

O exemplo update-cluster-configuration a seguir atualiza a configuração do cluster MSK existente especificado. Ele usa uma configuração MSK personalizada.

aws kafka update-cluster-configuration \ --cluster-arn "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2" \ --configuration-info file://configuration-info.json \ --current-version "K21V3IB1VIZYYH"

Conteúdo de configuration-info.json:

{ "Arn": "arn:aws:kafka:us-west-2:123456789012:configuration/CustomConfiguration/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "Revision": 1 }

A saída retorna um ARN para essa operação update-cluster-configuration. Para determinar se essa operação foi concluída, use o comando describe-cluster-operation com esse ARN como entrada.

{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterOperationArn": "arn:aws:kafka:us-west-2:123456789012:cluster-operation/V123450123/a1b2c3d4-1234-abcd-cdef-22222EXAMPLE-2/a1b2c3d4-abcd-1234-bcde-33333EXAMPLE" }

Para obter mais informações, consulte Atualizar a configuração de um cluster do Amazon MSK no Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka.