Skip to Content
Technical Articles
Author's profile photo Abhishek Nath

SAP Content Agent service: Enhanced Transport experience for SAP API Management content in the Cloud Foundry environment

Overview

With SAP API Management, you can create simple digital experiences for your consumers, partners, and employees. SAP API Management lets you publish, promote, and oversee APIs in a secure and scalable environment.

The CF (Cloud Foundry) environment gives you the ability to subscribe to the API Management service, while you may choose a public infrastructure to run the API Management service, such as Amazon Web Services or Microsoft Azure.

Until now, the only way to transport SAP API management content artifacts between tenants in the CF environment was to manually export and import them. Now, with the help of the SAP Content Agent service, you can do this with much more convenience and efficiency.

Content Agent service is a Cloud Foundry-based utility service. It acts like an agent that allows you to assemble the API Management content and also export it to the transport queue using transport solutions like SAP Cloud Transport Management or the Enhanced Change and Transport System (CTS+). This is equivalent to the assembly and export functionality provided by Solution Lifecycle Management Service in the Neo Environment.

For a high-level view of what is happening take a look at the schematic below.

Content Agent service Schematic

SAP Content Agent Service has already been available for transporting SAP Cloud Integration content since August 2020. Check out my original Blog here.

In this blog, I will briefly show you how to set up the transport of SAP API Management content using the SAP Content Agent service, along with the SAP Cloud Transport Management service.

Setup

For the purpose of simplicity, I will take the example of setting up transports between two SAP API Management (API Portal) tenants, e.g. the development tenant (DEV) and the test tenant (QAS). This is what is currently supported by the service as well. To manage transports in a three-tenant landscape, you can use SAP Cloud Transport Management, using different combinations of transport routes.

What you will need(Prerequisites):

  1. Two separate SAP SAP API Management(API Portal) tenants, attached to separate CF subaccounts. Let’s call them DEV(source) and QAS(target). These subaccounts should also have their respective CF spaces created with adequate resources assigned in their quota plans. For more information on entitlements, see here. For more information on configuring Quota plans for spaces, see here.
  2. Subscription and admin access to the SAP Cloud Transport Management service.
  3. A sample API Management content artifact that you can use to transport between the two API Management (API Portal) tenants.

Setup Instructions:

Setting up this scenario is quite easy and similar to the SAP Cloud Integration content transport scenario that I set up and documented in another blog. Here are the detailed instructions for setting up this scenario.

Testing the Setup:

  1. In your source SAP API Management tenant, go to the ‘Develop’ view.
  2. Click the ‘Action’ icon in the row corresponding to the content your want to Transport or Export.
  3. Choose the ‘Transport’ option out of the available actions, and fill out the description for the transport in the pop-up that comes up.
  4. In case of success, you should get a message such as “The reference number for the transport request generated is <XXXXX>, TR ID: <XXXX>”
  5. In the SAP Cloud Transport Management web UI, go to the Import queue of the target node created in the setup process above. The transport request created in step 4 should be already added to this queue.
  6. Import this transport request into the target node.
  7. Go to the ‘Develop’ view of your target SAP API Management tenant. The content package exported from the source SAP API Management tenant should have been imported and should be available here.
  8. Similarly, you can try out transporting other types of API Management content like API Proxies, API Providers, Certificates, and Key-Value Maps. You may have to edit some security fields for contents imported into the target account. Check out how to do all that here.

Important points to note

  1. Please makes sure you have administrator access to the API Management(API Portal) service.
  2. The target CF subaccount should also have the requisite entitlements for the SAP API Management (API Portal) service plan so that the deployments to the target account can happen smoothly.

I hope this article was clear enough to help you set up the SAP Content Agent service, enhancing your transport experience for SAP API Management content in the CF environment.

Hope you enjoyed this article. If there are any questions, please let me know in the comments below.

Further information

 

What is SAP API Management?

For the latest on SAP Content Agent service, please look here.

Assigned Tags

      20 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Nan Wang
      Nan Wang

      Hi Abhishek,

      Thanks for great post. I have a further question for you. we need two separate subaccounts for this scenario, so, do these two subaccount could be from different global account or different DC? If not, if customer have more than one global account or DC, how they could handle this situation?

      Thanks.

      Author's profile photo Abhishek Nath
      Abhishek Nath
      Blog Post Author

      Hi Nan,

      Thanks for your comment and question. I am sure others would have similar questions as well.

      The transport can work across subaccounts present in different global accounts/DC as well, since the cTMS that is making the transport in the background only needs a destination in the source subaccount, to connect with the target subaccount.

      Thanks

      Abhi

      Author's profile photo Nan Wang
      Nan Wang

      Thanks

      Author's profile photo Geoff Beglau
      Geoff Beglau

      What roles do we need to set up the API Management, API Portal service key with in order to transport?

      Author's profile photo Abhishek Nath
      Abhishek Nath
      Blog Post Author

      Hi Geoff,

       

      Please look here: Link 

       

      Thanks

      Abhi

      Author's profile photo Gowtami G Rao
      Gowtami G Rao

      Hi Abhishek,

       

      Thanks for the blog!

       

      What role is required to get Transport option in Actions as you mentioned below?Because this details is not even present in SAP help portal

      1. Choose the ‘Transport’ option out of the available actions, and fill out the description for the transport in the pop-up that comes up.
      Author's profile photo Abhishek Nath
      Abhishek Nath
      Blog Post Author

      Hi Gowtami,

       

      Glad to know that you found the blog helpful.

      For transporting, you will need the role: APIPortalAdmin

       

      Hope this helps.

      Thanks

      Abhi

      Author's profile photo Oliver Zieger
      Oliver Zieger

      Hi Abhishek,

       

      is it also possible to use CTS+ within APIM? The official documentation of APIM only describes the setup of Cloud TMS.

       

      Greetings,

      Oliver

      Author's profile photo Stefan Jakobi
      Stefan Jakobi

      Hello Oliver,

      from what I learned from CTS+ development colleagues, it looks that for the time being it is not planning to enable CTS+ for APIM artifacts.

      Thanks and best regards

      Stefan Jakobi
      
      Product Manager at CLM

       

       

      Author's profile photo Mattias Johansson
      Mattias Johansson

      Thank you for a very informative blog

       

      I've run into a problem, when I try to transport a proxy I don't get a reference number, it simpy says

      The reference number for the transport request generated is .
      In the Transport workbench, you can search for "Z_OR_ACTIVITY_SRV - Test" in the destination node under Transport Description.
      However if I try to export for example a Provider I do get a reference number and it shows up in transport management. Do you have any idea why this happens?
      Regards
      Mattias
      Author's profile photo Stefan Jakobi
      Stefan Jakobi

      Hello Mattias,

      It looks like the transport of the API Proxy was not successful.

      Our development team would need to check the log files to find the reason for the error.

      In case of such a problem with Content Agent Service, please open an SAP support message on queue ‘BC-CP-LCM-CAS’. Like this, the colleagues can take a look at the system directly and analyze the log files. Also, the problem can, if necessary, quickly be distributed inside SAP to the responsible team to solve the issue.

      Thank you and best regards

      Stefan Jakobi
      
      Product Manager at CLM

       

      Author's profile photo Mattias Johansson
      Mattias Johansson

      Hello, late update after the Holidays. It fixed itself automatically, now it's working. Thank you again for your blog.

      Author's profile photo Marta Volart
      Marta Volart

      Hi Mattias, I have the same error, could you share with me your solution in order to resolve this error?

      Author's profile photo Mattias Johansson
      Mattias Johansson

      Hello,

      Sorry for the late reply. As I said in the reply above it fixed itself "by magic", we did not do anything, I don't know if SAP did a fix for something in the background.

      Regards

      Mattias

      Author's profile photo Mattias Johansson
      Mattias Johansson

      One more question while I'm at it. In the instructions you use Basic Authentication to connect to the destination subaccount.

      We have disabled the default idp, as we want everyone to SSO in with our corporate IDP using oauth.

       

      Is it possible to use oauth in the transport management scenario? I have tried creating a service key in the api-apiaccess instance in our destination subaccount, but I get a 400 error when trying to use the deployment service.

       

      Author's profile photo Stefan Jakobi
      Stefan Jakobi

      Hello Mattias,

      This looks like a TMS issue.

      In the Help portal you can find this description Create Transport Destinations - SAP Help Portal

      If the setup was done correctly and the error persists, again I would recommend to open an SAP support message to get immediate support.

      Thank you and best regards

      Stefan Jakobi
      
      Product Manager at CLM
      Author's profile photo Jonas Meyer
      Jonas Meyer

      Hi everyone, did anyone also try to set up API transports with SAP Integration Suite (API Management Capability)? - no standalone API Management!

      We are struggling with this, because the official documentation (and it makes sense) requests you to have an instance of API Portal, API Management in order to be able to generate the service key required in APIManagement destination...

      But we don't want / can't create the instance in the same subaccount as our SAP Integration Suite subscription runs.

      Any ideas or hints?

      Thank you all a lot
      Jonas

      Author's profile photo Stefan Jakobi
      Stefan Jakobi

      Hello Jonas,

      Within the next few days, Content Agent Service will be available with a new UI.

      With CAS and the new UI, you can:

      • Browse, select, import, and export content artifacts using the content agent service UI.
      • View list of content types which are available in the sub-account.
      • Export content with its dependencies and related content between sub-accounts.
      • View activities performed in the UI.

      And, you can also configure destinations from other sub-accounts and then use Content Agent Service UI to explore the content from different accounts, or use the same cTMS.

      If you face difficulties with Content Agent Service, please open an SAP ticket at the component BC-CP-LCM-CAS.

       

      Best Regards
      
      Stefan Jakobi
      
      Product Management @ CLM
      Author's profile photo Jonas Meyer
      Jonas Meyer

      Hi Stefan, that sounds great!

      How can we identify and make sure that the new version of Content Agent Service is available to us?
      We're in a CPEA, so entitlement shouldn't be a problem.

       

      Thank you very much
      Jonas

      Author's profile photo Stefan Jakobi
      Stefan Jakobi

      Hello Jonas,

      the new version is life since yesterday.

      Find all relevant information in the SAP Help Portal:

      https://help.sap.com/docs/CONTENT_AGENT_SERVICE/ae1a4f2d150d468d9ff56e13f9898e07/3d89b0ac589d49f5882259d6e6092418.html?version=Cloud

      Best Regards
      
      Stefan Jakobi
      
      Product Management @ CLM