lex*_*ore 5 amazon-web-services aws-cloudformation alexa-skills-kit
我正在开发 Alexa 技能,并希望使用 CloudFormation 为我的技能部署基础设施。
到目前为止,IAM 角色、策略和 lambda 函数部署工作正常。我缺少的是 Alexa Skill Kit 中用于 lambda 函数的触发器。
目前我必须在 AWS 控制台中手动创建此触发器:
或者通过 CLI:
aws lambda add-permission --function-name DeutscheDeklinationLambdaFunction --statement-id 1 --action lambda:invokeFunction --principal alexa-appkit.amazon.com --region eu-west-1
Run Code Online (Sandbox Code Playgroud)
但我更愿意通过 CloudFormation 配置此触发器。我认为应该是https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html,但我找不到如何为 Alexa Skills Kit 实现这一点。
经典,发布问题三分钟后我自己找到了答案。
在这种情况下,“trigger”实际上是 Alexa Skills Kit 调用的函数的 lambda 权限。所以可以这样配置:
DeutscheDeklinationLambdaFunctionPermission:
Type: AWS::Lambda::Permission
Properties:
Action: 'lambda:InvokeFunction'
FunctionName: !GetAtt DeutscheDeklinationLambdaFunction.Arn
Principal: alexa-appkit.amazon.com
EventSourceToken: !Ref AppId
Run Code Online (Sandbox Code Playgroud)
FunctionsName是函数的ARN,EventSourceToken是技能的id。
| 归档时间: |
|
| 查看次数: |
918 次 |
| 最近记录: |