作为将 AWS Spring Cloud 升级到 3.x(以及 AWS SDK 到 2.x)的一部分,我正在尝试以下操作:
Change
from
visibility.extend(Number);
to
visibility.changeTo(Number);
但是,我收到以下错误:
software.amazon.awssdk.services.sqs.model.SqsException: is not authorized to perform: sqs:changemessagevisibility
注释上面的 visibility 行将按预期工作并且消息将被处理。问题只是可见性扩展。
如果您有任何线索,请告诉我。
谢谢!
但是,Spring Cloud 2.x 和 3.x 之间在权限方面似乎存在一些变化。
我不确定是否有其他方法/途径可用于此功能。
我能够解决此错误。
解决方法是,如果是异步SQS客户端(SqsAsyncClient),调用以下方法即可解决问题。
visibility.changeToAsync(秒)。
导入语句为 import io.awspring.cloud.sqs.listener.Visibility;