繁体   English   中英

如何在使用 Java SQS SDK 时克服 AWS V1 + V2 不匹配

[英]How to overcome AWS V1 + V2 mismatch while using Java SQS SDK

我有以下 Maven 导入的代码:

从 pom.xml:

    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>sqs</artifactId>
        <version>2.14.23</version>
    </dependency>

代码:(注意这是 AWS V2)

    SqsClient sqs = SqsClient.builder()
                .region(Region.US_EAST_1)
                .build();

我的其余 AWS 代码和导入使用 V1。 在本地运行此代码时没有问题,但是当我通过 Lambda --> step 函数执行它时,出现以下异常:

错误 software.amazon.awssdk.core.exception.SdkClientException 原因 {“errorMessage”:“无法为客户端实例化执行程序拦截器。”,“errorType”:“software.amazon.awssdk.core.exception.SdkClientException”,“stackTrace” : [ "software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:98)", "software.amazon.awssdk.core.interceptor.ClasspathInterceptorChainFactory.createExecutionInterceptor(ClasspathInterceptorChainFactory.java:140)", "software.amazon.awssdk.core.interceptor.ClasspathInterceptorChainFactory.createExecutionInterceptorFromResource(ClasspathInterceptorChainFactory.java:95)", "java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:269)", "java.util.ArrayList $ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)", "java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)", "java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)" , "java.util.stream.ReduceOps$ReduceOp.evaluate Sequential(ReduceOps.java:708)", "java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)... ], "cause": { "errorMessage": "software.amazon.awssdk.services. sqs.internal.MessageMD5ChecksumInterceptor。 当前类路径:file:/var/task/", "errorType": "java.lang.ClassNotFoundException", "stackTrace": [] } }

我正在使用 maven shaded 插件来减少我的 JAR 大小,但是,当我在本地运行此代码时,它可以正常工作,没有任何问题。 知道如何解决这个问题吗?

感谢@Susan Mustafa 为我提供解决方案,感谢@Parsifal 为您提供帮助。

正如 Susan 链接所建议的,我通过向我的 maven shade 插件添加一个过滤器来解决这个问题:

                        <filter>
                            <artifact>software.amazon.awssdk:sqs</artifact>
                            <includes>
                                <include>**</include>
                            </includes>
                        </filter>
                

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM