SuperAPI AI 工具集

oraclecloud-data-handling

数据与分析

查看项目

更新于 10-16 06:22

技能介绍

用途:通过 OCI Python SDK 管理 OCI 对象存储,完成安全的上传、下载、分享与生命周期配置。

主要能力:

  1. 发现租户专属命名空间并创建桶,可启用版本控制、关闭公共访问。
  2. 上传对象:小于 50MB 用简单上传;更大文件用 UploadManager 自动分片(allow_multipart_uploads=True)。
  3. 按前缀列出对象、流式下载。
  4. 创建预认证请求(PAR)作为签名 URL,支持显式过期时间,并可列出、审计和提前撤销。
  5. 配置生命周期策略:按前缀对对象执行 ARCHIVE 或 DELETE,控制保留天数。

使用方式: 前置条件为 pip install oci、~/.oci/config(含 user、fingerprint、tenancy、region、key_file)、IAM 策略(Allow group Developers to manage objects in compartment <name>)、Python 3.8+。 基本流程:oci.config.from_file 读取配置,创建 ObjectStorageClient,get_namespace 获取命名空间,再调用 create_bucket、put_object、UploadManager.upload_file、get_object、create_preauthenticated_request、put_object_lifecycle_policy 等。 CLI 示例:oci os bucket list --compartment-id <OCID> --query "data[*].{Name:name,Versioning:versioning}" --output table

适用场景:向 OCI 对象存储上传或下载数据、与外部伙伴安全分享对象、按前缀自动归档旧数据与清理临时文件。

限制与注意事项:PAR 过期后不返回 401/403,而是静默返回 404,调用方可能误以为对象被删除;超过 50GB 的分片上传需手动管理分片;生命周期 DELETE 规则会永久删除数据,未启用版本控制时无法恢复;命名空间必须动态发现,不能硬编码。

常见错误:桶 404 NotAuthorizedOrNotFound(命名空间、桶名或 IAM 有误);对象过大 400 InvalidParameter;未认证 401 NotAuthenticated;限流 429 TooManyRequests(OCI 不返回 Retry-After,需自行退避);SSL 证书错误可设置 SSL_CERT_FILE。

价格、具体区域或配额等未在资料中提供。