View a markdown version of this page

AWS Bibliotecas de Common Runtime (CRT) - AWS SDK y herramientas

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.

AWS Bibliotecas de Common Runtime (CRT)

Las bibliotecas AWS Common Runtime (CRT) son una biblioteca base de los SDK. El CRT es una familia modular de paquetes independientes, escrita en C. Cada paquete ofrece un buen rendimiento y ocupa un espacio mínimo para las diferentes funcionalidades requeridas. Estas funcionalidades son comunes y se comparten en todos los SDK, lo que proporciona una mejor reutilización, optimización y precisión del código. Los paquetes son:

  • awslabs/aws-c-auth: autenticación AWS del lado del cliente (proveedores de credenciales estándar y firma (sigv4))

  • awslabs/aws-c-cal: tipos primitivos criptográficos, hashes (MD5, SHA256, SHA256 HMAC), firmantes, AES

  • awslabs/aws-c-common: Estructuras de datos básicas, tipos threading/synchronization primitivos, gestión de búferes, funciones relacionadas con stdlib

  • awslabs/aws-c-compression: Algoritmos de compresión (Huffman) encoding/decoding

  • awslabs/aws-c-event-stream: procesamiento de mensajes de flujo de eventos (encabezados, preludio, carga útil crc/trailer), implementación de llamadas a procedimientos remotos (RPC) sobre flujos de eventos

  • awslabs/aws-c-http: Implementación C99 de las especificaciones y HTTP/1.1 HTTP/2

  • awslabs/aws-c-io: sockets (TCP, UDP), DNS, canalizaciones, bucles de eventos, canales, SSL/TLS

  • awslabs/aws-c-iot: Implementación C99 de la integración de servicios de AWS IoT en la nube con dispositivos

  • awslabs/aws-c-mqtt: protocolo de mensajería ligero y estándar para Internet de las cosas (IoT)

  • awslabs/aws-c-s3: implementación de la biblioteca C99 para comunicarse con el servicio Amazon S3, diseñada para maximizar el rendimiento en las instancias Amazon EC2 de gran ancho de banda

  • awslabs/aws-c-sdkutils: Una biblioteca de utilidades para analizar y administrar perfiles AWS

  • awslabs/aws-checksums: CRC32c y CRC32 Cross-platform acelerados por hardware con la alternativa de implementar software de forma eficiente

  • awslabs/aws-lc: biblioteca General-purpose criptográfica mantenida por el equipo de AWS criptografía para AWS y sus clientes, basada en el código del proyecto Google BoringSSL y el proyecto OpenSSL

  • awslabs/s2n: Implementación C99 de los TLS/SSL protocolos, diseñada para ser pequeña y rápida, con la seguridad como prioridad

El CRT está disponible en todos los SDK excepto en Go and Rust.

Dependencias de CRT

Las bibliotecas CRT forman una red compleja de relaciones y dependencias. Conocer estas relaciones es útil si necesita crear el CRT directamente desde la fuente. Sin embargo, la mayoría de los usuarios acceden a la funcionalidad CRT a través del SDK de su idioma (como el AWS SDK para C++ o el AWS SDK para Java) o el SDK para dispositivos IoT de su idioma (como el SDK de AWS IoT para C++ o el SDK de AWS IoT para Java). En el siguiente diagrama, el recuadro de enlaces CRT de idiomas hace referencia al paquete que contiene las bibliotecas CRT de un SDK de lenguaje específico. Se trata de una colección de paquetes con este formato aws-crt-*, donde “*” es un lenguaje del SDK (como aws-crt-cpp o aws-crt-java).

La siguiente es una ilustración de las dependencias jerárquicas de las bibliotecas CRT.

Diagrama de dependencias de CRT que muestra cómo las bibliotecas CRT individuales se interrelacionan entre sí.