SAP Cloud Platform Open Connectors

Migrating Resources and Transformations Between Environments

If you are developing in multiple environments or accounts, you might need to move your COs and transformations from one account or environment to another. You can use the organizations APIs to do this.

Migrate Common Resources

Migrating COs is a two step process where you first get the CO definition from one account or environment, and then post it to another.

Note: Sub-objects appear differently depending on how you created them, as COs or as My Objects in Connector Mapper. If you created them with Connector Mapper, they are identified by a custom type and are stored as separate objects with the same name as the type value. For example, a sub-object called address will appear in the definition as:
{
"type":"address"
"path":"address"
}
Sub-objects created as COs are shown in dot notation, e.g., "path": "Address.street".

To migrate COs:

  1. In the source account or environment, call GET /organizations/objects/{objectName}/definitions, replacing {objectName} with the name of the CO.

    Note: Use GET /organizations/objects/definitions to get the list of all COs.

    The JSON response looks like this:

    {  
      "fields":[  
        {  
          "type":"string",
          "path":"birthdate"
        },
        {  
          "type":"string",
          "path":"FirstName"
        },
        {  
          "type":"string",
          "path":"id"
        },
        {  
          "type":"string",
          "path":"LastName"
        }
      ],
      "level":"organization"
    }
  2. Optional. If you created your CO in an earlier version of the software, it might include a sub-object that it is stored separately. Run the call again using the name of the sub-object for {objectName}.

  3. In your target account or environment, make a POST /organizations/objects/definitions API call, replacing objectName with the name of the CO, and the fields object with the fields object from the previous step.

{  
  "<objectName>":{  
    "fields":[  
      {  
        "type":"string",
        "path":"birthdate"
      },
      {  
        "type":"string",
        "path":"FirstName"
      },
      {  
        "type":"string",
        "path":"id"
      },
      {  
        "type":"string",
        "path":"LastName"
      }
    ]
  }
}

Migrate Transformations

Migrating transformations is a two step process where you first get the transformations definition from one account or environment, and then post it to another.

To migrate transformations:

  1. In the source account or environment, call GET /organizations/elements/{keyOrId}/transformations/{objectName}, replacing keyOrId with the connector key and {objectName} with the name of the CO.

    The JSON response looks like this:

    {  
      "level":"organization",
      "objectName":"myContacts_API",
      "vendorName":"Contact",
      "startDate":"2017-04-24 21:05:05.51129",
      "fields":[  
        {  
          "type":"string",
          "path":"birthdate",
          "vendorPath":"Birthdate",
          "level":"organization"
        },
        {  
          "type":"string",
          "path":"FirstName",
          "vendorPath":"FirstName",
          "level":"organization"
        },
        {  
          "type":"string",
          "path":"id",
          "vendorPath":"Id",
          "level":"organization"
        },
        {  
          "type":"string",
          "path":"LastName",
          "vendorPath":"LastName",
          "level":"organization"
        }
      ],
      "configuration":[  
        {  
          "type":"passThrough",
          "properties":{  
            "fromVendor":false,
            "toVendor":false
          }
        },
        {  
          "type":"inherit"
        }
      ],
      "isLegacy":false
    }
  2. In your target account or environment, make a POST /organizations/elements/{keyOrId}/transformations/{objectName} API call, replacing keyOrId with the connector key and objectName with the name of the CO. Include the JSON payload from the previous step.