阿里云oss api解读

原创 2018年04月17日 09:29:16

如果要用java来操作oss,首先需要下载,sdk其中的包放在java项目的路径中


您可以使用OSSClient.createBucket创建Bucket。如下代码展示如何新建一个Bucket:

  1. // endpoint以杭州为例,其它region请按实际情况填写
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. // 创建OSSClient实例
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. // 创建bucket
  9. String bucketName = "<your-oss-bucket-name>";
  10. ossClient.createBucket(bucketName);
  11. // 关闭client
  12. ossClient.shutdown();

上面创建的BUCKET,权限是私有读写,存储类型是标准类型standrd.创建bucks时可以指定Bucket权限和存储类型

  1. CreateBucketRequest createBucketRequest= new CreateBucketRequest(bucketName);
  2. // 设置bucket权限为公共读,默认是私有读写
  3. createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
  4. // 设置bucket存储类型为低频访问类型,默认是标准类型
  5. createBucketRequest.setStorageClass(StorageClass.IA);
  6. ossClient.createBucket(createBucketRequest);

删除Bucket

您可以使用OSSClient.deleteBucket删除Bucket。以下代码展示如何删除一个Bucket:

  1. // endpoint以杭州为例,其它region请按实际情况填写
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // accessKey请登录https://ak-console.aliyun.com/#/查看
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. // 创建OSSClient实例
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. // 删除bucket
  9. ossClient.deleteBucket("<bucketName>");
  10. // 关闭client
  11. ossClient.shutdown();

提示:

  • 如果存储空间不为空(存储空间中有文件或者分片上传碎片),则存储空间无法删除;
  • 必须先删除存储空间中的所有文件后,存储空间才能成功删除。

判断Bucket是否存在

您可以使用OSSClient.doesBucketExist接口判断该Bucket是否已存在。以下代码展示如何判断指定Bucket是否存在:

  1. // endpoint以杭州为例,其它region请按实际情况填写
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // accessKey请登录https://ak-console.aliyun.com/#/查看
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. // 创建OSSClient实例
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. boolean exists = ossClient.doesBucketExist("<bucketName>");
  9. // 关闭client
  10. ossClient.shutdown();

设置Bucket ACL

Bucket的ACL包含三类:Private(私有读写), PublicRead(公共读私有写), PublicReadWrite(公共读写)。您可以通过OSSClient.setBucketAcl设置bucket的权限。

权限Java SDK对应值
私有读写CannedAccessControlList.Private
公共读私有写CannedAccessControlList.PublicRead
公共读写CannedAccessControlList.PublicReadWrite

以下代码展示如何设置Bucket的权限:

  1. // endpoint以杭州为例,其它region请按实际情况填写
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // accessKey请登录https://ak-console.aliyun.com/#/查看
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. // 创建OSSClient实例
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. // 设置bucket权限
  9. ossClient.setBucketAcl("<bucketName>", CannedAccessControlList.Private);
  10. // 关闭client
  11. ossClient.shutdown();

获取Bucket ACL

您可以通过OSSClient.getBucketAcl获取bucket的权限。以下代码展示如何获取Bucket的ACL:

  1. // endpoint以杭州为例,其它region请按实际情况填写
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // accessKey请登录https://ak-console.aliyun.com/#/查看
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. // 创建OSSClient实例
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. AccessControlList acl = ossClient.getBucketAcl("<bucketName>");
  9. // Bucket权限
  10. System.out.println(acl.toString());
  11. // 关闭client
  12. ossClient.shutdown();

获取Bucket Location

Bucket Location即Bucket Region,详细请参看基本概念中的Region(区域)。

您可以通过OSSClient.getBucketLocation获取bucket的权限。以下代码展示如何获取Bucket的Location:

  1. // endpoint以杭州为例,其它region请按实际情况填写
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // accessKey请登录https://ak-console.aliyun.com/#/查看
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. // 创建OSSClient实例
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. String location = ossClient.getBucketLocation("<bucketName>");
  9. System.out.println(location);
  10. // 关闭client
  11. ossClient.shutdown();

获取Bucket Info

Bucket的Info包括Location、CreationDate、Owner及权限等信息。以下代码展示如何获取Bucket的Info:

  1. // endpoint以杭州为例,其它region请按实际情况填写
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // accessKey请登录https://ak-console.aliyun.com/#/查看
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. // 创建OSSClient实例
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. BucketInfo info = ossClient.getBucketInfo("<bucketName>");
  9. // Location
  10. info.getBucket().getLocation();
  11. // 创建日期
  12. info.getBucket().getCreationDate();
  13. // owner
  14. info.getBucket().getOwner();
  15. // 权限
  16. info.getGrants();
  17. // 关闭client
  18. ossClient.shutdown();

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36838191/article/details/79969765

PHP 阿里云oss sdk详细介绍

不足的地方请大家不吝赐教。那我们就开始漫长的SDK使用之旅吧。    第一步 : 去OSS官方注册账户,并且开通OSS服务,当OSS服务开通后,进入管理中心获取相应的API密钥。如下截图:   ...
  • black_xj
  • black_xj
  • 2017-01-06 17:40:14
  • 2282

阿里云存储OSS对接PHP之Star.hou

阿里云OSS浏览器管理工具 https://github.com/aliyun/oss-browser?spm=5176.doc44075.2.4.vscD0q 阿里云文档 https://he...
  • houxingyao
  • houxingyao
  • 2018-01-06 11:28:36
  • 249

oss-browser

  • 2018年01月05日 09:35
  • 66.04MB
  • 下载

阿里云OSS存储开发(一)

转载自:http://www.cnblogs.com/easeyeah/p/4109584.html Step 1. 初始化一个OSSClient OSSClient是与OSS服务...
  • u012377333
  • u012377333
  • 2016-01-20 17:41:32
  • 2447

阿里云oss浏览器开发(Browser-JS-SDK )实现多文件上传并监测上传进度

        应公司需求实现云空间多文件上传功能,后台接口为JAVA开发。        先开始采用直接调用后台给的接口实现多文件上传功能,发现jqery封装的上传进度监测并不准确,而且文件上传文件...
  • dream_halo
  • dream_halo
  • 2018-02-28 14:14:25
  • 148

jdk1.8 ossbrowser打不开

目前mac上有一些软件还不支持jdk1.7,只能卸载1.7,恢复到1.6,下面二个链接是官网给出的卸载方法: http://www.java.com/zh_CN/download/help/ma...
  • degager
  • degager
  • 2015-07-01 15:57:14
  • 647

aliyun oss

  • 2014年11月04日 10:28
  • 2.35MB
  • 下载

阿里云OSS 图片处理api(custom)

首先放个阿里云OSS图片处理接口文档 阿里云官方地址 OSS 图片处理接口文档我们有时会抱怨用户上传的图文中图片文件大了(假如说3M的图片)。导致生成的网页打开速度慢,怎么办呢?问题分析:网络打开慢...
  • u014559227
  • u014559227
  • 2017-06-19 14:59:25
  • 3645

oss以附件的形式下载文件

oss以流的形式在浏览器下载想存到任意路径时,会出现错误,用上面的方式设置Header信息可以解决. response.reset(); response.setContentType("appli...
  • lh2420124680
  • lh2420124680
  • 2017-07-27 09:53:00
  • 959

阿里云OSS-DELPHI-SDK

  • 2015年01月08日 16:06
  • 22KB
  • 下载
收藏助手
不良信息举报
您举报文章:阿里云oss api解读
举报原因:
原因补充:

(最多只允许输入30个字)