ABAP Cloud SDK for Azure

ABAP Cloud SDK for Azure

| Divya Balakrishna |

ABAP Development


Episode #312

Introduction

In episode 312 of our SAP on Azure video podcast we talk about the ABAP Cloud SDK for Azure and what it means for developers building modern SAP extensions on ABAP Cloud.

Together with Goran Condric and our guest Divya Balakrishna, we look at why this new SDK was introduced, what has changed compared to the classic ABAP SDK approach, and how teams can reduce integration boilerplate while following cleaner credential and authentication patterns.

We also walk through a live blob-storage scenario to show how developers can get started quickly with the SDK, test real use cases, and share feedback that helps shape the roadmap.

Find all the links mentioned here: https://www.saponazurepodcast.de/episode312

Reach out to us for any feedback / questions:

#Microsoft #SAP #Azure #SAPonAzure #MSFabric #Data #PowerBI #Copilot

Summary created by AI

  • ABAP Cloud SDK Purpose And Architecture:
  • Holger and Divya explained how the new open-source ABAP Cloud SDK for Azure brings the established Azure integration approach to ABAP Cloud, reducing custom HTTP and authentication work through reusable service clients and shared runtime components.
    • Classic SDK Gap: Holger described the established ABAP SDK for Azure, its long history, and community contributions, including improvements to Entra ID integration. Divya explained that the classic SDK was designed for classic ABAP environments and could not serve ABAP Cloud systems, where developers otherwise had to build Azure REST integrations themselves.
    • SDK Architecture: Divya said the SDK handles HTTP transport and pipeline policies, authentication, retries, logging, URL and request construction, response handling, and typed exceptions. Service clients expose methods and ABAP types so developers can work with Azure operations without manually assembling HTTP requests or parsing raw responses.
    • Cloud Compatibility: The SDK is intended for ABAP Cloud environments, including SAP Business Technology Platform ABAP environment, and follows Azure SDK design principles. Divya noted that the concepts should be familiar to developers who have used Azure SDKs for languages such as Java or .NET.
    • Offline Testing: Clients accept an injectable mock HTTP transport, allowing developers to run unit tests with mock request and response data without a live Azure connection. Divya described this as a way to inspect expected interactions and test client behavior offline.
  • Authentication And Blob Access Security:
  • Divya outlined supported credential options and recommended short-lived User Delegation SAS for Azure Blob Storage, with Holger emphasizing that the SDK encapsulates the authentication work needed to connect to Azure services.
    • Credential Options: Divya described support for service-principal credentials, managed identities, user-assigned identities, and environment-based credentials. The environment option can read a client ID and secret from a configured source such as a table, with credentials protected rather than embedded in application code; the SDK also manages valid tokens and authentication errors.
    • User Delegation SAS: For Blob access, Divya recommended using an Entra ID identity to create a User Delegation SAS with limited permissions and a short expiry. This makes access traceable to the identity and avoids relying on a long-lived SAS or account key. Ordinary SAS tokens and Shared Key remain supported but were not recommended as the preferred approach.
    • Demo Authentication Flow: In the live example, Divya used an environment credential that retrieved a client ID and secret from a configuration table, created a credential object, and used it to create a User Delegation Key and SAS. The resulting blob client was configured with the container, permissions, start time, and expiry before performing operations.
  • Initial Services And Getting Started:
  • Divya presented the first release’s Blob Storage, Compute, and Resource Graph clients, explained the required ABAP Cloud and Azure setup, and described importing the SDK and demo packages with abapGit.
    • Supported Clients: The initial release includes three clients: Storage Blob, Compute, and Resource Graph. Divya said the client methods and fields are based on Azure’s official specifications; the Blob client supports blob operations, while Compute covers Azure compute resources and Resource Graph supports resource queries.
    • Prerequisites: Getting started requires an SAP Business Technology Platform ABAP environment or another suitable ABAP Cloud system, a user account with access to that system, and Microsoft Entra ID credentials with appropriate access to Azure resources. Holger noted that trial environments are available, while many customers will already have SAP and Azure environments.
    • Installation And Demos: Divya said developers can clone and import the repository using abapGit. The demo package contains console applications for the service clients; after replacing credential, subscription, and other configuration placeholders, developers can run them with F9 to explore the SDK.
  • Blob Storage Demonstration:
  • Divya demonstrated the Blob client by listing files in a container, downloading and overwriting a text file, and uploading a new PDF, illustrating the document exchange scenario Holger described for ABAP applications.
    • Blob Client Setup: Divya showed a console-class example configured with the Azure storage account and target container. The code created a blob client after setting the authentication credential and SAS permissions, then used client methods for listing, downloading, and uploading blobs.
    • Download And Overwrite: The demo listed four existing blobs and downloaded a text file to display its original content. Divya then uploaded replacement text to the same blob and downloaded it again, confirming that the content had been overwritten.
    • PDF Upload: Divya also created and uploaded a new PDF file to the container. The Azure portal view confirmed the new file was present alongside the existing blobs.
    • Customer Use Case: Holger connected the demonstration to a common integration pattern in which files such as XML documents are placed in shared storage and then retrieved and processed by an ABAP application. The SDK’s client methods support listing, fetching, updating, and creating those files.
  • Community Feedback And Roadmap:
  • Holger invited customers, developers, and partners to try the newly available project on GitHub and submit issues or contributions, while Divya said community feedback and requested services would help shape the SDK’s roadmap.
    • Feedback Channels: Holger said the SDK is an early-stage project available on GitHub and encouraged users to install it with abapGit, test it, and report bugs or feature requests through GitHub issues. Contributors can also submit pull requests.
    • Roadmap Input: Divya said feedback and real integration requirements would guide improvements and decisions about which additional Azure service clients to add. The first release is intentionally limited to three clients so the team can gather early usage feedback.