AWS Common Runtime (CRT) ライブラリ - AWS SDKsとツール

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Common Runtime (CRT) ライブラリ

AWS Common Runtime (CRT) ライブラリは SDK の基本ライブラリです。CRT は C で書かれた独立パッケージのモジュラーファミリーで、各パッケージはパフォーマンスが高く、必要なさまざまな機能にフットプリントを最小限に抑えます。これらの機能はすべての SDK に共通で共有しているため、コードの再利用、最適化、精度が向上します。パッケージは以下のとおりです。

  • 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: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:Google BoringSSL プロジェクトと OpenSSL プロジェクトのコードに基づいて、AWS とその顧客向けに AWS 暗号チームが管理している汎用暗号ライブラリ

  • awslabs/s2n:C99 による TLS/SSL プロトコルの 実装。セキュリティを優先して小型かつ高速に動作するように設計

CRT は Go を除くすべての SDK で使用できます。

CRT の依存関係

CRT ライブラリは複雑な関係と依存関係を形成しています。これらの関係を知っておくと、CRT をソースから直接構築する必要がある場合に役立ちます。ただし、ほとんどのユーザーは、自分の言語 SDK(C++ の場合は AWS SDK、Java の場合は AWS SDK など)または自分の言語の IoT デバイス SDK(C++ の場合は AWS IoT SDK、Java の場合は AWS IoT SDK など)を使用して CRT 機能にアクセスします。以下の図の「言語 CRT バインディング」ボックスは、特定の言語 SDK の CRT ライブラリをラップするパッケージを示しています。これは aws-crt-* 形式のパッケージの集まりで、「*」は SDK 言語(aws-crt-cppaws-crt-java など)です。

CRT ライブラリの階層的な依存関係を以下に示します。


                個々の CRT ライブラリが互いにどのように関連しているかを示す CRT 依存関係図。