AWS Java SDK 2.15.73(当前最新版本)。Java 1.8.222操作系统IBM AIX 7.1
开发一个将文件上传到S3 bucket的应用程序。
在Maven pom文件中:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.15.73</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>apache-client</artifactId>
<version>2.0.0-preview-10</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>http-client-spi</artifactId>
<version>2.0.0-preview-10</version>
</dependency>
</dependencies>
Stacktrace的开始:
异常在sendFileToAWSNoAuth=无法马歇尔请求JSON: BasUri不得为空。software.amazon.awssdk.core.exception.SdkClientExc0019:无法马歇尔请求JSON: BasUri不得为空。在software.amazon.awssdk.core.exception.SdkClientExc0019$BuilderImpl.build(SdkClientException.java:98)在software.amazon.awssdk.services.s3.transform.PutObject刚需arshaller.marshall(PutObject刚需arshaller.java:53)在software.amazon.awssdk.services.s3.transform.PutObject刚需arshaller.marshall(PutObject刚需arshaller.java:31)在software.amazon.awssdk.core.runtime.transform.Streaming刚需arshaller.marshall(Streaming刚需arshaller.java:48)
Java代码:
需要身份验证,并通过代理服务器执行。
字符串endPointURL=appParms.getProxyServer()“:”appParms.getProxyServerPort();
URI endPointUri=new URI(endPointURL);
ProxyConfiguration proxyConfig=ProxyConfiguration.builder().endpoint(endPointUri.build();
SdkHttpClient httpClient=ApacheSdkHttpClientFactory.builder().proxyConfiguration(proxyConfig.build().createHttpClient();
ProfileCredentialsProvider credentialsProfile=ProfileCredentialsProvider.builder().profileName(appParms.getProfileName()).build();
Region Region=Region.EU_CENTRAL_1;S3Client S3NoEncryption=S3Client.builder().credentialsProvider(credentialsProfile).region(region).endpointOverride(endPointUri).httpClient(httpClient).build();
String folderKey=appParms.getBucketFolder() "/" appParms.getFileName();
File aFile=新文件(appParms.getFilePath()“/”appParms.getFileName());
PutObjectRequest putOb=PutObjectRequest.builder()。桶(appParms.getBucketNameSSE())。key(folderKey)。构建();
PutObjectResponse=s3NoEncryption.putObject(putOb,aFile.toPath());
异常发生在最后一行(s3NonEncryption.put对象)
此基本URI不得为空错误是由S3Client.builder.中的endpoint Overide(endPointUri)引起的。
在http客户端创建中,还使用了类ApacheSdkHttpClientFactory,该类在运行时导致各种类型的类不匹配错误。
正确的方法是使用ApacheHttpClient类:
SdkHttpClient http pClient=ApacheHttpClient.builder(). proxyConfiguration(proxyConfig). ConnectionTimeout(Duration.ofMillis(30000)). build();
执行中仍然存在超时错误。
software.amazon.awssdk.core.exception.SdkClientException:无法执行HTTP请求:连接到bdw-landing-sse-test-s3.s3.eu-central-1.amazonaws.com:443[bdw-landing-sse-test-s3.s3.eu-central-1.amazonaws.com/52.219.72.81]失败:连接在software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build处超时位于software.amazon.awssdk.core.exception.SdkClientException.create(SdkClientException.java:43)的software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.setLastException(RetryableStageHelper.java:198)
我一直在尝试将文件上传到s3存储桶。但该文件从未公开供查看。我必须手动将bucket中的文件/文件夹公开(每次上传时),以便查看。 有没有一种方法可以上传一个Android文件(位图),该文件的默认权限是在运行期间公开查看。如果可能的话,我更愿意通过编程来实现这一点。我查看了s3文档,没有找到任何有用的东西。
我正试图通过React将文件上载到s3存储桶,我正在与4xx和5xx进行斗争:( 下面是我的代码库: 如果我发了这篇文章,我会得到500英镑,而这个错误是: java.io.IOException:UT000036:解析多部分数据时连接终止 我还注意到documents属性为空: 这是后端的API文档: 谢谢!
我想从hadoop上传一些文件到AWS bucket。我有AWS访问密钥、保密密钥和S3导入路径。 我无法通过AWS CLI命令访问。我在aws凭证文件中设置了密钥。我尝试执行“aws s3 ls ”,但得到的错误是 由于上面的代码不起作用,我尝试使用distcp命令,如下所示。 对于上面的命令,我也得到下面的错误。 18/11/09 00:55:40信息http.AmazonHttpClient
我是Dropwizard的新手。我想在我的项目中实现AWS S3文件上传服务。 我没有收到任何通过拖放在AWS S3上上传文件的教程。 我在pom.xml中添加了以下依赖项 我已经注册了多部分功能。将应用程序类的run()方法中的- 然后在资源类中定义方法为- 但在运行时,它显示以下日志:- 如何获取上传文件的url?如何通过编码检查文件上传?我遗漏了什么吗?有人知道这件事吗。如果dropwiza
我试图在AWSS3中上传错误文件,但它显示错误,如“您试图访问的存储桶必须使用指定的endpoint寻址。请将所有未来的请求发送到此endpoint:”test9011960909。s3。亚马逊。com“ 我还指定了“区域”= 当我指定时,它正在工作 但我想把文件上传到主bucket的子文件夹中 我已经应用了AWS S3批准的答案:您试图访问的桶必须使用指定的终结点进行寻址 但仍然得到同样的错误,
我正在使用lambda nodejs将文件上传到ftp服务器。 上传文件的源代码: index.js文件: 运行后的日志: 回应: 零 请求ID: “9c8e1701-ad54-42eb-8dc6-bbed77bc9b41” 函数日志: 开始请求id:9c8e 1701-ad54-42e b-8dc 6-bbed 77 BC 9 b 41版本:$最新 结束请求ID:9c8e1701-ad54-42