Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >uploadPart失败,无法执行HTTP请求:连接重置

uploadPart失败,无法执行HTTP请求:连接重置
EN

Stack Overflow用户
提问于 2014-08-14 02:46:29
回答 2查看 8.8K关注 0票数 5

我正在尝试使用多部分上传AWS S3 java执行文件上传(我使用的是SDK1.8.1)。我能够成功地执行上传。

但是,我断断续续地得到了这个例外。

7月31日,2014年4:39:38 AM com.amazonaws.http.AmazonHttpClient executeHelper信息:无法执行HTTP请求:连接重置java.net.SocketException:连接重置在java.net.SocketInputStream.read(SocketInputStream.java:121) at sun.security.ssl.InputRecord.readFully(InputRecord.java:312) at sun.security.ssl.InputRecord.read(InputRecord.java:350) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)在sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884) at sun.security.ssl.AppInputStream.read(AppInputStream.java:102) at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166) at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90) at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281) at org.apache.http.impl.conn.DefaultHttpResponseParser.org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254) org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252) at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191 parseHead(DefaultHttpResponseParser.java:92))在org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300) at com.amazonaws.http.protocol.SdkHttpRequestExecutor.doReceiveResponse(SdkHttpRequestExecutor.java:66) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127) at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:717) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:522) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:402) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:245) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3711) at com.amazonaws.services.s3.AmazonS3Client.uploadPart(AmazonS3Client.java:2809) at cloud<-filename->.writeContent(<-filename->.java:<-linenumber->)

在以下代码中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try {
                  _partETags.add(_s3.uploadPart(uploadPartReq).getPartETag());
      } catch (AmazonClientException e) {
                  System.out.println("Amazon service error. Retrying...");
                  printException(e);
      } catch (Exception e) {
                  printException(e);
                  throw new UserException("Received an exception while performing upload part");
      }

如果我看一下文档化,它会说uploadPart函数只会抛出两个类AmazonClientException和AmazonServiceException。

链接:http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3.html#uploadPart(com.amazonaws.services.s3.model.UploadPartRequest)

..。UploadPartResult uploadPart(UploadPartRequest request)抛AmazonClientException,AmazonServiceException .抛出: AmazonClientException --如果在进行请求或处理响应时客户端遇到任何错误。AmazonServiceException --如果在处理请求时亚马逊S3中发生了任何错误。..。

但是,我收到了不同的例外。

我有以下问题

  • 这是否是一种预期的行为,如果不是,我如何解决这个问题?
  • 为什么我的try catch块不能捕获这个异常?
  • 在AmazonClient或AmazonServiceException的情况下,是建议我们重新尝试上传,还是认为这些都是不可恢复的错误?
EN

回答 2

Stack Overflow用户

发布于 2015-06-27 08:24:10

这是来自AmazonS3Client的一条日志消息(在信息级别),它告诉您存在一个瞬态网络错误。默认情况下,AmazonS3Client捕获这类异常并为您重试上传。您可以通过ClientConfiguration来调整这种行为。如果在配置的重试次数之后,上传仍未成功,则将抛出一个AmazonClientException,如文档所示。

票数 1
EN

Stack Overflow用户

发布于 2018-08-13 04:58:17

当我试图通过eclipse上传我的项目AWS lambda时,我遵循了教程链接中的步骤:

https://examples.javacodegeeks.com/software-development/amazon-aws/tutorial-use-aws-lambda-s3-real-time-data-processing/

但是,在Eclipse中执行“将Lambda代码部署到AWS”的步骤时,右击代码并选择>将函数上传到Lambda ===>…

我面临的错误: 1)我收到了一个错误窗口,其中的消息是“未能将项目上传到Lambda,无法执行请求:通过对等程序重置连接:套接字写入错误”

2)我的Stack Tarce的第一行异常是:"com.amazonaws.SdkClientException:无法执行HTTP请求:通过对等方重置连接:由: java.net.SocketException:对等方重置连接:套接字写入错误引起的套接字写入错误“

3) Eclipse日志给出了这样的消息:“org.eclipse.core.databinding.ValueBinding.doUpdate(ValueBinding.java:158)”上的java.lang.NullPointerException

然后,我对eclipse网络连接做了一个小小的更改,从而更改了设置,因为我的代理设置阻止了将我的项目上传到lambda,因此我想出了如下解决方案:

解决方案: Window -> Preferences -> General -> Network Connection -> Active Provider作为“Direct.

然后尝试用相同的步骤将这个项目上传到lambda上,这对我来说是有效的。希望这对你也有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25306172

复制
相关文章
如何在 Python 中创建元组字典
本演练是关于在 Python 中创建元组字典的全部内容。此数据结构存储键值对。通过组合字典和元组,可以创建元组字典。好处是以结构化格式组织且可访问的数据。可以轻松表示每个键的多个值,例如学生成绩或联系信息。让我们看看它如何有效地存储和检索复杂数据。
很酷的站长
2023/08/11
2630
如何在 Python 中创建元组字典
创建 WebRTC 会话
一WebRTC 是一套基于 Web 的实时通信解决方案,通过浏览器内置的 API 来支持音视频通道的搭建。
派大星在吗
2021/12/05
5.6K0
如何在Python中创建天气警报系统
通过阅读这篇文章,你将学会用Python创建一个天气警报系统,当它预测未来几小时内天空将下雨/下雪时,它会向多个收件人发送一封电子邮件通知。电子邮件通知包含其他信息,如预测的温度和湿度。
HuangWeiAI
2020/12/18
2.6K0
python变量'创建,引用,销毁'
引用: 当参数被引用,python引用计数器自增1 python中列表和字典引用示例 列表: def add_list(p): p+=[3] 或 p=p+[3] //print结果不一致,+、+=实现不同方法 p=[1,2] add_list(p) print(p) 字典: def add_dictionary(): b=a={‘one’:1,’two’:2} print(‘{}’.format(a[‘one’])) b[‘one’]=2 b[‘two’]=1 print(‘{}’.format(b[‘one’]))
py3study
2020/01/07
1.9K0
Python变量之白首如新,倾盖如故
python中的变量 变量:将运算的中间结果暂存到内存中,方便后续程序调用。 变量的命名规则: 1、变量名由字母、数字、下划线组成。 2、变量名可以用字母、下划线开头,但是不能以数字开头。 3、变量名是区分大小写的。 4、变量名不能使用关键字。 5、变量名最好不要用中文或者拼音。 6、变量名最好起的要有意义,具有描述性。 7、变量名最好不要太长。 8、变量名最好使用驼峰命名法或者下划线命名法。
py3study
2020/01/17
5750
python中画雷达图_如何在Excel中创建雷达图
参考链接: Python | 使用XlsxWriter模块在Excel工作表中绘制雷达图
用户7886150
2020/12/23
2.3K0
如何在js中创建对象
七夕临近了,没有对象的来创建一个吧 使用对象字面量: const o = { name: "zehan", greeting() { return `Hi, 我是${this.name}`; } }; o.greeting(); // "Hi, zehan" 使用构造函数: function Person(name) { this.name = name; } Person.prototype.greeting = function () { return `Hi, 我是
ZEHAN
2020/09/23
7.6K0
如何在Dynamo中创建UI
本文介绍了如何在Dynamo中创建UI,通过使用WPF技术实现了窗口的创建和交互。首先介绍了IronPython和Dynamo的基础知识,然后讲解了实现原理和准备工作。最后通过具体的操作步骤和代码示例讲解了如何在Dynamo中创建UI。
企鹅号小编
2018/01/05
2.1K0
如何在Dynamo中创建UI
如何在Mac中创建MiniKube
Minikube是一个工具,可以在本地轻松运行Kubernetes。 Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kubernetes或日常开发的用户使用。
方志朋
2022/05/08
2.4K0
如何在Mac中创建MiniKube
Python动态创建变量的方法
Python内置函数exec()可以用来执行Python代码或内置函数compile()编译的代码对象,例如 >>> exec('print("hello world")') hello world >>> t = compile('print("hello world")', 'temp.tmp', 'exec') >>> t <code object <module> at 0x000001ED08FE5300, file "temp.tmp", line 1> >>> exec(t) hello wo
Python小屋屋主
2018/04/16
1.7K0
如何在Ubuntu14.04中创建Python虚拟环境
在Ubuntu14.04中安装Python相对比较容易些,最简单的安装方法就是apt-get安装了,具体的教程可以戳这篇文章:在Ubuntu14.04中如何安装Python3和切换py2和py3环境。今天小编给大家分享一下,如何在Ubuntu14.04创建Python虚拟环境,具体的教程如下。
Python进阶者
2018/09/16
1.6K0
如何在Ubuntu14.04中创建Python虚拟环境
在Ubuntu14.04中安装Python相对比较容易些,最简单的安装方法就是apt-get安装了,具体的教程可以戳这篇文章:在Ubuntu14.04中如何安装Python3和切换py2和py3环境。今天小编给大家分享一下,如何在Ubuntu14.04创建Python虚拟环境,具体的教程如下。
Python进阶者
2018/10/18
1.2K0
如何在Ubuntu14.04中创建Python虚拟环境
聊聊如何在K8S中实现会话保持
故事的起因是朋友所在的部门最近基于auth2实现单点登录,他们在测试环境单点登录,运行得好好的,但他们把单点登录上到预发布环境,发现单点登录不好使了。他们有部分系统是以授权码式接入,发现第一次登录拿到授权码进行换取token时,会提示授权码失效。而他们测试环境和预发布环境的代码是一样的。
lyb-geek
2023/03/14
1.4K0
聊聊如何在K8S中实现会话保持
如何在 WordPress 中创建联系表格?
假设我们有一个 WordPress 网站,并且我们想要添加一个功能,让他们可以联系他们所拥有的查询。我们可以通过使用网站上的 WordPress 插件添加联系表格来做到这一点。因此,这将为你的访问者提供一种与你联系的方式,当他们需要帮助或有什么要分享的时候。
海拥
2022/12/19
2.9K0
如何在 WordPress 中创建联系表格?
如何在 WordPress 中创建登录页面
登陆页面: 登陆页面是为特定受众制定的具有特定目标的目标页面,可以描述为“一页一目的”。登陆页面必须有一个“号召性用语”,并牢记特定目标。成功的着陆页是具有更高转化率、更高参与度和更高质量潜在客户的页面。
海拥
2022/10/04
2.9K0
如何在 WordPress 中创建登录页面
如何在git中创建新分支
介绍 Git 是一个开源版本控制系统,用于在软件开发过程中跟踪更改。它的相互独立的分支模型使其脱颖而出。分支可以基于以前版本的软件来保持当前进度的完整性,同时处理错误修复或新功能。 在本地创建 Git 存储库 要创建新的 Git 存储库,请在终端中输入以下命令: mkdir rumenz cd rumenz git init 这将在 rumenz 目录中创建并初始化一个新的 Git 存储库。创建一个新的降价文件并添加一行文本: echo This is a line of text > rumenz.md
入门笔记
2022/06/02
2.9K0
python中的变量
  什么是变量?总结不好也记不得它的完整定义,就举个例子来便于自己学习总结吧。假如我们要计算1+2的值,那么首先在内存中要存储两个值,一个是:1,一个是:2。内存中有了这两个值,计算的时候就会找到它们进行计算。但是我们可能是计算任意两个数相加,数学中我们常用 x+y 来表示两个任意的数相加。假如在程序中我们用a+b来表示两个数相加,那么当a=1,b=2时,就可以计算出1+2=3,此时这个a和b就是变量,它们也可以等于其他数值,结果也是随着数值的改变而改变的。a和b的值能变动,就叫变量。刚才说了内存中存了1和2,那么a和b与内存中的1和2有什么联系呢,可以理解为a=1,b=2就是把内存中的1取个名字叫a,内存中的2取个名字叫b。这样按名字就能找到它的值了。
py3study
2020/01/19
2.5K0
python中的变量
点击加载更多

相似问题

会话变量,如Python中的PHP

21

Python会话(如php)类

21

如何在DotNetNuke皮肤中创建会话变量?

10

如何在express中创建全局会话变量

112

创建会话时在Grails中创建会话变量

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文