1 OCI 兼容 AWS S3 的使用流程

1.1 生成 AK, SK

【Oracle云】使用 boto3 访问 OCI 对象存储 (AWS S3协议兼容)-LMLPHP

键入生成 Key 的名称,示例为:s3test

【Oracle云】使用 boto3 访问 OCI 对象存储 (AWS S3协议兼容)-LMLPHP

【Oracle云】使用 boto3 访问 OCI 对象存储 (AWS S3协议兼容)-LMLPHP

成功生成 KEY 后即可看到 AK

【Oracle云】使用 boto3 访问 OCI 对象存储 (AWS S3协议兼容)-LMLPHP

1.2 OCI Endpoint 命名方式参考

# 配置中 region 和 namespace_name 

{bucketnamespace}.compat.objectstorage.{region}.oraclecloud.com

1.3 兼容测试

可使用 AWS cli 操作 OCI 对象存储,验证核心功能

export AWS_ACCESS_KEY_ID=507dee8xxxxxxxxxxxxxxxxxxxxxxx
export AWS_SECRET_ACCESS_KEY=vIrC+BaYxxxxxxxxxxxxxxxxxxxno=
export AWS_DEFAULT_REGION=eu-frankfurt-1

# 通过s3协议调用预签名功能
aws s3 presign  s3://bucket-20230516-1236/1213.txt  --endpoint-url  https://xxxx.compat.objectstorage.eu-frankfurt-1.oraclecloud.com

2 修改对象存储的 Namespace

【Oracle云】使用 boto3 访问 OCI 对象存储 (AWS S3协议兼容)-LMLPHP

3 Demo

import boto3

s3 = boto3.resource(
    's3',
    aws_access_key_id="507dee8d01xxxxxxxxxxxxxxxxxxx4", # AK
    aws_secret_access_key="vIrC+xxxxxxxxxxxxxxxxxxxxxxxno=", # SK
    region_name="eu-frankfurt-1", # Region 信息
    endpoint_url="https://cnmxxxxxxxhxmt.compat.objectstorage.eu-frankfurt-1.oraclecloud.com" # 兼容域名
)

# Print out the bucket names
for bucket in s3.buckets.all():
    print(bucket.name)

4 参考

对象存储 namespace

Understanding Object Storage Namespaces

region信息

Regions and Availability Domains

安装 AWS cli

Install or update the latest version of the AWS CLI - AWS Command Line Interface

🚀 炸鸡物料库 🚀

🔍 内容定位: IT技术领域,云计算、云原生、DevOps 和 AI 等相关的技术资讯、实践和经验分享。面向开发、系统和云计算,提供实用的技术内容。

🎯 目标受众: 面向开发者、系统管理员和云计算从业者,提供实用的技术内容。

🗓️ 更新频率:每周更新,每次分享都为您带来有价值的技术内容。

🤝 互动与反馈: 鼓励读者留言、评论,有问题随时提问,我们将积极互动并提供帮助。

💌 订阅方式: 扫描二维码或搜索“炸鸡物料库”关注,不错过每一篇精彩内容。

🌐 合作与分享: 如果您有技术分享或合作计划,欢迎联系我们,共同成长!

【Oracle云】使用 boto3 访问 OCI 对象存储 (AWS S3协议兼容)-LMLPHP【Oracle云】使用 boto3 访问 OCI 对象存储 (AWS S3协议兼容)-LMLPHP​​​​​​​

02-01 17:48