AWS 一般執行期 (CRT) 程式庫 - AWS SDKs 和 工具

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS 一般執行期 (CRT) 程式庫

AWS 通用執行期 (CRT) 程式庫是 的基礎程式庫SDKs。CRT 是以 C 編寫的獨立套件的模組化系列。每個套件都為不同的必要功能提供良好的效能和最小的佔用空間。這些功能是常見且跨所有功能共用的,SDKs可提供更好的程式碼重複使用、最佳化和準確性。這些套件包括:

  • awslabs/aws-c-auth: AWS 用戶端身分驗證 (標準憑證提供者和簽署 (sigv4))

  • awslabs/aws-c-cal:密碼編譯原始類型、雜湊 (MD5、SHA256、SHA256HMAC)、簽署者、 AES

  • awslabs/aws-c-common:基本資料結構、執行緒/同步原始類型、緩衝區管理、stdlib 相關函數

  • awslabs/aws-c-compression:壓縮演算法 (Huffman 編碼/解碼)

  • awslabs/aws-c-event-stream:事件串流訊息處理 (標頭、排除、承載、crc/追蹤器)、透過事件串流實作遠端程序呼叫 (RPC)

  • awslabs/aws-c-http:C99 實作 HTTP/1.1 和 HTTP/2 規格

  • awslabs/aws-c-io:通訊端 (TCP、UDP)、DNS、管道、事件迴路、頻道、SSL/TLS

  • awslabs/aws-c-iot:C99 實作 AWS IoT 雲端服務與 裝置整合

  • 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:密碼 AWS 編譯團隊為 AWS 及其客戶維護的一般用途密碼編譯程式庫,以 Google BoringSSL 專案和 OpenSSL 專案的程式碼為基礎

  • awslabs/s2n:C99 實作 TLS/SSL 通訊協定,設計為小型且快速,以安全性為優先

除了 Go 和 Rust SDKs之外,所有 CRT 都可以使用。

CRT 相依性

這些CRT程式庫形成複雜的關係和相依性網。如果您需要CRT直接從來源建置 ,了解這些關係會很有幫助。不過,大多數使用者透過其語言 SDK(例如 AWS SDK C++ 或 AWS SDK Java) 或語言 IoT 裝置 SDK(例如 AWS IoT++ SDK 的 IoT 或 Java SDK 的 AWS IoT) 存取CRT功能。在下圖中,語言CRT繫結方塊是指包裝特定語言CRT程式庫的套件SDK。這是表單 的套件集合aws-crt-*,其中 '*' 是SDK語言 (例如 aws-crt-cppaws-crt-java)。

以下是CRT程式庫的階層相依性圖示。

CRT 相依性圖表顯示個別CRT程式庫如何相互關聯。