亚马逊S3 存储类收费标准
时间: 2023-10-06 16:04:21 浏览: 482
亚马逊S3存储类有以下几种,每种存储类的收费标准不同:
1. 标准存储(S3 Standard):适用于需要高可用性、高吞吐量和低延迟的数据存储。收费标准为每GB每月$0.023。
2. 低频访问存储(S3 Standard-Infrequent Access):适用于需要不经常访问但需要快速访问的数据存储,比如备份和归档数据。收费标准为每GB每月$0.0125。
3. 普通访问存储(S3 Intelligent-Tiering):适用于需要长期存储的数据,可以根据数据的访问频率自动选择最适合的存储类别。收费标准为每GB每月$0.023。
4. 冷存储(S3 Glacier):适用于需要长期存储且几乎不需要访问的数据,比如归档数据。收费标准为每GB每月$0.004。
5. 深度归档存储(S3 Glacier Deep Archive):适用于需要长期存储且极少访问的数据,比如法律和监管要求的数据存档。收费标准为每GB每月$0.00099。
除了存储费用,还有数据传输费用、请求费用、数据检索费用等,具体收费标准可以在亚马逊S3官方网站上查看。
相关问题
亚马逊s3存储工具类java
你好,以下是使用Java语言操作AWS S3存储的示例代码:
1. 引入AWS Java SDK依赖
```xml
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.875</version>
</dependency>
```
2. 创建S3客户端
```java
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withRegion(Regions.US_EAST_1) // 设置存储桶所在的区域
.build();
```
3. 创建存储桶
```java
String bucketName = "your-bucket-name";
if (!s3Client.doesBucketExistV2(bucketName)) {
s3Client.createBucket(bucketName);
}
```
4. 上传文件到存储桶
```java
String key = "your-object-key";
File file = new File("your-file-path");
s3Client.putObject(bucketName, key, file);
```
5. 下载文件
```java
String key = "your-object-key";
File file = new File("your-download-file-path");
s3Client.getObject(new GetObjectRequest(bucketName, key), file);
```
6. 删除文件
```java
String key = "your-object-key";
s3Client.deleteObject(bucketName, key);
```
以上是一个简单的示例,你可以根据自己的需求进行更多的操作,如列出存储桶中的文件、设置文件权限等。希望对你有所帮助。
亚马逊s3存储工具类java实现批量上传文件
以下是使用Java语言实现批量上传文件到AWS S3存储的示例代码:
```java
import java.io.File;
import java.util.List;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.PutObjectRequest;
public class S3Util {
private static final String S3_ENDPOINT = "your-s3-endpoint-url";
private static final String S3_REGION = "your-s3-region";
private static final String S3_ACCESS_KEY = "your-s3-access-key";
private static final String S3_SECRET_KEY = "your-s3-secret-key";
private static final String S3_BUCKET_NAME = "your-s3-bucket-name";
public static void uploadFiles(List<File> files) {
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(S3_ENDPOINT, S3_REGION))
.withCredentials(new DefaultAWSCredentialsProviderChain())
.build();
try {
for (File file : files) {
String key = file.getName();
PutObjectRequest request = new PutObjectRequest(S3_BUCKET_NAME, key, file);
s3Client.putObject(request);
}
} catch (AmazonServiceException e) {
e.printStackTrace();
} catch (SdkClientException e) {
e.printStackTrace();
}
}
}
```
使用时,只需传入需要上传的文件列表即可:
```java
List<File> files = new ArrayList<>();
files.add(new File("file1"));
files.add(new File("file2"));
S3Util.uploadFiles(files);
```
在上述代码中,我们使用了AWS SDK的`AmazonS3`客户端,通过`withEndpointConfiguration`方法设置S3的Endpoint URL和Region,`withCredentials`方法设置S3的Access Key和Secret Key,`build`方法创建S3客户端。在上传文件时,我们使用了`PutObjectRequest`对象,其中包含了需要上传的文件、存储桶名称和对象名称,通过`putObject`方法将文件上传到S3存储中。
希望对你有所帮助!
阅读全文