android - 在来自 Android 的所有 S3 调用上出现 504 错误
问题描述
在过去的几个小时里,每当我尝试将某些内容上传到 S3 时,我的应用程序就会开始出现此错误。
无法解组错误响应(无法解析 JSON 字符串。)。响应代码:504,响应文本:网关超时,响应标头:{X-Android-Selected-Protocol=http/1.1,Server=awselb/2.0,Connection=keep-alive,X-Android-Response-Source=NETWORK 504,X-Android-Sent-Millis=1606318289732,Content-Length=132,X-Android-Received-Millis=1606318300066,Date=Wed,2020 年 11 月 25 日 15:31:41 GMT,Content-Type=text/html}
我们使用它来实例化和上传我们的文件:
sTransferUtility = TransferUtility.builder()
.context(mActivity)
.awsConfiguration(AWSMobileClient.getInstance().getConfiguration())
.s3Client(new AmazonS3Client(sCredProvider, Region.getRegion(Regions.US_EAST_1)))
.build();
...
TransferObserver observer = sTransferUtility.upload(MY_BUCKET, mPictureFile.getName(), mPictureFile);
...
observer.setTransferListener(new TransferListener() {
@Override
public void onStateChanged(int id, TransferState state) {
if (state == TransferState.COMPLETED) {
...
} else if (state == TransferState.CANCELED || state == TransferState.FAILED) {
...
}
}
@Override
public void onProgressChanged(int id, long bytesCurrent, long bytesTotal) {
}
@Override
public void onError(int id, Exception ex) {
//THIS IS WHERE THE ERROR RETURNS
}
});
解决方案
显然 AWS us-east-1 区域存在一个重大问题。
太平洋标准时间上午 9:52:Kinesis Data Streams API 目前在 US-EAST-1 区域受损。因此,客户无法写入或读取发布到 Kinesis 流的数据。CloudWatch 指标和事件也受到影响,PutMetricData API 错误率升高和一些延迟指标。虽然 EC2 实例和连接保持健康,但某些实例的实例健康指标出现延迟,但仍处于健康状态。由于 CloudWatch 指标延迟,AutoScaling 也遇到了扩展时间延迟。该问题还影响其他服务,包括 ACM、Amplify Console、API Gateway、AppMesh、AppStream2、AppSync、Athena、Batch、CloudFormation、CloudTrail、Cognito、Connect、DynamoDB、EventBridge、Glue、IoT 服务、Lambda、LEX、托管区块链, Marketplace, Personalize, RDS, Resource Groups, SageMaker, 支持控制台、架构完善和工作区。有关每项服务的更多详细信息,请参阅个人健康仪表板。其他服务(如 S3)不受此事件的影响。此问题还影响了我们将更新发布到服务运行状况仪表板的能力。我们正在继续努力解决问题。
更多信息在这里:https ://status.aws.amazon.com/
推荐阅读
- python - 检索 ValueError 的问题:`decode_predictions` 需要一批预测
- powershell - WOL 在 Powershell 之外工作
- spring - Mongo DB 的 Spring Data 不会抛出 DuplicateKeyException
- sql - Postgres问题:a和b都不正确吗?
- pandas - int32和int64有什么区别
- dart - const 关键字问题如果我们将 [1,2] 设为常量,那么 geek1 == geek2 将打印 true 否则 false 如何?
- forms - 刷新表单中的所有记录 (Access 20160
- c# - 如何在.net c#中从API反序列化图像
- c++ - 如何通过莱布尼茨系列找到 pi 5 位的值
- pandas - 如何删除数据框中的时间段?