Trying to build a Endpoint connector to OCI Object storage

We have a Project that is building interfaces between NetSuite and ORMB. However for this specific Interface we will be connection to the Oracle Object Storage (OCI)

Can Celigo Connect to OCI( I do don't see a native connection therefore HTTP is the direction we are thinking.

What is Object Storage? | Oracle

We have the Base URL and believe we can use a HTTP-based connection however we cannot find anything about building this connection. The other option I was looking int was using a Wrapper. I think this may be making it overly complicated.

Celigo Wrapper what I found Set up a wrapper connection – Celigo Help Center

We have all the access token and permissions correct with Oracle however not sure how to connect and our vendor is suggesting that we use a SFTPGo, S3 , of some other file share to connect to OCI then we build a connection to that third party app. This seems like adding an additional step for no reason. Celigo should be able to connect to Oracle OCI directly.

Please help if you have any ideas or Have done this before. I have done with other middleware tools but cannot seem to get it to work with Celigo

I was able to get this working in Postman, but I fell short in being able to bring this to Celigo currently. The limitation is the complexity of the OCI signature used for authentication. You have to send an Authorization header with this Signature version="1",keyId="${apiKeyId}",algorithm="rsa-sha256",headers="${headers}",signature="${base64EncodedSignature}", and it’s not possible to create the signature piece of it.

The wrapper, S3, or FTP route should work.

Thank you very much for your help.

You have saved us some time on trying to make it work.

Have a great day

Hey Lance,

I went down the rabbit hole on this some more and I was able to get there. So now, I’m successfully able to list files, download files, and upload files from OCI.

What I’ve found is that Oracle still exposes a set of Swift APIs. These are older compatibility endpoints originally provided so that OpenStack Swift tools could work with OCI. The nice part is they let you use a simple username + auth token instead of the more complex request-signature method required by the native APIs.

While “older” can sound worrying, Oracle hasn’t announced any deprecation. The Swift APIs are still documented, supported, and widely used by customers today. So while the native OCI APIs are the main path forward for new features, you can feel confident that Swift will continue to work reliably for straightforward file operations like we’re doing here.

The URL format looks like this:

https://swiftobjectstorage.<region>.oraclecloud.com/v1/<namespace>/<bucket>/<object>
  • region → must match the region where your bucket is hosted (e.g., us-ashburn-1, us-chicago-1, eu-frankfurt-1). You can find this in the bucket’s properties in OCI.
  • namespace → found on the bucket properties
  • bucket → your Object Storage bucket name
  • object → the file/object name you want to upload or download

I attached an example with the exact structure I’ve been testing:
68acdb3f3098d1aa783e7fe7 (1).zip (11.5 KB)


Tyler, Thank you very much, you have been a great help on this project.

Tyler,

Can you share the file you used in the Call yesterday with Oracle so we can try to set it up on our ENV. Thank you again and the case is closed at this point

Yeah, it was just this dummy CSV file I had AI make for me.

toNetSuite_sample.csv (695 Bytes)

One more question. I thought the Celigo process that you shared with us was different than the one you had on the call? I thought you had modified it.

The Celigo you attached to the chat is the same as the one you used on the call?

Thank you again for all your help

Lance

I’m not sure I follow the question. The flow zip is linked in this post where you can download it and then upload it into your Celigo environment.

If we need to open another ticket on these issues let me know. We are able to connect but cannot get to work in the Process endpoint yes… I think it really is down to permission and work on the side of the problem as well..

See question below:

Thank you we were able to set it up and validate the endpoint “Connection Successful“ However when we try to pull or even connect to the OCI in the Process we get an Auth Error see the attached Doc. However, if we try to pull the Data checking at the Parent level. we receive the following error with the same credentials. We are aware there is no file in either folder, we are just trying to establish successful connection.
Inbound OCI Error:

 {
   "code": "invalid_search",
   "message": "Failed to load search with SearchId: 3441. because That search or mass update does not exist.",
   "occurredAt": 1756321326148,
   "resolved": false,
   "source": "application",
   "classification": "missing"
 }

Outboud Error:

 {
   "code": "invalid_search",
   "message": "Failed to load search with SearchId: 3441. because That search or mass update does not exist.",
   "occurredAt": 1756321326148,
   "resolved": false,
   "source": "application",
   "classification": "missing"
 }

I did recall one thing form the Call yesterday. You mentioned Swift Libraries. Do I need to install anything additional on Celigo to get this to work. I do not think that is the case, but I just want to make sure not missing that.

The saved search for the export that I used won't be in your NetSuite instance, so you'll need to create your own NetSuite saved search. Mine looks like this:


Negative, nothing to install. The swift apis are against OCI.

Also, the NetSuite folder IDs and OCI file keys would be different in your environment, so you'll have to change those appropriately.

Tyler, I have changed the NS endpoint to point to our Environment. Also, I am not using your file I have my own Test files for both inbound and outbound specific for our business/Process.

The issue I am having is specific to the OCI connection.

Really the issue I can’t understand if the endpoint is successful but when I try and Test payload i get an AUTH Error. Is this related to permissions. We are using Kevins user account and has permission to view the buckets though the UI . However, when we try to simple view the Namespace not going to lower level get This error.

 {
   "code": 401,
   "message": "The required information to complete authentication was not provided.",
   "occurredAt": 1756319665992,
   "resolved": false,
   "source": "application",
   "classification": "connection"
 }

Does that make sense? I can also show if you like

Disregard I figure out the inbound. This was user error on my part. Sorry for the misunderstanding.

On this question we have figure out is most likely a permission issue and working with PWC to resolve.

We do have one question on process

What is the Step 2 it does not make sense and looked like to use 1a and 1b, but step two was that a test process and for use not to be concerned

Flow 2 combines what flows 1a and 1b do, but without the intermediate step that goes to the NetSuite file cabinet. You could definitely use it if your CSV files are typically smaller (less than 5 MB). If the CSV is larger, this flow will hit our internal paging limit (of 5 MB) and then error out. The 1a and 1b versions won't have this issue. If your files are always small, then Flow 2 is easier to use.

Did you use the "How to test this connection?" configuration on the connection? In the screenshot, you'd change the URL to /v1/:your_bucket_namespace/:your_bucket_name. If you set that and then test your connection, it should send the connection offline if it doesn't work. If it doesn't work, and your username and password are properly set, then it seems like an issue with your credentials. You can also use the same credentials in Postman to confirm.

thank you

Lance