本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Common Runtime (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
:壓縮演算法 (Huffman 編碼/解碼) -
awslabs/aws-c-event-stream
:事件串流訊息處理 (標頭、排除、承載、crc/trailer)、透過事件串流進行遠端程序呼叫 (RPC) 實作 -
awslabs/aws-c-http
:HTTP/1.1 和 HTTP/2 規格的 C99 實作 -
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
:TLS/SSL 通訊協定的 C99 實作,設計為小型且快速,以安全性為優先
CRT 可透過 Go 和 Rust 以外的所有 SDKs 使用。
CRT 相依性
CRT 程式庫形成複雜的關係和相依性網。如果您需要直接從來源建置 CRT,了解這些關係會很有幫助。不過,大多數使用者會透過其語言 SDK (例如 AWS 適用於 C++ 的 SDK 或適用於 Java 的 AWS SDK) 或其語言 IoT 裝置 SDK (例如適用於 C++ 的 AWS IoT 開發套件或適用於 Java 的 AWS IoT 開發套件) 存取 CRT 功能。在下圖中,語言 CRT 繫結方塊是指包裝特定語言 SDK CRT 程式庫的套件。這是 形式的套件集合aws-crt-*
,其中 '*' 是 SDK 語言 (例如 aws-crt-cpp
aws-crt-java
以下是 CRT 程式庫的階層相依性圖示。
