如何在VBCS中通过Rest API连接Oracle私有对象存储?
Oracle Object Storage私有桶REST API连接方案(VBCS环境)
一、认证方式说明
Oracle Object Storage不支持Basic Auth,必须使用OCI签名认证(Signature v1或v2)。在VBCS里有两种便捷实现方式:
- 用VBCS内置的OCI服务连接:直接配置OCID、私钥等凭证,VBCS自动处理签名逻辑,无需手动编写代码。
- 手动构造签名请求头:如果需要自定义REST调用,需按照OCI规范生成
Authorization头,包含签名信息、用户OCID、请求时间等内容。
二、私有桶必备请求头
调用私有桶API时,必须携带以下核心请求头:
Authorization: OCI签名字符串,格式示例:Signature version="1",keyId="ocid1.tenancy.oc1..xxx/ocid1.user.oc1..xxx/aa:bb:cc:dd:ee:ff:gg:hh",algorithm="rsa-sha256",headers="date",signature="abcdef123456..."Date: 格林威治标准时间(格式:Wed, 10 Jul 2024 12:34:56 GMT),作为签名验证的时间依据Host: 对象存储区域的域名,比如你使用的objectstorage.us-ashburn-1.oraclecloud.com- 上传/下载对象时需额外添加:
Content-Length: 上传对象的字节数Content-Type: 对象的MIME类型,例如application/octet-stream
三、REST API URL验证与调整
你提供的URL格式是正确的,替换占位符即可使用,分步检查调整:
- 替换
{namespaceName}:登录OCI控制台,在对象存储页面查看你的命名空间 - 替换
{bucketName}:填写目标私有桶的名称 - 替换
{objectName}:填写要操作的对象名称;如果是列出桶内所有对象,删除/o/{objectName},URL变为https://objectstorage.us-ashburn-1.oraclecloud.com/n/{namespaceName}/b/{bucketName}/o - 核对区域域名:确保
us-ashburn-1是你的桶所在区域,若区域不同需修改域名(比如凤凰城区域对应objectstorage.us-phoenix-1.oraclecloud.com)
四、VBCS实操步骤
- 创建OCI服务连接:
- 打开VBCS应用,进入“Connections”页面,点击“Create Connection”选择“Oracle Cloud Infrastructure”类型
- 填写租户OCID、用户OCID、PEM格式私钥、密钥指纹、区域信息
- 选择对象存储服务,测试连接确认成功
- 通过连接调用API:
- 在VBCS的业务对象或页面中,直接使用该服务连接发起请求,签名认证会自动处理,无需手动配置请求头
- 自定义REST调用(按需使用):
- 创建自定义REST连接,通过VBCS的JavaScript代码生成符合OCI规范的签名串,将其填充到
Authorization请求头中
- 创建自定义REST连接,通过VBCS的JavaScript代码生成符合OCI规范的签名串,将其填充到
内容的提问来源于stack exchange,提问作者Karan Vignesh
相关产品推荐
相关产品推荐

