AWS 공통 런타임(CRT) 라이브러리 - AWS SDKs 및 도구

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS 공통 런타임(CRT) 라이브러리

AWS 공통 런타임(CRT) 라이브러리는 의 기본 라이브러리입니다SDKs. CRT 는 C로 작성된 독립 패키지의 모듈식 제품군입니다. 각 패키지는 다양한 필수 기능에 대해 우수한 성능과 최소한의 공간을 제공합니다. 이러한 기능은 공통적이며 모든 기능에서 공유SDKs되므로 코드 재사용, 최적화 및 정확도가 향상됩니다. 패키지는 다음과 같습니다.

  • awslabs/aws-c-auth: AWS 클라이언트 측 인증(표준 자격 증명 공급자 및 서명(sigv4))

  • awslabs/aws-c-cal: 암호화 기본 유형, 해시(MD5, SHA256, SHA256 HMAC), 서명자, AES

  • awslabs/aws-c-common: 기본 데이터 구조, 스레딩/동기화 프리미티브 유형, 버퍼 관리, stdlib 관련 함수

  • awslabs/aws-c-compression: 압축 알고리즘 (허프만 인코딩/디코딩)

  • awslabs/aws-c-event-stream: 이벤트 스트림 메시지 처리(헤더, 프리루드, 페이로드, crc/트레일러), 이벤트 스트림을 통한 원격 프로시저 호출(RPC) 구현

  • awslabs/aws-c-http: HTTP/1.1 및 HTTP/2 사양의 C99 구현

  • awslabs/aws-c-io: 소켓(TCP, UDP), DNS, 파이프, 이벤트 루프, 채널, SSL/TLS

  • awslabs/aws-c-iot: AWS IoT 클라우드 서비스와 디바이스 통합의 C99 구현

  • awslabs/aws-c-mqtt: 사물 인터넷 (IoT)을 위한 간단한 표준 메시징 프로토콜

  • awslabs/aws-c-s3: Amazon S3 서비스와 통신하기 위한 C99 라이브러리 구현으로, 고대역폭 Amazon EC2 인스턴스의 처리량을 극대화하도록 설계되었습니다.

  • awslabs/aws-c-sdkutils: AWS 프로필 구문 분석 및 관리를 위한 유틸리티 라이브러리

  • awslabs/aws-checksums: 플랫폼 간 하드웨어 가속화 CRC32c 및 효율적인 소프트웨어 구현으로 CRC32 대체

  • awslabs/aws-lc: Google BoringSSL 프로젝트 및 OpenSSL 프로젝트의 코드를 기반으로 AWS 및 해당 고객을 위해 AWS 암호화 팀이 유지 관리하는 범용 암호화 라이브러리

  • awslabs/s2n: 보안을 우선으로 하여 작고 빠르게 설계된 TLS/SSL 프로토콜의 C99 구현

CRT 는 Go 및 Rust를 SDKs 제외한 모든 를 통해 사용할 수 있습니다.

CRT 종속성

CRT 라이브러리는 관계 및 종속성의 복잡한 네트워크를 형성합니다. 이러한 관계를 알고 있으면 소스에서 CRT 직접 를 빌드해야 하는 경우 유용합니다. 그러나 대부분의 사용자는 언어SDK(예 AWS SDK: C++ 또는 AWS SDK Java용) 또는 언어 IoT 디바이스SDK(예: C++SDK용 AWS IoT 또는 JavaSDK용 AWS IoT)를 통해 CRT 기능에 액세스합니다. 다음 다이어그램에서 언어 CRT 바인딩 상자는 특정 언어 에 대한 CRT 라이브러리를 래핑하는 패키지를 나타냅니다SDK. 이는 양식의 패키지 모음으로aws-crt-*, 여기서 '*'는 SDK 언어(예: aws-crt-cpp 또는 )입니다aws-crt-java.

다음은 CRT 라이브러리의 계층적 종속성을 보여주는 그림입니다.

CRT 개별 CRT 라이브러리가 서로 상호 연결되는 방식을 보여주는 종속성 다이어그램입니다.