EC2到S3上传错误区域
EC2 to S3 Upload Wrong Region
我正在尝试将文件从 US-EAST-1 中的 EC2 实例上传到 US-EAST-1 中的 S3 存储桶,但是当我使用 Java SDK 但使用 Scala 时:
//create AWS credentials class\
val credentials = new BasicAWSCredentials(accessKey, secretKey)
//Create connection to S3
val conn = new AmazonS3Client(credentials)
并尝试将我的文件放入:
conn.putObject(bucket, sourceSystems(i) + "/" + fileName, fileToUpload)
我收到以下错误:
INFO: Unable to execute HTTP request: Connect to s3-us-west-1.amazonaws.com:443 [s3-us-west-1.amazonaws.com/xxxxxxxxx] failed: connect timed out
org.apache.http.conn.ConnectTimeoutException: Connect to s3-us-west-1.amazonaws.com:443 [s3-us-west-1.amazonaws.com/xxxxxxxx] failed: connect timed out
为什么当 EC2 实例位于 US-EAST-1 时默认尝试加载到 US-WEST-1
地区us-east-1
为默认地区。如果它正在尝试连接到 us-west-1
,那么您已经更改了默认区域设置。由于您没有在代码中显示正在设置的区域,我假设它是通过 ~/.aws
中的配置文件或通过环境变量设置的。
您可以阅读有关 AWS SDK 配置设置的信息 here。
我在从 aws-java-sdk:1.10.46
升级到 aws-java-sdk:1.11.49
时看到了这种行为。
请注意,我们明确没有在 java 代码或 ~/.aws
目录中配置区域。而我们是运行一个没有userhome目录的用户下的进程。
此外,我完全不同意 us-east-1
是 java sdk 的默认区域。我建议它实际上是 us-west-1
,如下所示:
我正在尝试将文件从 US-EAST-1 中的 EC2 实例上传到 US-EAST-1 中的 S3 存储桶,但是当我使用 Java SDK 但使用 Scala 时:
//create AWS credentials class\
val credentials = new BasicAWSCredentials(accessKey, secretKey)
//Create connection to S3
val conn = new AmazonS3Client(credentials)
并尝试将我的文件放入:
conn.putObject(bucket, sourceSystems(i) + "/" + fileName, fileToUpload)
我收到以下错误:
INFO: Unable to execute HTTP request: Connect to s3-us-west-1.amazonaws.com:443 [s3-us-west-1.amazonaws.com/xxxxxxxxx] failed: connect timed out
org.apache.http.conn.ConnectTimeoutException: Connect to s3-us-west-1.amazonaws.com:443 [s3-us-west-1.amazonaws.com/xxxxxxxx] failed: connect timed out
为什么当 EC2 实例位于 US-EAST-1 时默认尝试加载到 US-WEST-1
地区us-east-1
为默认地区。如果它正在尝试连接到 us-west-1
,那么您已经更改了默认区域设置。由于您没有在代码中显示正在设置的区域,我假设它是通过 ~/.aws
中的配置文件或通过环境变量设置的。
您可以阅读有关 AWS SDK 配置设置的信息 here。
我在从 aws-java-sdk:1.10.46
升级到 aws-java-sdk:1.11.49
时看到了这种行为。
请注意,我们明确没有在 java 代码或 ~/.aws
目录中配置区域。而我们是运行一个没有userhome目录的用户下的进程。
此外,我完全不同意 us-east-1
是 java sdk 的默认区域。我建议它实际上是 us-west-1
,如下所示: