阿里云oss基本操作

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)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值