我试图通过我的serverless.yml文件创建一个lambda触发的aws我能够创建Kinesis流并通过yml进程将它附加到lambda没有问题,但我不能同时做到这两个,似乎是一种竞争条件。
我通过资源功能(https://serverless.com/framework/docs/providers/aws/guide/resources/)创建Kinesis strea:
resources: // CloudFormation template syntax
Resources:
streamName:
Type: AWS::Kinesis::Stream
Properties:
Name: kinesis-stream
ShardCount: 1
我可以通过这种方式附加Lambda:https://serverless.com/framework/docs/providers/aws/events/streams/
然而,当我同时执行这两项操作时,Lambda似乎遇到了竞争条件部署,我必须在lambda上手动重新启用kinesis触发器。这似乎是因为这两者都是并行创建的,并且当Lambda将其添加为触发器时,流不存在。
是否有解决方法/最佳做法?是在部署无服务器元素之前创建流的唯一解决方案吗?