Azure SDK for C++ には、C++ 開発者が Azure サービスをアプリケーションに統合できるように設計された一連のライブラリが用意されています。 この記事では、データプレーンと管理プレーンの違い、Azure Core のロール、パッケージの名前付け規則、クライアント オブジェクト、構成オプションなど、SDK を支える基本的な概念について説明します。 これらのコア概念を理解することで、C++ アプリケーションで SDK を効果的に使用できるようになります。
データ プレーンと管理プレーン
Azure SDK for C++ には、データ プレーン操作用のライブラリが用意されていますが、管理プレーン操作用のライブラリは用意されていません。 データ プレーン ライブラリは、既にプロビジョニングされている Azure サービスとの対話に使用されます。 C++ で Azure リソースをプロビジョニングおよび管理するために管理プレーン ライブラリが必要な場合は、 GitHub リポジトリに問題を残してください。
Azure Core と他のライブラリ
Azure Core (azure-core
) ライブラリには、さまざまな Azure サービスに固有の機能を提供するために、他のライブラリが基に構築する基本的な機能が用意されています。 開発者は、SDK を効果的に使用するために Azure Core の役割を理解する必要があります。
Azure::Core
の主な共有概念は次のとおりです。
-
BodyStream
を介したストリーミング データと入出力 (I/O) とその派生型の処理。 -
Response<T>
を介して、SDK クライアント操作の返されたモデルの HTTP 応答の詳細にアクセスする。 -
Operation<T>
を使用して実行時間の長い操作 (LLO) をポーリングする。 - 基本の例外の種類
RequestFailedException
を使用して、サービス要求からのエラーを一貫した方法で報告するための例外。 - Azure SDK 資格情報の抽象化
TokenCredential
。 - ネットワーク経由で要求を送信し、応答を受信するための置き換え可能な HTTP トランスポート層。
- 再試行やログ記録などの HTTP パイプラインと HTTP ポリシー。サービス クライアント固有のオプションを使用して構成できます。
パッケージの名前付けスキーム
Azure SDK for C++ では、一貫した名前付けスキーム ( azure-<group_name>-<service_name>-<sub_service_name>
) が使用されます。 各名前は azure-
で始まり、その後にグループ、サービス、および必要に応じてサブサービスが続きます。 たとえば、 azure-security-keyvault-secrets
は Azure Key Vault シークレット用です。
クライアント オブジェクト
Azure SDK for C++ のクライアント オブジェクトは、Azure サービスとの対話に使用されます。 各クライアント オブジェクトは、特定の Azure サービスに対応し、そのサービスに対して操作を実行するメソッドを提供します。 たとえば、 BlobClient
は Azure Blob Storage との対話に使用されます。
クライアント オブジェクトの Options パラメーター
Azure SDK for C++ のクライアント オブジェクトには、サービスとの対話をカスタマイズするためのオプション パラメーターを受け取るメソッドがあります。 これらのオプション パラメーターを使用して、タイムアウト、再試行ポリシー、その他の構成などを設定できます。