Localstack 为 java 集成测试创建 SNS 主题

Localstack create SNS topic for java integration test

我正在编写一个集成测试,我在其中使用堆栈启动本地堆栈 docker 容器模拟 AWS 服务。

此代码将启动 docker 容器

@RunWith(LocalstackTestRunner.class)
@LocalstackDockerProperties(services = {"dynamodb", "sns"})

然后我从我的一个测试中调用我的应用程序的发布者。但是我发现主题未找到异常

com.amazonaws.services.sns.model.NotFoundException: Topic does not exist (Service: AmazonSNS; Status Code: 404; Error Code: NotFound; Request ID: 06c6a626)

我似乎无法在线找到使用 java 为单元测试创​​建 SNS 主题的好示例。我可以找到一个用于 aws CLI 的命令,它可以像这样创建它

$ aws --endpoint-url=http://localhost:4575 sns create-topic --name my_topic

但我正在寻找可以在 spring 启动单元测试中使用的东西。

AmazonSNS amazonSNS = DockerTestUtils.getClientSNS();
amazonSNS.createTopic("testTopic");

@Before 或测试开始时。