java aws s3_java操作AWS S3一些坑记录
1,aws sdk jar版本不一致问题
一开始我在pom.xml中只配置了如下aws-java-sdk-s3
com.amazonaws
aws-java-sdk-s3
1.11.506
然后eclipse工程中如下截图,可以看到这3个jar版本不一致
然后我直接执行下面的代码put 字符串和上传文件
1 packagecom.hp.nova.common.tasksync.awss3;2
3 importjava.io.File;4 importjava.io.IOException;5
6 importcom.amazonaws.AmazonServiceException;7 importcom.amazonaws.SdkClientException;8 importcom.amazonaws.auth.AWSCredentials;9 importcom.amazonaws.auth.AWSStaticCredentialsProvider;10 importcom.amazonaws.auth.BasicAWSCredentials;11 importcom.amazonaws.auth.profile.ProfileCredentialsProvider;12 importcom.amazonaws.services.s3.AmazonS3;13 importcom.amazonaws.services.s3.AmazonS3ClientBuilder;14 importcom.amazonaws.services.s3.model.ObjectMetadata;15 importcom.amazonaws.services.s3.model.PutObjectRequest;16
17 public classUploadObject {18
19 public static void main(String[] args) throwsIOException {20 String clientRegion = "cn-northwest-1";21 String bucketName = "nova-test";22 String stringObjKeyName = "novatestkey";23 String fileObjKeyName = "test.txt";24 String fileName = "C:/nova_work_document/test.txt";25
26 try{27 AWSCredentials awsCredentials = new BasicAWSCredentials("Access key ID", "Secret access key");28 AmazonS3 s3Client =AmazonS3ClientBuilder.standard()29 .withRegion(clientRegion)30 .withCredentials(newAWSStaticCredentialsProvider(awsCredentials))31 .build();32
33 //Upload a text string as a new object.
34 s3Client.putObject(bucketName, stringObjKeyName, "Uploaded String Object");35
36 //Upload a file as a new object with ContentType and title specified.
37 PutObjectRequest request = new PutObjectRequest(bucketName, fileObjKeyName, newFile(fileName));38 ObjectMetadata metadata = newObjectMetadata();39 metadata.setContentType("plain/text");40 metadata.addUserMetadata("x-amz-meta-title", "someTitle");41 request.setMetadata(metadata);42 s3Client.putObject(request);43 }44 catch(AmazonServiceException e) {45 //The call was transmitted successfully, but Amazon S3 couldn't process46 //it, so it returned an error response.
47 e.printStackTrace();48 }49 catch(SdkClientException e) {50 //Amazon S3 couldn't be contacted for a response, or the client51 //couldn't parse the response from Amazon S3.
52 e.printStackTrace();53 }54 }55 }
就会报错如下
Exception in thread "main" java.lang.NoSuchFieldError: SIGNING_REGION
at com.amazonaws.services.s3.AmazonS3Client.createRequest(AmazonS3Client.java:4654)
at com.amazonaws.services.s3.AmazonS3Client.createRequest(AmazonS3Client.java:4630)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1706)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:3819)
at com.hp.nova.common.tasksync.awss3.UploadObject111.main(UploadObject111.java:34)
解决方法:
在pom.xml中把如下都配置上
com.amazonaws
aws-java-sdk-s3
1.11.506
com.amazonaws
aws-java-sdk-kms
1.11.506
com.amazonaws
aws-java-sdk-core
1.11.506
com.amazonaws
jmespath-java
1.11.506
jar包的情况如下图
然后执行就可以成功了
java aws s3_java操作AWS S3一些坑记录相关推荐
- IDEA JAVA gradle等常见工具/包 踩坑记录
IDEA如何远程调试: 需要注意运行的那个程序 需要加thread.sleep 参考官方案例(上)--------------需要wait for listening 等待调试机来连才行 总结: 加 ...
- aws s3 python_Python 操作amazon s3 | 学步园
Python 操作amazon s3 import os import boto from boto.s3.key import Key from boto.s3.connection import ...
- aws s3 cli_了解AWS CLI –使用AWS CLI与AWS S3存储桶进行交互
aws s3 cli It is the second article in the Learn AWS CLI series. It gives you an overview of working ...
- AWS Ec2实例挂载S3存储桶实践
AWS Ec2实例挂载S3存储桶实践 1.编译安装s3fs-fuse: 编译安装: sudo yum install -y automake fuse fuse-devel gcc-g++ git l ...
- AWS - 查看操作历史 - CloudTrail
在AWS中,想要查看账号的操作历史,可以从CloudTrail服务中查看. 通过CloudTrail,可以分别从几个维度查看: 用户名(User name) 事件名称(Event name) 资源类型 ...
- aws dynamodb_带有AWS DynamoDB的React式Spring Webflux
aws dynamodb AWS已经发布了Java版本2的AWS开发工具包 ,该开发工具包现在支持针对不同AWS服务的API调用的非阻塞IO. 在本文中,我将探讨如何使用AWS开发工具包2.x的Dyn ...
- aws cognito_使用AWS Cognito的用户管理—(1/3)初始设置
aws cognito by Kangze Huang 黄康泽 使用AWS Cognito的用户管理-(1/3)初始设置 (User Management with AWS Cognito - (1/ ...
- aws cli 使用_学习AWS CLI –使用AWS CLI探索IAM用户,角色,策略
aws cli 使用 AWS provides a command-line interface (AWS CLI) tool to work with its various cloud servi ...
- aws lambda_在AWS Lambda上运行“ Hello World”
aws lambda Let's run the "Hello World" example on AWS Lambda. I would recommend reading ab ...
最新文章
- 华人斩获最佳Demo论文,Bengio获时间检验奖,最佳论文突破NLP传统测试方法 | ACL 2020...
- nodejs中的exports和module.exports
- sql分区-纵向分表与横向分区表(转)
- 如何给容器服务的Docker增加数据盘
- jquery插件之thickbox
- ajax eval html,Ajax eval的应用示例
- java中 静态方法与成员方法何时使用
- c语言程序设计k.r,【答题】C语言程序设计问题与解释实验
- 《天天数学》连载19:一月十九日
- 你的成就只能代表着你过去的努力程度
- sb3转换html,scratch3程序如何转成HTML和制作成exe文件转换心得(小白篇)!
- 分布式数据库原理解析
- 小码哥教育Vuejs笔记
- CloudNative:云原生(分布式云)的简介(发展演变/为什么需要/优势价值/安全/对比传统企业应用)、四大核心技术、CNCF云原生交互景观、云原生技术的使用经验及方法之详细攻略
- 第三届蓝桥杯B组 C/C++取球游戏
- 本质安全设备标准(IEC60079-11)的理解(一)
- 水库水雨情监测系统方案分享-水库水位监测-水情监测
- 速率法和终点法的区别_生化反应曲线解析1(终点法)
- UVA - 12627 - Erratic Expansion(找规律递归)
- 华为WATCH GT3正式开售,健康监测和运动管理我全都要
热门文章
- 云网络丢包故障定位全景指南
- 建议收藏 | 全面解析 50+条 SQL 语句性能优化策略
- 如果我是面试官,我会问你 Spring 那些问题?
- 设计模式:工厂方法模式(Factory Method)和抽象工厂模式(Abstact Factory)
- WebRTC的现状和未来:专访W3C WebRTC Chair Bernard Aboba(下)
- 做音视频开发,你读对书了吗?(内有福利)
- Aupera:FPGA让视频编码与AI结合水到渠成
- 2017-2018:WebRTC标准演进与发展瓶颈
- Serverless:云函数 + 小马BI,将报表极速搬上云
- PMP之工具与技术---假设条件和制约因素