View a markdown version of this page

Creare un canale - Amazon Managed Streaming per Apache Kafka

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creare un canale

Utilizzo di AWS Console di gestione

  1. Apri la console Amazon MSK all'indirizzo https://console.aws.amazon.com/msk/home? region=us-east-1#/home/.

  2. Nel pannello di navigazione scegliere Cluster.

  3. Scegli il nome del tuo cluster Amazon MSK Provisioned con i broker Express.

  4. Scegli la scheda Canale, quindi scegli Crea canale.

  5. Nella fase di configurazione del codice sorgente:

    • Nome del canale: inserisci il nome del canale da creare.

    • Argomento: seleziona un argomento esistente. Crea un nuovo argomento se non ne esiste ancora uno.

  6. Procedi alla fase di configurazione della destinazione.

  7. In Tipo di destinazione, seleziona la consegna dei dati a S3 per uso generico.

    • Seleziona il formato di registrazione (JSON, Byte array o String).

    • In Impostazioni di destinazione:

      • Seleziona Account corrente o Account trasversale. Se è stato selezionato Cross account, potrebbe essere necessario inserire un ID account aggiuntivo.

      • Seleziona o inserisci un URI del bucket S3 per il bucket di consegna.

      • Inserisci un prefisso per il bucket S3 opzionale e un modello di chiave di output.

      • Scegli la classe di archiviazione e il tipo di compressione (NONE, GZIP o ZSTD).

    • Imposta l'aggiornamento dei dati (5-15 minuti).

  8. Procedi alla fase di configurazione aggiuntiva.

  9. In Configurazione della crittografia, seleziona facoltativamente una chiave gestita dal cliente per personalizzare le impostazioni di crittografia.

  10. In Service Access, seleziona o crea un ruolo IAM con le autorizzazioni richieste.

  11. In Dead-letter coda, seleziona Account corrente o Account incrociato e specifica l'URI del bucket S3 per i record non elaborabili. Facoltativamente, inserisci un prefisso di output dell'errore. Se è stato selezionato Cross account, potrebbe essere necessario inserire un ID account aggiuntivo.

  12. (Facoltativo) In Log Delivery, seleziona un gruppo di CloudWatch log Amazon, un bucket Amazon S3 o uno stream Amazon Data Firehose per inviare i log per il monitoraggio e la risoluzione dei problemi.

  13. (Facoltativo) Aggiungi tag.

  14. Procedi alla fase di revisione.

  15. Rivedi e scegli Crea canale.

Il canale passa allo stato Creazione e passa ad Attivo una volta che la pipeline di distribuzione è stata completamente predisposta.

Utilizzo di AWS CLI

L'argomento di origine è impostato in TopicConfigurationList (esattamente un argomento). La destinazione è impostata in IcebergDestinationConfiguration o S3DestinationConfiguration (si escludono a vicenda) e ogni configurazione di destinazione contiene i propriServiceExecutionRoleArn, DataFreshnessInSeconds (300-900, impostazione predefinita 600) e. DeadLetterQueueS3

Per creare un canale con una destinazione bucket generica Amazon S3, utilizza il seguente comando.

aws kafka create-channel \ --cluster-arn "arn:aws:kafka:us-east-1:123456789012:cluster/my-express-cluster/abc123" \ --channel-name "orders-s3-channel" \ --topic-configuration-list '[ { "TopicArn": "arn:aws:kafka:us-east-1:123456789012:topic/my-express-cluster/abc123/orders-topic", "RecordConverter": { "ValueConverter": "JSON" } } ]' \ --s3-destination-configuration '{ "ServiceExecutionRoleArn": "arn:aws:iam::123456789012:role/MSKChannelRole", "DataFreshnessInSeconds": 300, "DeadLetterQueueS3": { "BucketArn": "arn:aws:s3:::my-dlq-bucket", "ErrorOutputPrefix": "dlq/" }, "Storage": { "BucketArn": "arn:aws:s3:::my-delivery-bucket", "OutputPrefix": "expresslink/", "OutputKeyTemplate": "!{channel-id}/!{topic-name}/year=!{yyyy}/month=!{MM}/day=!{dd}/hour=!{HH}/!{topic-name}+!{partition-id}+!{kafka-offset}", "StorageClass": "STANDARD", "CompressionType": "GZIP" } }'

Per i bucket generici di Amazon S3, RecordConverter.ValueConverter può essere JSONBYTE_ARRAY, o STRING (non è richiesto il registro degli schemi). InStorage, CompressionType può essereNONE,GZIP, oZSTD, e StorageClass può essere STANDARDINTELLIGENT_TIERING, o. GLACIER_IR

La risposta è la stessa per entrambe le destinazioni.

{ "ChannelArn": "arn:aws:kafka:us-east-1:123456789012:channel/my-express-cluster/abc123/orders-s3-channel", "ClusterOperationArn": "arn:aws:kafka:us-east-1:123456789012:cluster-operation/my-express-cluster/abc123/..." }
Nota

Usa il ClusterOperationArn per tenere traccia dello stato dell'operazione asincrona e di eventuali messaggi di errore. Il canale inizia CREATING e passa al termine del provisioning. ACTIVE

Riferimento API: consulta la sezione Amazon CreateChannel MSK API Reference.