1、Oss批量操作
批量上传:ossimport工具、ossutil工具、ossbrowser工具、OSS控制台‘
批量下载:osstuil工具、ossbrowser工具、OSS控制台
批量复制:跨区域复制、ossutil工具、ossbrowser工具
批量删除:OSS SDK(java\python\Go\C++)、OSS API、ossutil工具、ossbrowser工具、OSS控制台、生命周期规则
批量修改文件存储类型:ossutil工具、生命周期规则
批量修改文件访问权限(ACL):ossutil 工具(set-acl\set-meta)
批量解冻文件:ossutil工具、ossbrowser工具
批量设置文件Meta信息:ossutil工具、OSS控制台
2、Ossutil 操作(常用操作)
-rm (删除对象)
-
- 删除空bucket
./ossutil64 rm oss://test-cv -b
-
- 删除bucket并清除数据(谨慎操作)
./osstuil64 rm oss://test-cv -bar
- 删除单个object
./ossutil64 rm oss://test-cv/test_step2/person_and_bike.png
- 删除指定前缀的所有Object(类似于删除文件夹)
配合-r选项,可以递归执行删除操作,删除指定前缀的所有Object。
./ossutil64 rm –r oss://test-cv/test_step2/
- 批量删除符合条件的文件
您可以使用--include/--exclude参数,批量删除符合条件的Object。
删除所有文件格式不为jpg的Object
./ossutil64 rm oss://test-cv/test_step2 --exclude “*.jpg” -r
删除所有文件名包括abc且不是jpg和txt格式的objcet
./ossutil64 rm oss://test-cv/test_step2 –include “*abc*” –exclude “*.jpg” –exclude “*.txt” –r
-cp (拷贝对象)[-r 递归操作;-f 强制操作,不进行询问提示;-u 更新操作]
- 上传文件(cp 本地 oss)
./ossutil64 cp file_url cloud_url [-r] [-f] [-u]
./ossutil64 cp /data/cv/images oss://test-cv/test_step1/ -r -f
- 下载文件(cp oss 本地)
./ossutil64 cp cloud_url file_url [-r] [-f] [-u]
- 拷贝文件(cp oss oss)
./ossutil64 cp cloud_url cloud_url [-r] [-f] [-u]
- 上传单个文件
./ossutil64 cp /data/cv/images/person_and_bike.png oss://test-cv/test_step1/
- 上传文件夹
./ossutil64 cp –r /data/cv/images oss://test-cv/test_step1
- 上传指定格式的文件
./ossutil64 cp /data/cv/images/ oss://test-cv/test_step1 –include “*.jpg” -r
- 下载单个文件
./ossutil64 cp oss://test-cv/test_step1/person.png /data/cv/images/
- 下载文件夹
./ossutil64 cp –r oss://test-cv/test_step1 /data/cv/images
- 下载文件夹并指定 –update选项
./ossutil64 cp –r oss://test-cv/test_step1 /data/cv/images --update
- 下载指定格式的文件
./ossutil64 cp oss://test-cv/test_step1 /data/cv/images –exclude “*.jpg” -r
- 拷贝单个文件
./ossutil64 cp oss://test-cv/test_step1/person.png oss://test-cv/test_step2/
- 拷贝单个文件并重命名
./ossutil64 cp oss://test-cv/test_step1/person.png oss://test-cv/test_step2/person_bak.png
经测试 cp cloud_url cloud_url 速度低于 cp local_url cloud_url
-ls (列举目录)
- 列举bucket中所有object
./ossutil64 ls oss://test-cv/
- 选项可以显示当前目录下的文件和子目录,模拟目录格式
./ossutil64 ls oss://test-cv/ -d -s
- 列举指定前缀的object
./ossutil64 ls oss://test-cv/test_step1/
-mkdir(创建目录)
- 创建一个目录
./ossutil64 mkdir oss://test-cv/test_step3
- 创建一个多级目录
./ossutil64 mkdir oss://test-cv/test_step3/test_step4/test_step5
3、Python Sdk 操作
import oss2
end_point = "oss-cn-beijing-internal.aliyuncs.com"
access_kid = "dfasdfasdfasdfasdfasfasdfasfasdfasdf"
access_scr = "adfadfadffadfasdfasfasdfd"
bucket_name = "test-cv"
auth = oss2.Auth(access_kid, access_scr)
bucket = oss2.Bucket(auth, end_point, bucket_name)
-put(上传文件)
- 上传文件
obj_name="test_step1/person_and_bike_209__test.png
local_file="~/cv/INRIA/INRIAPerson/images/person_and_bike_209.png"
bucket.put_object_from_file(obj_name, local_file)
- 创建空目录
obj_name="image_classification/INRIAPerson/person"
bucket.put_object(obj_name,"")
-get(下载文件)
- 下载文件
obj_name="test_step1/person_and_bike_209__test.png"
local_file="/data/down_images/down_image.jpg"
bucket.get_object_to_file(obj_name, local_file)
-ls(列举文件)
- 展示所有的object
for obj in oss2.ObjectIterator(bucket):
print(obj.key)
- 展示固定长度的object
for b in islice(oss2.ObjectIterator(bucket),10):
print(b.key)
- 展示指定前缀的文件
for obj in oss2.ObjectIterator(bucket,prefix = ’image_classification/sun397/abbey/'):
print(obj.key)
- 展示指定目录下的文件和子目录
for obj in oss2.ObjectIterator(bucket,prefix =’image_classification/sun397/abbey/', delimiter = '/'):
print(obj.key)
-del(删除文件)
- 删除单个object
bucket.delete_object(obj_name)
- 批量删除文件
for obj in oss2.ObjectIterator(bucket, prefix=‘image_classification/sun397/abbey/’):
bucket.delete_object(obj.key)