# ctyun-xstore-s3-demo **Repository Path**: bwoa/ctyun-xstore-s3-demo ## Basic Information - **Project Name**: ctyun-xstore-s3-demo - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2020-12-15 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 天翼云媒体存储AWS S3接口SDK demo ## JAVA版本 支持JDK 1.7+ ## S3环境配置 见代码:src\main\java\com\ctyun\xstore\s3\client\AmazonS3ClientBuilder.java 1. 证书信息:accessKey、secretKey 2. 服务地址:endPoint ## STS环境配置 见代码:src\main\java\com\ctyun\xstore\sts\client\AmazonSTSClientBuilder.java 1. 证书信息:ACCESS_KEY、SECRET_KEY 2. 服务地址:END_POINT 3. 资源名称:ARN ## 涵盖功能 + 创建bucket,见CreateBucket.java。含2个功能:创建时设置访问权限、创建时未设置访问权限(访问bucket会被拒绝) + 删除bucket,见DeleteBucket.java + 列出所有bucket,见ListBuckets.java + 设置Bucket的访问权限ACL,见SetBucketAcl.java + 设置Bucket的访问策略,见SetBucketPolicy.java + 获取Bucket的访问策略,见GetBucketPolicy.java + 删除Bucket的访问策略,见DeleteBucketPolicy.java + 设置bucket的请求跨域方案,见SetBucketCrossOrigin.java + 上传对象,见UploadObject.java。含2个功能:上传时设置访问权限、上传时未设置访问权限(访问对象会被拒绝) + 下载对象,见DownloadObject.java + 删除对象,见DeleteObject.java + 列出所有对象,见ListObjectst.java + 设置对象的访问权限ACL,见SetObjectAcl.java + 上传对象url预签名,见GeneratePresignedPutUrl.java + 获取临时ak、sk、sessionToken。见StsDemoController.java + 根据临时ak、sk、sessionToken生成文件上传预签名地址。见StsDemoController.java + 前端支持文件断点上传。见:resources\static\upload-demo\upload.html + 使用JavaScript SDK进行前端文件上传和查询。见:resources\static\s3-javascript-demo\html\s3.html ## 主要测试案例 ### 获取临时ak、sk、sessionToken,然后在前端执行文件上传操作 1. 请先确保bucket允许浏览器跨域访问。设置跨域访问方案代码见SetBucketCrossOrigin.java 2. 在AmazonSTSClientBuilder.java中配置END_POINT、BUCKET、ACCESS_KEY、SECRET_KEY、ARN 3. 访问页面:http://localhost:8080/xstore-s3-demo/s3-javascript-demo/html/s3.html ### 创建bucket 1. 以bucket名称:xstore-s3demo-bucket ,endPoint:https://xstore.ctyun.cn为例 2. 在创建bucket后,使用https://xstore-s3demo-bucket.xstore.ctyun.cn访问bucket ### 上传对象 1. 以bucket名称:xstore-s3demo-bucket ,endPoint:https://xstore.ctyun.cn,对象名称:test.mp4为例 2. 在上传对象后,使用https://xstore-s3demo-bucket.xstore.ctyun.cn/test.mp4访问对象 ## AWS的JAVA SDK官方参考文档 1. [参考文档](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html) 2. [参考代码](https://github.com/awsdocs/aws-doc-sdk-examples) ## AWS的JavaScript SDK官方参考文档 1. [JavaScriptSDK参考API](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html) 2. [JavaScriptSDK参考文档](https://amazonaws-china.com/cn/sdk-for-browser)