In this blog, I'll introduce how to consume Azure Blob API via SAP Integration Suite.
This picture is what I explain in this blog.
Regarding 3 & 4, you can refer this tutorial, Connectivity to Non-SAP Applications using SAP Integration Suite .
Before send HTTP request, in general we have to confirm the information of HTTP method(Get/Post/Put, etc) and query parameters.
But on this page, we cannot find them.
So this time, I refer to API Docs of Open connecter, which I'm not sure that it matches with Azure Adapter.
Integration Suite > Capability > Extend Non-SAP Connectivity > Connector > Azure Blob
See API Docs > files Create a file.
We can now confirm we need following parameters.
Parameter Name | |
Authorization | header |
containerName | query |
path | query |
file | body |
There're several ways to authorize Azure resources.
For more information, please refer to the following link.
Authorize requests to Azure Storage
In this article, I explain the way to use "Shared Key".
But please note that Shared key authorization is not recommended.
Go to Monitor > Integrations and APIs > Manage Security > Security material.
Create secure parameter as instructed in this SAP note (3331283).
Regarding the connection between Azure Blob Storage and SAP Integration Suite, we can use predefined package.
In this article, I use the following adapter.
SAP Accelerator Hub > Azure Storage Adapter
In this article, I'll use "Azure Blob Storage, Upload Block Blob into the Container"
Integration Suite Home Screen > Discover Integrations > Search "Azure Adapter for SAP Integration Suite"
Press "Copy"
You can confirm the adapter was activated in Design > Integration and APIs
Choose Design > Integrations and APIs > Create to create an integration package.
Choose the Artifacts tab. Here you will create your first integration flow. Choose Add > Integration Flow.
Choose Edit to start editing the integration flow.
First, you have to set up query parameters that you send from API client.
Integration Flow > Runtime Configuration.
Allow query parameters that the API requires.
Connect "Sender" and "Start" by HTTPS as follows.
Addess | You can set API path as you like. |
CSRF Protected | off |
Connect end and Receiver by "Azure Storage Adapter" as follows.
On Connection Tab, Select shared key that you created previous step.
On Processing Tab, set parameter's as follows.
Parameter | Value |
Operation | Upload Block Blob |
Storage Account Name | Your Azure Blob storage account. |
Container Name | ${header.containername} |
Blob Path | ${header.path} |
The entire process is as follows.
If everything is OK, press "deploy"
Confirm that the endpoint URL is generated by following path, Monitor > Integration and API's > Manage Integration Content.
Open your Postman application.
Paste the copied endpoint in the request URL field and choose POST as the method.
Go to your SAP BTP subaccount. Copy the clientid and clientsecret from your service key.
For Authorization, choose Basic Auth. Paste the clientid and clientsecret as the username and password.
For Params, you can enter query parameters, "containerName" and "path" as follows.
For Body, upload a file from your local.
Click "Send" and confirm status code 200 is returned.
You can confirm the file is transferred to Azure Storage Container.
CPI: use Query parameters in external API call
Open Connectors - Query Parameters....using HTTP connectors
Connectivity to Non-SAP Applications using SAP Integration Suite
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
9 | |
9 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
5 |