如何在函数事件中设置现有的运动流 arn
how to set existing kinesis stream arn in function event
我正在使用无服务器框架并尝试使用 event/trigger 定义部署 Lambda 函数。
事件源是已经存在的 Kinesis 流。
我正在尝试使用 Fn::Join 函数设置流 ARN,但它似乎不受支持。
如何在不对 AWS 区域和账户 ID 进行硬编码的情况下设置事件流 ARN?
我的yml代码:
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
returns Arn 属性的值。
阿恩
Kinesis 流的 Amazon 资源名称 (ARN),例如 arn:aws:kinesis:us-east-2:123456789012:stream/mystream.
有关使用 Fn::GetAtt 的详细信息,请参阅 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html
我喜欢 sub 函数相对于 join 的简单性和可读性。
!Sub arn:aws:kinesis:${AWS::Region}:${AWS::AccountId}:stream/xxxx
重新阅读它与无服务器框架相关,我会利用这个插件:https://www.npmjs.com/package/serverless-pseudo-parameters
我正在使用无服务器框架并尝试使用 event/trigger 定义部署 Lambda 函数。 事件源是已经存在的 Kinesis 流。 我正在尝试使用 Fn::Join 函数设置流 ARN,但它似乎不受支持。 如何在不对 AWS 区域和账户 ID 进行硬编码的情况下设置事件流 ARN?
我的yml代码:
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
returns Arn 属性的值。
阿恩
Kinesis 流的 Amazon 资源名称 (ARN),例如 arn:aws:kinesis:us-east-2:123456789012:stream/mystream.
有关使用 Fn::GetAtt 的详细信息,请参阅 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html
我喜欢 sub 函数相对于 join 的简单性和可读性。
!Sub arn:aws:kinesis:${AWS::Region}:${AWS::AccountId}:stream/xxxx
重新阅读它与无服务器框架相关,我会利用这个插件:https://www.npmjs.com/package/serverless-pseudo-parameters