我有一堆代码,用于从S3存储桶读取数据/向S3存储桶写入数据。
在新的AWS区域(最初部署在eu-west-1上,然后在ap-east-1区域上进行新的复制)上复制此代码之后。我遇到以下错误:
com.amazonaws.services.s3.model.AmazonS3Exception: Status Code: 400, AWS Service: Amazon S3, AWS Request ID: SOMEID, AWS Error Code: null, AWS Error Message: Bad Request, S3 Extended Request ID: SOMEREQUESTID
调查后,从S3AFileSystem.java的以下行引发了错误
if (!s3.doesBucketExist(bucket)) {
在这里,对存储桶执行HEAD操作。
经过调查,似乎端点始终为https://react.semantic-ui.com/views/card/#content-content-block,并且应在https://s3.amazonaws.com上触发头请求(当fs.s3a.path.style.access
为{{1}时) })
使用false
环境变量指定区域不会修改该行为。
最新信息,这是我在build.sbt中定义的依赖项
AWS_DEFAULT_REGION
不用说,只要我指向eu-west-1配置中的存储桶,代码就可以工作。 我该怎么做(在我的代码或我的存储桶配置上)以允许我的代码加载文件。
记录下来,代码是
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.2.0"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.2.0"
libraryDependencies += "org.apache.hadoop" % "hadoop-aws" % "2.7.3"