Why Azure Blob Storage?
Azure Blob Storage is a highly scalable object storage solution from Microsoft Azure that enables you to store vast amounts of unstructured data from any location worldwide. It is tailored to facilitate cloud computing for developers and IT professionals by offering a comprehensive RESTful API, which allows for the efficient storage and retrieval of large data sets at any time, from anywhere across the globe. Our SAP connector for Azure Blob Storage presents a streamlined and adaptable solution for integrating SAP data directly into Azure Blob Storage. This connector stands out for its agility and flexibility, allowing enterprises to effortlessly manage their SAP data within Azure’s robust cloud storage environment, optimizing data accessibility and operational efficiency.
Unfortunately, you cannot copy your extracted results directly to Azure Blob Storage. Therefore, you need to use CLI, Python, or R interfaces to copy the final database or parquet file to your cloud storage.
Command Line Interface (CLI)
Start DuckDB & install and load the ERPL extension
The following examples are executed in the CLI, but are easily replicatable in any other language that supports DuckDB. Let’s start. First, we need to start DuckDB from CLI using the --unsigned
flag.
--unsigned duckdb
Install and load the RFC extension and set the SAP login parameters:
SET custom_extension_repository = 'http://get.erpl.io';
FORCE INSTALL erpl;
LOAD erpl;
SET sap_ashost = 'localhost';
SET sap_sysnr = '00';
SET sap_user = 'DEVELOPER';
SET sap_password = 'ABAPtr1909';
SET sap_client = '001';
SET sap_lang = 'EN';
Query your SAP Database using RFC and Copy Data to Azure Blob Storage
Create the query for data you want to replicate to Azure Blob Storage. In this example we will use RFC for extracting data to DuckDB. Have a look at ODP or BW help pages on how to create ODP and BICS queries.
COPY (SELECT * FROM sap_rfc_invoke('BAPI_FLIGHT_GETLIST', path='/FLIGHT_LIST')) TO sflight.parquet
Now, you may use any tool to copy the generated file to your storage using your tool of choice.
storage blob upload --account-name <YourStorageAccountName> --container-name <YourContainerName> --name <BlobName> --file sflight.parquet --auth-mode login az