Esempi di utilizzo di Amazon MSK con AWS CLI
Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con Amazon MSK.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Operazioni
L’esempio di codice seguente mostra come utilizzare create-cluster.
- AWS CLI
-
Come creare un cluster Amazon MSK
Nell’esempio seguente
create-clustercrea un cluster MSK denominatoMessagingClustercon tre nodi broker. Un file JSON denominatobrokernodegroupinfo.jsonspecifica le tre sottoreti su cui desideri che Amazon MSK distribuisca i nodi del broker. Questo esempio non specifica il livello di monitoraggio, quindi il cluster ottiene il livelloDEFAULT.aws kafka create-cluster \ --cluster-name"MessagingCluster"\ --broker-node-group-infofile://brokernodegroupinfo.json\ --kafka-version"2.2.1"\ --number-of-broker-nodes3Contenuto di
brokernodegroupinfo.json.{ "InstanceType": "kafka.m5.xlarge", "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-0123456789111abcd", "subnet-0123456789222abcd", "subnet-0123456789333abcd" ] }Output:
{ "ClusterArn": "arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "ClusterName": "MessagingCluster", "State": "CREATING" }Per ulteriori informazioni, consulta Crea un cluster Amazon MSK nello Streaming gestito da Amazon per Apache Kafka.
-
Per informazioni dettagliate sull’API, consulta CreateCluster
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-configuration.
- AWS CLI
-
Come creare una configurazione Amazon MSK personalizzata
Nell’esempio seguente
create-configurationcrea una configurazione MSK personalizzata con le proprietà del server specificate nel file di input.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-propertiesfile://configuration.txtContenuto di
configuration.txt.auto.create.topics.enable = true zookeeper.connection.timeout.ms = 2000 log.roll.ms = 604800000Questo comando non produce alcun output. Output:
{ "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" }Per ulteriori informazioni, consulta Operazioni di configurazione di Amazon MSK nella Guida per sviluppatori dello Streaming gestito da Amazon per Apache Kafka.
-
Per informazioni dettagliate sull’API, consulta CreateConfiguration
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-cluster.
- AWS CLI
-
Come descrivere un cluster
Nell’esempio seguente
describe-clusterdescrive un cluster Amazon MSK.aws kafka describe-cluster \ --cluster-arnarn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5Output:
{ "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" } }Per ulteriori informazioni, consulta Elencazione dei cluster Amazon MSK nella Guida per sviluppatori dello Streaming gestito da Amazon per Apache Kafka.
-
Per informazioni dettagliate sull’API, consulta DescribeCluster
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-bootstrap-brokers.
- AWS CLI
-
Come ottenere i broker bootstrap
Nell’esempio seguente
get-bootstrap-brokersrecupera le informazioni del broker di bootstrap per un cluster Amazon MSK.aws kafka get-bootstrap-brokers \ --cluster-arnarn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5Output:
{ "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" }Per ulteriori informazioni, consulta Ottenere i broker bootstrap nella Guida per sviluppatori dello Streaming gestito da Amazon per Apache Kafka.
-
Per informazioni dettagliate sull’API, consulta GetBootstrapBrokers
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-clusters.
- AWS CLI
-
Come elencare i cluster disponibili
Nell’esempio seguente
list-clusterselenca i cluster Amazon MSK presenti nel tuo account AWS.aws kafka list-clustersOutput:
{ "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" } ] }Per ulteriori informazioni, consulta Elencazione dei cluster Amazon MSK nella Guida per sviluppatori dello Streaming gestito da Amazon per Apache Kafka.
-
Per informazioni dettagliate sull’API, consulta ListClusters
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-broker-storage.
- AWS CLI
-
Come aggiornare lo storage EBS per i broker
Nell’esempio seguente
update-broker-storageaggiorna la quantità di storage EBS per tutti i broker del cluster. Amazon MSK imposta la quantità di storage di destinazione per ogni broker sulla quantità specificata nell’esempio. Puoi ottenere la versione corrente del cluster descrivendo il cluster o elencando tutti i cluster.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"L’output restituisce un ARN per questa operazione
update-broker-storage. Per determinare se l’operazione è completa, utilizza il comandodescribe-cluster-operationcon questo ARN come input.{ "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" }Per ulteriori informazioni, consulta Aggiornamento dello storage EBS for broker nella Guida per sviluppatori dello Streaming gestito da Amazon per Apache Kafka.
-
Per informazioni dettagliate sull’API, consulta UpdateBrokerStorage
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-cluster-configuration.
- AWS CLI
-
Come aggiornare la configurazione di un cluster Amazon MSK
Nell’esempio seguente
update-cluster-configurationaggiorna la configurazione del cluster MSK esistente specificato. Utilizza una configurazione MSK personalizzata.aws kafka update-cluster-configuration \ --cluster-arn"arn:aws:kafka:us-west-2:123456789012:cluster/MessagingCluster/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2"\ --configuration-infofile://configuration-info.json\ --current-version"K21V3IB1VIZYYH"Contenuto di
configuration-info.json.{ "Arn": "arn:aws:kafka:us-west-2:123456789012:configuration/CustomConfiguration/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE-2", "Revision": 1 }L’output restituisce un ARN per questa operazione
update-cluster-configuration. Per determinare se l’operazione è completa, utilizza il comandodescribe-cluster-operationcon questo ARN come input.{ "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" }Per ulteriori informazioni, consulta Update the Configuration of an Amazon MSK Cluster nella Guida per sviluppatori dello Streaming gestito da Amazon per Apache Kafka.
-
Per informazioni dettagliate sull’API, consulta UpdateClusterConfiguration
in AWS CLI Command Reference.
-