日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Amazon S3 功能介绍

發布時間:2024/1/3 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 Amazon S3 功能介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 .Amazon S3介紹

Amazon Simple Storage Service (Amazon S3) 是一種對象存儲,它具有簡單的 Web 服務接口,可用于在 Web 上的任何位置存儲和檢索任意數量的數據。它能夠提供 99.999999999% 的持久性,并且可以在全球大規模傳遞數萬億對象。

客戶使用 S3 作為云原生應用程序的主要存儲;作為分析的批量存儲庫或“數據湖”;作為備份和恢復以及災難恢復的目標;并將其與無服務器計算配合使用。

使用 Amazon 的云數據遷移選項,客戶可以輕松地將大量數據移入或移出 Amazon S3。數據在存儲到 S3 中之后,會自動采用成本更低、存儲期限更長的云存儲類 (如 S3 Standard – Infrequent Access 和 Amazon Glacier) 進行存檔。

二.Java S3 Example
準備工作:
1.導入依賴包
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.9.2</version>
</dependency>
2.在s3服務中創建用戶,獲取用戶的Access key和Secret Access Key,使用這個作為憑證連接s3
3.在s3服務中配置AWSConnector和AmazonS3FullAccess的連接權限。可以通過這個配置,在訪問的時候進行authenticate驗證。
s3 api簡單操作:
1.創建憑證
AWSCredentials credentials = new BasicAWSCredentials("YourAccessKeyID", "YourSecretAccessKey");
2.創建S3 Client
AmazonS3 s3client = new AmazonS3Client(credentials);
3.創建Bucket
String bucketName = "javatutorial-net-example-bucket";
s3client.createBucket(bucketName);
4.獲取s3 Bucket的list
for (Bucket bucket : s3client.listBuckets()) {
System.out.println(" - " + bucket.getName());
}
5.在s3 Bucket中創建文件
public static void createFolder(String bucketName, String folderName, AmazonS3 client) {
// create meta-data for your folder and set content-length to 0
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentLength(0);
// create empty content
InputStream emptyContent = new ByteArrayInputStream(new byte[0]);
// create a PutObjectRequest passing the folder name suffixed by /
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName,
folderName + SUFFIX, emptyContent, metadata);
// send request to S3 to create folder
client.putObject(putObjectRequest);
}
6.上傳文件
String fileName = folderName + SUFFIX + "testvideo.mp4";
s3client.putObject(new PutObjectRequest(bucketName, fileName,
new File("C:\Users\user\Desktop\testvideo.mp4")));
7.刪除Bucket
s3client.deleteBucket(bucketName);
8.刪除文件
s3client.deleteObject(bucketName, fileName);

完整實例
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.InputStream;
import java.util.List;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.S3ObjectSummary;
public class AmazonS3Example {

private static final String SUFFIX = "/";

public static void main(String[] args) {
// credentials object identifying user for authentication
// user must have AWSConnector and AmazonS3FullAccess for
// this example to work
AWSCredentials credentials = new BasicAWSCredentials(
"YourAccessKeyID",
"YourSecretAccessKey");

// create a client connection based on credentials
AmazonS3 s3client = new AmazonS3Client(credentials);

// create bucket - name must be unique for all S3 users
String bucketName = "javatutorial-net-example-bucket";
s3client.createBucket(bucketName);

// list buckets
for (Bucket bucket : s3client.listBuckets()) {
System.out.println(" - " + bucket.getName());
}

// create folder into bucket
String folderName = "testfolder";
createFolder(bucketName, folderName, s3client);

// upload file to folder and set it to public
String fileName = folderName + SUFFIX + "testvideo.mp4";
s3client.putObject(new PutObjectRequest(bucketName, fileName,
new File("C:\Users\user\Desktop\testvideo.mp4"))
.withCannedAcl(CannedAccessControlList.PublicRead));

deleteFolder(bucketName, folderName, s3client);

// deletes bucket
s3client.deleteBucket(bucketName);
}

public static void createFolder(String bucketName, String folderName, AmazonS3 client) {
// create meta-data for your folder and set content-length to 0
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentLength(0);
// create empty content
InputStream emptyContent = new ByteArrayInputStream(new byte[0]);
// create a PutObjectRequest passing the folder name suffixed by /
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName,
folderName + SUFFIX, emptyContent, metadata);
// send request to S3 to create folder
client.putObject(putObjectRequest);
}
/**
* This method first deletes all the files in given folder and than the
* folder itself
*/
public static void deleteFolder(String bucketName, String folderName, AmazonS3 client) {
List fileList =
client.listObjects(bucketName, folderName).getObjectSummaries();
for (S3ObjectSummary file : fileList) {
client.deleteObject(bucketName, file.getKey());
}
client.deleteObject(bucketName, folderName);
}
}

參考:

https://javatutorial.net/java-s3-example

https://aws.amazon.com/cn/s3/getting-started/

python版的s3 api:

http://boto3.readthedocs.io/en/latest/guide/quickstart.html

總結

以上是生活随笔為你收集整理的Amazon S3 功能介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。