Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

Can we use OAC REST API to Migration Catalog Item from one Instance to Another

Received Response
97
Views
8
Comments
mohammad-rafi-ansari-Accenture
mohammad-rafi-ansari-Accenture Rank 4 - Community Specialist

Hi Team,

I have a quick question. Is it possible to use the OAC REST API to migrate Catalog Objects from one OAC instance (Source) to another OAC instance (Target)? I understand that this can also be achieved using OBIEE SOAP APIs. However, I’d like to know which method would be more efficient for long-term use. Currently, OACS Data Sets, RPD files, and other components are not part of the OAC Catalog, so I’m considering which approach would be best for building a customized solution for migrating Catalog objects incrementally, or as needed, based on future requirements.

Thank you!

Tagged:

Answers

  • Ram-Oracle
    Ram-Oracle Rank 6 - Analytics Lead

    Hi Mohammad, Please follow oac documentation for migrating catalog items.The recommendation is to use rest api for oac instance as these are compatible with oac native product features.

    https://docs.oracle.com/en/cloud/paas/analytics-cloud/acapi/api-catalog.html

    Other suggestions are welcome

  • mohammad-rafi-ansari-Accenture
    mohammad-rafi-ansari-Accenture Rank 4 - Community Specialist

    Thank you, @Ram-Oracle.

    It's not entirely clear whether this REST API can be used to move objects—such as folders, workbooks, subject areas, analyses, dashboards, dashboard pages, and reports—across different OAC instances. Additionally, there are no examples available to guide us in using it effectively. Can someone from Oracle please provide more clarity or help us with this? We are working on automating the migration of objects from one OAC instance (Source) to another (Target), and I’m sure others in different locations are seeking the same solution. If I manage to find a working solution, I plan to write a blog post to share the approach and help others with automation.

    OAC REST API:

    Move a catalog item

    post

    /api/20210901/catalog/{type}/{id}/actions/move

    Move a catalog item with a given type and id to a specific folder. Use this API to move folders, workbooks, subject areas, analyses, dashboards, dashboard pages, and reports. You can't use the API to move connections, datasets, data flows, sequences, scripts, or semantic models.

  • Hi

    For migrating content from source to target, you need use the snapshot rest api. Ref: https://docs.oracle.com/en/cloud/paas/analytics-cloud/acapi/api-snapshots.html Using snapshots, you cannot do incremental updates nor select specific folder objects. This feature is currently not available. The Catalog REST API that you have referenced is for performing catalog operation within the same environment.

    If you wish to use the snapshot api and automate the content migration from source to target, you can refer to the following community post for sample script/detailed steps:

    Thanks

    Gayathri


  • Hi mohammad-rafi-ansari-Accenture

    To add, this resource should help you. It references a couple of different methods (web services and REST API)

    Scripted Incremental Migration of Catalog Objects in Oracle Analytics Including REST API for OAC (Doc ID 3027115.1)

  • Ram-Oracle
    Ram-Oracle Rank 6 - Analytics Lead

    Hi Mohammad,

    Please review below video and see if it helps

  • Federico Venturin
    Federico Venturin Rank 7 - Analytics Coach

    Hi @mohammad-rafi-ansari-Accenture ,

    AFAIK the OAC REST APIs do not allow yet to move catalog objects from a source environment to a target one.

    To migrate catalog objects (and have full control on which specific objects to migrate), you can use the archive/unarchive features, or the Catalog Manager command line interface (recommended if you need to automate the process through a script).

    To migrate the RPD, I usually use the datamodel downloadrpd/uploadrpd utilities included in the client.

    To migrate datasets there isn't a feature yet which gives me full control as the Catalog Manager cli for catalog objects. I typically create a dummy workbook using the dataset I want to migrate, and the export/import it.

  • TL;DR:

    There is no API that is built to work between different environments. All the APIs only operate in a single environment.

    This doesn't prevent you from connecting to the 2 environments, read on one side and write the content you did read on the other one. But it's separate read and write calls.

    Or, if you just want to move catalog objects, look at the CLI of runcat.sh/.cmd and just use the good old archive/unarchive from that one.

  • Hi @mohammad-rafi-ansari-Accenture - please let me know how you get on with the various suggestions made above..

    Thanks
    Mike
    Analytics PM for APIs