用途:使用 OCI Python SDK 管理 Oracle Cloud Object Storage,完成对象的存储、下载与共享,并安全配置 PAR 过期与生命周期规则。
主要能力:
- 发现租户专属命名空间并创建桶,可设置存储层、访问类型与版本控制。
- 上传对象:小于 50MB 用 put_object 简单上传;大文件用 UploadManager 自动分片(part_size 可设,如 64MB),超过 50GB 需手动管理分片。
- 按前缀列出对象并下载,支持分块流式写入。
- 创建 PAR(签名 URL):通过 time_expires 显式设置过期时间,可列出活跃 PAR 审计剩余时间,并用 par_id 提前撤销。
- 配置生命周期策略:按前缀自动归档(ARCHIVE)或删除(DELETE)对象。
必要用法: 先安装 SDK:pip install oci;在 ~/.oci/config 配置 user、fingerprint、tenancy、region、key_file;IAM 需授权(如 Allow group Developers to manage objects in compartment <name>);需 Python 3.8+。命名空间必须通过 storage.get_namespace() 获取,不可硬编码。CLI 可用 oci os bucket list 查看桶。
适用场景:需要以编程方式上传、下载、共享 OCI 对象的开发者与运维场景,尤其是大文件分片上传和临时对外分享文件。
限制与注意事项:
- PAR 过期后返回 404 NotAuthorizedOrNotFound,而非 401/403,调用方易误判为对象被删除,需主动检查过期时间。
- 生命周期 DELETE 规则会永久删除对象(除非启用版本控制),配置需谨慎。
- 简单上传不适用于超过 50MB 的文件。
- 429 限流时 OCI 不返回 Retry-After,需自行加退避。
- SSL 证书问题可设置 SSL_CERT_FILE 环境变量。 定价信息资料未提供。