Azure SDK for C++

repository·main·Indexed 42 days ago

https://github.com/azure/azure-sdk-for-cpp

A set of libraries for interacting with Azure cloud services, such as Blob Storage and Identity, using native C++ code.

Tokens
129.2K
Snippets
325
Records
488
Agent score
52%

What's inside Azure SDK for C++

  1. Overview of Azure Storage libraries for C++

    main

    The Azure Storage SDK for C++ provides client libraries to interact with various Microsoft-managed cloud storage services. Depending on your use case, you can use one or more of the following specialized libraries:

    • Azure.Storage.Blobs: Optimized for storing massive amounts of unstructured data (text, binary, etc.).
    • Azure.Storage.Queues: Used for storing and managing large numbers of messages (up to 64 KB per message).
    • Azure.Storage.Files.Shares: Provides fully managed file shares accessible via the SMB protocol, compatible with Windows, Linux, and macOS.
    • Azure.Storage.Files.DataLake: Designed for high-performance data processing and analytics across various platforms.
    • Azure.Storage.Common: Provides shared infrastructure used by the other libraries, including shared key authentication and exception handling.
  2. What is the Azure SDK AMQP Library for C++?

    main

    The Azure::Core::Amqp (azure-core-amqp) library is a specialized implementation designed to enable developers to build Azure SDKs that consume the AMQP protocol.

    Important Note: This is NOT a general-purpose AMQP library. It is intended solely for building Azure C++ SDK clients that communicate with Azure services over AMQP.

  3. Overview of Azure Attestation basic operation samples

    main

    The Azure Attestation client library for C++ provides several sample scenarios for testing basic and low-level operations:

    • CreateClient: Demonstrates how to create a standard AttestationClient.
    • CreateAdminClient: Demonstrates how to create an AttestationAdministrationClient, which is used for modifying attestation policies.
    • GetOpenIdMetadata: Retrieves OpenID metadata for a specific attestation service instance.
    • GetSigningCertificates: Retrieves the attestation signing certificates for an attestation instance.
  4. Overview of AMQP sample scenarios

    main

    The azure-core-amqp library provides several sample scenarios for interacting with Azure Event Hubs and local AMQP servers:

    Azure Event Hubs (SAS Authentication)

    • eventhub_sas_reader_sample: Reading messages using SAS authentication.
    • eventhub_sas_writer_sample: Writing messages using SAS authentication.

    Azure Event Hubs (Token Authentication)

    • eventhub_token_reader_sample: Reading messages using Azure bearer token authentication.
    • eventhub_token_writer_sample: Writing messages using Azure bearer token authentication.

    Azure Event Hubs (Management)

    • eventhub_get_eventhub_properties_sample: Receiving properties via an AMQP Management API.

    Local AMQP Server

    • local_client_sample: Sending messages to a local AMQP server.
    • local_client_async_sample: Sending messages to a local AMQP server using queued send operations.
    • local_server_sample: Receiving messages from a local AMQP server.
  5. Overview of Azure.Security.KeyVault.Certificates Samples

    main

    The azure-security-keyvault-certificates client library for C++ provides functionality to manage certificates within an Azure Key Vault. The available samples demonstrate the following core operations:

    • Certificate Lifecycle Management: Creating, getting, updating, and deleting certificates.
    • Retrieval: Getting existing certificates from the vault.
    • Importing: Importing certificates into the Key Vault.
  6. Common tasks with Azure Key Vault Secrets in C++

    main

    The azure-security-keyvault-secrets client library provides APIs to manage the lifecycle of secrets within an Azure Key Vault. Common operations include:

    • CRUD Operations: Creating, getting, updating, and deleting secrets.
    • Backup and Restore: Backing up a secret to a local file and restoring it to the vault.
    • Soft Delete and Recovery: Deleting a secret (which may enter a soft-delete state) and subsequently recovering it.
    • Secret Management: Listing or retrieving information about secrets that have been deleted.
  7. Available operations in Azure.Security.KeyVault.Keys samples

    main

    The azure-security-keyvault-keys client library provides samples for managing cryptographic keys in Azure Key Vault. The following operations are demonstrated in the sample code:

    • Key Lifecycle Management: Creating, getting, updating, and deleting keys.
    • Key Backup and Recovery: Backing up and restoring a key.
    • Discovery: Listing keys, key versions, and deleted keys.
    • Cryptographic Operations:
      • Encrypting and decrypting keys.
      • Signing and verifying keys.
      • Wrapping and unwrapping a key.
    • Key Maintenance: Rotating a key.
  8. Available Azure Data Tables samples for C++

    main

    The azure-data-tables client library provides samples for common operations involving Azure Data Tables. These samples demonstrate how to manage the lifecycle of tables and entities, as well as service-level operations.

    Table Operations:

    • Create, list, and delete tables.

    Entity Operations:

    • Create, merge, update, and delete entities.

    Service Operations:

    • List Tables.
    • Get Statistics for the service.
    • Get Access Policy for the service.

    Transaction Operations:

    • Submit Transactions (both success and failure scenarios).
  9. Use Azure Key Vault Client Libraries for C++

    main

    The Azure Key Vault Client Libraries for C++ enable applications to interact with Microsoft Azure Key Vault services. You can use these libraries to manage and access:

    • Keys: Cryptographic keys for encryption and decryption.
    • Certificates: X.509 certificates for identity and security.
    • Secrets: Sensitive information such as passwords, connection strings, or API keys.
  10. Customizations for Track 2 Generator in Azure Storage C++ Protocol Layer

    main

    The Azure Storage C++ Protocol Layer uses specific AutoRest transformations to customize the generated code from the Swagger/OpenAPI document. These transformations ensure the resulting C++ SDK adheres to specific naming conventions, removes unused parameters, handles API versioning, and structures return types correctly for the DataLake service.

    Key areas of customization include:

    • Cleaning the Swagger document: Removing generator warnings, unused query parameters (like Timeout or ClientRequestId), unused headers, and unused operations.
    • API Versioning: Explicitly defining and enforcing the ApiVersion (e.g., 2026-06-06).
    • Operation Renaming: Mapping REST operations to idiomatic C++ names (e.g., mapping Path_SetAccessControlList or File_Flush).
    • Type Refinement: Defining specific return types (e.g., AppendFileResult, FlushFileResult) and managing namespaces (often using _detail).
    • Data Model Adjustments: Renaming properties for clarity (e.g., contentLength to FileSize, creationTime to CreatedOn) and setting default values.