

Há mais exemplos de AWS SDK disponíveis no repositório [AWS Doc SDK Examples](https://github.com/awsdocs/aws-doc-sdk-examples) GitHub .

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Exemplos do Amazon MSK usando AWS CLI
<a name="cli_2_kafka_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o 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.

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

### `create-cluster`
<a name="kafka_CreateCluster_cli_2_topic"></a>

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](https://docs.aws.amazon.com/msk/latest/developerguide/msk-create-cluster.html) no *Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka*.  
+  Para obter detalhes da API, consulte [CreateCluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/create-cluster.html)em *Referência de AWS CLI Comandos*. 

### `create-configuration`
<a name="kafka_CreateConfiguration_cli_2_topic"></a>

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](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration-operations.html) no *Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka*.  
+  Para obter detalhes da API, consulte [CreateConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/create-configuration.html)em *Referência de AWS CLI Comandos*. 

### `describe-cluster`
<a name="kafka_DescribeCluster_cli_2_topic"></a>

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](https://docs.aws.amazon.com/msk/latest/developerguide/msk-list-clusters.html) no *Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka*.  
+  Para obter detalhes da API, consulte [DescribeCluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html)em *Referência de AWS CLI Comandos*. 

### `get-bootstrap-brokers`
<a name="kafka_GetBootstrapBrokers_cli_2_topic"></a>

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](https://docs.aws.amazon.com/msk/latest/developerguide/msk-get-bootstrap-brokers.html) no *Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka*.  
+  Para obter detalhes da API, consulte [GetBootstrapBrokers](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/get-bootstrap-brokers.html)em *Referência de AWS CLI Comandos*. 

### `list-clusters`
<a name="kafka_ListClusters_cli_2_topic"></a>

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

**AWS CLI**  
**Para listar os clusters disponíveis**  
O `list-clusters` exemplo a seguir lista os clusters do Amazon MSK em sua AWS conta.  

```
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](https://docs.aws.amazon.com/msk/latest/developerguide/msk-list-clusters.html) no *Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka*.  
+  Para obter detalhes da API, consulte [ListClusters](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/list-clusters.html)em *Referência de AWS CLI Comandos*. 

### `update-broker-storage`
<a name="kafka_UpdateBrokerStorage_cli_2_topic"></a>

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](https://docs.aws.amazon.com/msk/latest/developerguide/msk-update-storage.html) no *Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka*.  
+  Para obter detalhes da API, consulte [UpdateBrokerStorage](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/update-broker-storage.html)em *Referência de AWS CLI Comandos*. 

### `update-cluster-configuration`
<a name="kafka_UpdateClusterConfiguration_cli_2_topic"></a>

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](https://docs.aws.amazon.com/msk/latest/developerguide/msk-update-cluster-cofig.html) no *Guia do desenvolvedor do Amazon Managed Streaming for Apache Kafka*.  
+  Para obter detalhes da API, consulte [UpdateClusterConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/update-cluster-configuration.html)em *Referência de AWS CLI Comandos*. 