Copy from Object Store (v3)

Use this asynchronous API to copy a file or backup snapshot as a single non-segmented file from an Oracle Object Storage bucket to the current environment. This API uses API signing authentication to digitally sign the request to ensure security; which is a more secure authentication method compared to basic authentication used by the previous versions.

If you are copying a backup snapshot, this API copies it from the Object Storage bucket and extracts its contents in Oracle Fusion Cloud Enterprise Performance Management. This version contains all parameters in the payload and does not require URL encoding while calling the REST APIs, making it easy to use.

Required Roles

Service Administrator

Method and URI

REST Resource: POST /interop/rest/v3/objectstorage/copyfrom

Example: POST https://<BASE-URL>/interop/rest/v3/objectstorage/copyfrom

Table 9-77 Tasks

Task Request REST Resource
Trigger copyfromobjectstore POST /interop/rest/v3/objectstorage/copyfrom
Retrieve copyfromobjectstore status GET /interop/rest/v3/status/jobs/777

Request

Supported Media Types: application/json

Table 9-78 Parameters

Name Description Required Type
url The Object Storage URL, including the name of the bucket and the object you want to copy to the Cloud EPM environment. This is the URL format:

https://swiftobjectstorage.region_identifier.oraclecloud.com/v1/namespace/bucket_name/object_name

Components of this URL:

  • region_identifier is the Oracle Cloud Infrastructure hosting region.
  • namespace is the top-level container for all buckets and objects. Each Oracle Cloud Infrastructure tenant is assigned a unique system-generated and immutable Object Storage namespace name at account creation time. Your tenancy's namespace name, for example, axaxnpcrorw5, is effective across all regions.
  • bucket_name is the name of a logical container where you store your data and files. Buckets are organized and maintained under compartments. A system-generated bucket name, for example, bucket-20210301-1359 reflects the current year, month, day, and time.
  • object_name is the name of the snapshot or file that you want to copy from Oracle Object Storage Cloud.

For more information, see these topics in Oracle Cloud Infrastructure Documentation:

Yes Payload
tenancyOcid The OCID of the tenancy that stores the file you want to copy. This ID is available on the Tenancy details page of the Oracle Cloud Identity Console. Yes Payload
userOcid The Oracle Cloud Identity of the user who has the access privileges to copy the file from the Object Storage. This ID is available on the User details page of the Oracle Cloud Identity Console. Yes Payload
fingerprint The fingerprint (hash) of the RSA public API key. You can retrieve the RSA asymmetric cryptography algorithm fingerprint by running the OpenSSL command openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -cs Yes Payload
privateKey The name, including the path, of the private key file stored on your computer. Yes Payload
targetFile The unique name (including the path) of the file on the current environment. Yes Payload

Example Payload

{
    "url": "https://objectstorage.<region_identifier>.oraclecloud.com/n/namespace/b/bucket_name/o/object_name",
    "tenancyOcid": "ocid1.tenancy.oc1...aaa",
    "userOcid": "ocid1.user.oc1....aaa",
    "fingerprint": "08:7f:86:8e....a2:2b:96",
    "privateKey": "<Base64-encoded content of the privateKey file>",
    "targetFile": "Artifact snapshot"
}

Response

Supported Media Types: application/json

The response body reports status 0 for successful operation, -1 for operation in progress, and a positive number for failed operation. For failed operations, error strings are reported.

Response for successful operation:

{
    "details": null,
    "status": 0,
    "items": null,
    "links": [
        {
            "href": "https://<BASE-URL>/interop/rest/v3/objectstorage/copyfrom",
            "action": "POST",
            "rel": "self",
            "data": null
        },
        {
            "href": "https://<BASE-URL>/interop/rest/v3/status/jobs/4003051833546274",
            "action": "GET",
            "rel": "Job Status",
            "data": null
        }
    ]
}

Sample cURL Command

curl -X POST -s -u '<USERNAME>:<PASSWORD>' -o response.txt -D respHeader.txt -H 'Content-Type: application/json' -d '{"url":"OBJECT_STORAGE_URL","tenancyOcid":"TENANCY_OCID","userOcid":"USER_OCID","fingerprint":"FINGER_PRINT","privateKey":"Base64-Encoded PRIVATE_KEY","targetFile":"FILEPATH/FILENAME"}' 'https://<BASE-URL>/interop/rest/v3/objectstorage/copyfrom'