一,华为云存储简介
华为云存储是华为公司推出的云计算服务,提供了海量存储和计算资源。华为云存储服务支持多种IaaS(基础设施即服务)和PaaS(平台即服务),包括对象存储、块存储、文件存储、数据库、大数据计算等多种服务,可以满足不同场景下的数据存储和计算需求。
二,准备工作
点击:注册或者登录
然后注册或者登录华为云
三,华为云存储服务特点
多种IaaS服务:华为云存储服务提供了对象存储、块存储、文件存储、数据库等多种IaaS服务,可以满足不同场景下的数据存储需求。
海量存储资源:华为云存储服务提供了大量的存储资源,包括计算、存储和网络资源,可以满足不同规模的数据存储需求。
智能化管理:华为云存储服务支持智能化的数据管理,可以通过自动化的运维和管理,提高数据存储和计算效率。
安全可靠:华为云存储服务提供了多种安全防护措施,包括数据加密、访问控制、监控等,可以保证数据存储和计算的安全性。
多种PaaS服务:华为云存储服务提供了多种PaaS服务,包括数据分析、机器学习、大数据计算等,可以满足不同场景下的数据分析和计算需求。
总之,华为云存储服务是一个全面的云计算服务平台,提供了多种IaaS和PaaS服务,可以满足不同规模的数据存储和计算需求,同时提供了安全可靠的数据管理和智能化的运维管理。
四,华为云存储OSS如何代码接入
1,华为云存储OSS创建桶
int以北京四为例,其他地区请按实际情况填写。
String endPoint = "https://obs.cn-north-4.myhuaweicloud.com";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建ObsClient实例
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
CreateBucketRequest request = new CreateBucketRequest();
request.setBucketName("bucketname");
// 设置桶访问权限为公共读,默认是私有读写
request.setAcl(AccessControlList.REST_CANNED_PUBLIC_READ);
// 设置桶的存储类型为归档存储
request.setBucketStorageClass(StorageClassEnum.COLD);
// 设置桶区域位置(以区域为华北-北京四为例)
request.setLocation("cn-north-4");
// 指定创建多AZ桶,如果不设置,默认创建单AZ桶
request.setAvailableZone(AvailableZoneEnum.MULTI_AZ);
// 创建桶try{
// 创建桶成功
ObsBucket bucket = obsClient.createBucket(request);
System.out.println(bucket.getRequestId());
}catch (ObsException e)
{
// 创建桶失败
System.out.println("HTTP Code: " + e.getResponseCode());
System.out.println("Error Code:" + e.getErrorCode());
System.out.println("Error Message: " + e.getErrorMessage());
System.out.println("Request ID:" + e.getErrorRequestId());
System.out.println("Host ID:" + e.getErrorHostId());
}
// Endpoint以北京四为例,其他地区请按实际情况填写。
String endPoint = "https://obs.cn-north-4.myhuaweicloud.com";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建ObsClient实例
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
CreateBucketRequest request = new CreateBucketRequest();
request.setBucketName("bucketname");
// 设置桶访问权限为公共读,默认是私有读写
request.setAcl(AccessControlList.REST_CANNED_PUBLIC_READ);
// 设置桶的存储类型为归档存储
request.setBucketStorageClass(StorageClassEnum.COLD);
// 设置桶区域位置(以区域为华北-北京四为例)
request.setLocation("cn-north-4");
// 指定创建多AZ桶,如果不设置,默认创建单AZ桶
request.setAvailableZone(AvailableZoneEnum.MULTI_AZ);
// 创建桶try{
// 创建桶成功
ObsBucket bucket = obsClient.createBucket(request);
System.out.println(bucket.getRequestId());
}catch (ObsException e)
{
// 创建桶失败
System.out.println("HTTP Code: " + e.getResponseCode());
System.out.println("Error Code:" + e.getErrorCode());
System.out.println("Error Message: " + e.getErrorMessage());
System.out.println("Request ID:" + e.getErrorRequestId());
System.out.println("Host ID:" + e.getErrorHostId());
}
2,华为云存储OSS删除桶
// Endpoint以北京四为例,其他地区请按实际情况填写。
String endPoint = "https://obs.cn-north-4.myhuaweicloud.com";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建ObsClient实例
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
// 删除桶
obsClient.deleteBucket("bucketname");
3,上传文件
// Endpoint以北京四为例,其他地区请按实际情况填写。
String endPoint = "https://obs.cn-north-4.myhuaweicloud.com";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建ObsClient实例
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
// 待上传的本地文件路径,需要指定到具体的文件名
FileInputStream fis = new FileInputStream(new File("localfile"));
obsClient.putObject("bucketname", "dir/objectname", fis);
// 待上传的本地文件路径,需要指定到具体的文件名
FileInputStream fis2 = new FileInputStream(new File("localfile2"));
PutObjectRequest request = new PutObjectRequest();
request.setBucketName("bucketname");
request.setObjectKey("objectname2");
request.setInput(fis2);
obsClient.putObject(request);
4,下载文件
// Endpoint以北京四为例,其他地区请按实际情况填写。
String endPoint = "https://obs.cn-north-4.myhuaweicloud.com";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建ObsClient实例
final ObsClient obsClient = new ObsClient(ak, sk, endPoint);
ObsObject obsObject = obsClient.getObject("bucketname", "objectname");
// 读取对象内容
System.out.println("Object content:");
InputStream input = obsObject.getObjectContent();
byte[] b = new byte[1024];
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int len;
while ((len=input.read(b)) != -1){
bos.write(b, 0, len);
}
System.out.println(new String(bos.toByteArray()));
bos.close();
input.close();