• 阿里云对象存储OSS入门使用


    数据,文件的存储:

    • 数据(MySQL)
    • 数据(MySQL)+ 文件(本地:IO流)
    • 数据(MySQL)+ 缓存(Redis)+文件(服务器集群上,fastDFS(集群),Hdfs(大数据))
    • 数据(MySQL)+ 缓存(Redis)+文件(OSS)

    OSS 就是为了解决海量数据存储和弹性扩容,我们就可以采用阿里云OSS。

    1、开通服务(免费开通)

     

     2、Bucket 库

    1. 点击创建Bucket
    2. 填写Bucket名称及区域
      1. 注:我这里区域选的是杭州,因为当时买服务器的时候,我是选的杭州区域,赠送的OSS包月资源包,当然也可以按流量计费,个人测试的话几块钱可以搞定。

     3、注意:使用子权限——安全

    1. 点击访问控制
    2. 创建用户
    3. 创建用户组
    4. 用户组权限设置
    5. 将用户添加到用户组
    6. 保存账户信息

     

     

     

     4、测试API

    1. 找到官方文档
    2. 测试

     

     1 package com.coding.aliyun;
     2 
     3 import com.aliyun.oss.OSS;
     4 import com.aliyun.oss.OSSClientBuilder;
     5 import com.aliyun.oss.model.CannedAccessControlList;
     6 import com.aliyun.oss.model.GetObjectRequest;
     7 import com.aliyun.oss.model.ObjectMetadata;
     8 import org.junit.Test;
     9 
    10 import java.io.*;
    11 
    12 // 详细步骤请参照官方文档,详细步骤请参照官方文档,详细步骤请参照官方文档
    13 public class OSSTest {
    14     // Endpoint以杭州为例,其它Region请按实际情况填写。
    15     String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    16     // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    17     String accessKeyId = "LTAI4Fcy4XxxxxxQR4";
    18     String accessKeySecret = "spI0CUXTDxxxxxxxYsf4lmIaUdrIu";
    19     String bucketName = "vin955";
    20 
    23     @Test
    24     public void testCreate(){
    25         // 创建OSSClient实例。
    26         OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    27 
    28         boolean exists = ossClient.doesBucketExist(bucketName);
    29 
    30         if (exists == false) { //判定是否存在此存储空间
    31             // 创建存储空间。
    32             ossClient.createBucket(bucketName);
    33         }
    34 
    35         // 设置存储空间的访问权限为私有。
    36         ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
    37 
    38         // 关闭OSSClient。
    39         ossClient.shutdown();
    40     }
    41 
    42     @Test
    43     public void testCreate2(){
    44         // 创建OSSClient实例。
    45         OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    46 
    47         // 上传文件流。
    48         InputStream inputStream = null;
    49         try {
    50             inputStream = new FileInputStream("C:\Users\heng\Desktop\ava.png");
    51         } catch (FileNotFoundException e) {
    52             e.printStackTrace();
    53         }
    54 
    55         ossClient.putObject(bucketName, "ava/aaa.png", inputStream);
    56 
    57         // 关闭OSSClient。
    58         ossClient.shutdown();
    59     }
    60 
    63     @Test
    64     public void testCreate3() throws IOException {
    65         // 创建OSSClient实例。
    66         OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    67 
    68         String objectName = "ava/aaa.png";
    69 
    70         // ossObject包含文件所在的存储空间名称、文件名称、文件元信息以及一个输入流。
    71 //        OSSObject ossObject = ossClient.getObject(bucketName, objectName);
    72         ObjectMetadata ossObject = ossClient.getObject(new GetObjectRequest(bucketName, objectName),new File("a.png"));
    73 
    74 
    75         // 关闭OSSClient。
    76         ossClient.shutdown();
    77     }
    78 
    79 
    80     @Test
    81     public void testCreate4() throws IOException {
    82         // 创建OSSClient实例。
    83         OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    84 
    85 
    86         String objectName = "ava/aaa.png";
    87         // 删除文件。如需删除文件夹,请将ObjectName设置为对应的文件夹名称。如果文件夹非空,则需要将文件夹下的所有object删除后才能删除该文件夹。
    88         ossClient.deleteObject(bucketName, objectName);
    89 
    90         ossClient.shutdown();
    91     }
    92 
    93 }
  • 相关阅读:
    request
    href="#"
    可展开收起的客服导航。
    JS添加父节点的方法。
    精简漂亮的导航浮动菜单显示特效演示
    竖排导航
    仿新浪微博
    鼠标滑过改变文字
    滚动函数
    一些常用的兼容函数。
  • 原文地址:https://www.cnblogs.com/ShallowPen/p/12717243.html
Copyright © 2020-2023  润新知