写入数据框时出现AWS Signature不匹配错误

时间:2018-08-10 07:22:44

标签: apache-spark dataframe apache-spark-sql

在将实木复合地板中的数据帧写入AWS S3时,出现AWS签名不匹配错误。已经检查了密钥,IAM用户,一切都很好。

一个谜是,如果我使用合并,那么在大多数情况下不会出现此错误,但是我无法找到根本原因或最佳解决方案。

仅供参考,错误日志:

“ com.amazonaws.services.s3.model.AmazonS3Exception:状态代码:403,AWS服务:Amazon S3,AWS请求ID:OPK923D40DC871BE,AWS错误代码:SignatureDoesNotMatch,AWS错误消息:我们计算出的请求签名没有匹配您提供的签名。检查您的密钥和签名方法.S3扩展请求ID:lUYFTHsQCfzgbb02ai8q0O8B9HRFpv4OawjGFHpH2E8pikCersgw098LPbQHhJ7f6We6H6tXqph797797 \ at com.amazonaws.http.AmazonHttpClient.Http.AmazonHttpClient。 com.amazonaws上的.java:425).com.amazonaws.services.s3上的http.AmazonHttpClient.execute(AmazonHttpClient.java:232).com.amazonaws.services.s3上的AmazonS3Client.invoke(AmazonS3Client.java:3577)。 com.amazonaws.services.s3.transfer.internal.CopyCallable.call(com.amazonaws.services.s3.transfer.internal.CopyCallable.copyInOneChunk(CopyCallable.java:143)处的AmazonS3Client.copyObject(AmazonS3Client.java:1512) com的CopyCallable.java:131)。位于com.amazonaws.services.s3.transfer.internal.CopyMonitor.call(CopyMonitor.java:139)处的amazonaws.services.s3.transfer.internal.CopyMonitor.copy(CopyMonitor.java:194)。 s3.transfer.internal.CopyMonitor.call(CopyMonitor.java:46)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)在java.lang.Thread.run(Thread.java:748)的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)“

0 个答案:

没有答案