用于C++的 Azure SDK 的核心概念

用于C++的 Azure SDK 提供了一组库,旨在帮助C++开发人员将 Azure 服务集成到其应用程序中。 本文探讨基础 SDK 的基本概念,包括数据和管理平面之间的区别、Azure Core 的角色、包命名约定、客户端对象和配置选项。 了解这些核心概念后,可以在C++应用程序中有效地使用 SDK。

数据平面与管理平面

用于C++的 Azure SDK 提供用于数据平面作的库,但不提供用于管理平面作的库。 数据平面库用于与已预配的 Azure 服务进行交互。 如果需要管理平面库来预配和管理 C++ 中的 Azure 资源,请在 GitHub 存储库上留下问题。

Azure Core 与其他库

Azure Core (azure-core) 库提供基于其他库构建的基本功能,以便为不同的 Azure 服务提供特定功能。 开发人员需要了解 Azure Core 的角色才能有效地使用 SDK。

主要的共享概念Azure::Core包括:

  • 处理 BodyStream 流数据和输入/输出(I/O)及其派生类型。
  • 通过 Response<T> 访问任何 SDK 客户端操作返回模型的 HTTP 响应详细信息。
  • 通过 Operation<T> 轮询长时间运行的作业(LROs)。
  • 通过基本异常类型RequestFailedException,以一致的方式报告服务请求中的错误异常。
  • Azure SDK 凭据 TokenCredential的抽象。
  • 可替换的 HTTP 传输层,用于通过网络发送请求和接收响应。
  • HTTP 管道和 HTTP 策略(例如重试和日志记录),可通过服务客户端特定的选项进行配置。

包命名方案

用于C++的 Azure SDK 使用一致的命名方案: azure-<group_name>-<service_name>-<sub_service_name> 每个名称都以 azure-组、服务和子服务(可选)开头。 例如, azure-security-keyvault-secrets 适用于 Azure Key Vault 机密。

客户端对象

用于C++的 Azure SDK 中的客户端对象用于与 Azure 服务交互。 每个客户端对象对应于特定的 Azure 服务,并提供对该服务执行作的方法。 例如, BlobClient 用于与 Azure Blob 存储进行交互。

客户端对象的选项参数

Azure SDK for C++中的客户端对象具有用于自定义与服务交互的选项参数的方法。 这些选项参数可用于设置超时、重试策略和其他配置等设置。