如何在函数事件中设置现有的kinesis流arn

时间:2018-02-04 09:09:54

标签: aws-lambda serverless-framework

我正在使用无服务器框架并尝试使用事件/触发器定义部署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

2 个答案:

答案 0 :(得分:0)

使用Fn :: GetAtt。

来自aws文档:

<强> FN :: GetAtt

返回Arn属性的值。

<强>阿恩

Kinesis流的亚马逊资源名称(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

答案 1 :(得分:0)

我喜欢子函数在连接上的简单性和可读性。

{{1}}

重读它与无服务器框架有关,我利用这个插件:https://www.npmjs.com/package/serverless-pseudo-parameters