View a markdown version of this page

Creación de un canal - Transmisión administrada de Amazon para Apache Kafka

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de un canal

Uso de AWS Consola de administración

  1. Abra la consola de Amazon MSK en? https://console.aws.amazon.com/msk/home region=us-east-1#/home/.

  2. En el panel de navegación, seleccione Clusters (Clústeres).

  3. Elija el nombre de su clúster aprovisionado de Amazon MSK con los agentes de Express.

  4. Seleccione la pestaña Canal y, a continuación, elija Crear canal.

  5. En el paso de configuración de la fuente:

    • Nombre del canal: introduzca el nombre del canal que desea crear.

    • Tema: selecciona un tema existente. Crea un tema nuevo si aún no existe.

  6. Continúe con el paso de configuración del destino.

  7. En Tipo de destino, seleccione la entrega de datos al S3 de uso general.

    • Selecciona el formato de registro (JSON, matriz de bytes o cadena).

    • En Configuración de destino:

      • Selecciona Cuenta corriente o Cuenta cruzada. Si seleccionaste la cuenta cruzada, es posible que tengas que introducir un identificador de cuenta adicional.

      • Selecciona o introduce un URI de bucket de S3 para el bucket de entrega.

      • Introduzca un prefijo de bucket de S3 opcional y una plantilla de clave de salida.

      • Elige la clase de almacenamiento y el tipo de compresión (NONE, GZIP o ZSTD).

    • Establezca la actualización de los datos (de 5 a 15 minutos).

  8. Continúe con el paso de configuración adicional.

  9. En Configuración de cifrado, si lo desea, seleccione una clave gestionada por el cliente para personalizar la configuración de cifrado.

  10. En Acceso al servicio, selecciona o crea un rol de IAM con los permisos necesarios.

  11. En Dead-letter cola, selecciona Cuenta actual o Cuenta cruzada y especifica el URI del bucket de S3 para los registros no procesables. Si lo desea, introduzca un prefijo de salida de error. Si se seleccionó la cuenta cruzada, es posible que tengas que introducir un identificador de cuenta adicional.

  12. (Opcional) En Entrega de registros, selecciona un grupo de CloudWatch registros de Amazon, un bucket de Amazon S3 o una transmisión de Amazon Data Firehose para enviar los registros para su supervisión y resolución de problemas.

  13. (Opcional) Agregue etiquetas.

  14. Continúe con el paso de revisión.

  15. Revisa y elige Crear canal.

El canal pasa al estado de creación y pasa a estar activo una vez que la canalización de entrega esté completamente aprovisionada.

Uso de AWS CLI

El tema de origen se establece en TopicConfigurationList (exactamente un tema). El destino se establece en IcebergDestinationConfiguration o S3DestinationConfiguration (excluyentes entre sí) y cada configuración de destino contiene la suya propia ServiceExecutionRoleArn DataFreshnessInSeconds (300—900, por defecto 600) y. DeadLetterQueueS3

Para crear un canal con un destino de bucket de uso general de Amazon S3, utilice el siguiente 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" } }'

En el caso de los cubos de uso general de Amazon S3, RecordConverter.ValueConverter puede ser JSONBYTE_ARRAY, o STRING (no se requiere un registro de esquema). EnStorage, CompressionType puede ser NONEGZIP, oZSTD, y StorageClass puede ser STANDARDINTELLIGENT_TIERING, oGLACIER_IR.

La respuesta es la misma para ambos destinos.

{ "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

Utilice el ClusterOperationArn para realizar un seguimiento del estado de la operación asincrónica y de cualquier mensaje de error. El canal comienza CREATING y pasa a ACTIVE cuando finaliza el aprovisionamiento.

Referencia de la API: consulte CreateChannel la referencia de la API de Amazon MSK.