Aws lambda 如何在函数事件中设置现有的动画流arn
我正在使用无服务器框架并尝试使用事件/触发器定义部署Lambda函数。 事件源是已存在的动画流。 我试图用Fn::Join函数设置stream ARN,但它似乎不受支持。 如何在不硬编码AWS区域和帐户Id的情况下设置事件流ARN 我的yml代码:Aws lambda 如何在函数事件中设置现有的动画流arn,aws-lambda,serverless-framework,Aws Lambda,Serverless Framework,我正在使用无服务器框架并尝试使用事件/触发器定义部署Lambda函数。 事件源是已存在的动画流。 我试图用Fn::Join函数设置stream ARN,但它似乎不受支持。 如何在不硬编码AWS区域和帐户Id的情况下设置事件流ARN 我的yml代码: functions: myfunction: handler: myfunction.handler name: myfunction-name memorySize: 128 timeout: 120
functions:
myfunction:
handler: myfunction.handler
name: myfunction-name
memorySize: 128
timeout: 120
events:
- stream:
type: kinesis
arn:
Fn::Join:
- ""
- - "arn:aws:kinesis:"
- Ref: AWS::Region
- ":"
- Ref: AWS::AccountId
- ":stream/xxxxxxx"
batchSize: 300
startingPosition: LATEST
enabled: true
使用Fn::GetAtt
来自aws文件:
Fn::GetAtt
返回Arn属性的值
Arn
Kinesis流的Amazon资源名(ARN),例如ARN:aws:Kinesis:us-east-2:123456789012:stream/mystream
有关使用Fn::GetAtt的更多信息,请参见我喜欢连接上的子函数的简单性和可读性
!子arn:aws:kinesis:${aws::Region}:${aws::AccountId}:stream/xxxx
重读它与无服务器框架相关的内容,我会利用这个插件:感谢您的响应。。。由于Kinesis流已经存在,它的定义包含在我的yml中,因此我不能将Fn:GetAtt引用到任何资源。我还试图将运动流设置为yml中的资源,但出现了一个错误“该流已经存在”。有没有一种方法可以引用已经存在的资源?您可以看到如何做:运动流已经存在,并且不是由不同的CF创建的。这就是我所做的。谢谢