【发布时间】:2017-04-23 14:42:55
【问题描述】:
我的无服务器配置存在问题,导致 lambda 函数在没有触发器的情况下被部署。
我的技能有一个主要的 serverless.yml,如下所示:
服务:${file(./${env:DEPLOY_FILE_NAME}):service}
provider:
name: aws
custom:
globalSchedule: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):globalSchedule}
roleName: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):roleName}
profileName: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):profileName}
plugins:
- pluginHandler
runtime: nodejs4.3
cfLogs: true
stage: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):stage}
region: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):region}
memorySize: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):memorySize}
timeout: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):timeout}
keepWarm: false
useApigateway: false
events:
${file(./${env:DEPLOY_FILE_NAME}):events}
package:
exclude:
${file(./${env:DEPLOY_FILE_NAME}):exclude}
functions:
smartHome:
handler: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):handler}
然后,我有两组 yaml 设置文件。一个用于 ${skill_type}_${localization},即customskill_eu.yml,另一个用于特定阶段的 ${skill_type}${localization}{$stage},如 smarthome_us_dev.yml 等。
service: alexa-SmartHomeSkillAdapter
exclude:
- app.js
- .idea/**
- .npmignore/**
- .jshintrc
- build/**
- documentation.docx
- dist/**
- event.json
- lambda_function_custom_skill.js
- resources/**
- custom_skill_eu.yml
- custom_skill_us.yml
- smart_home_eu.yml
- smart_home_us.yml
- serverless_settings/**
- tests/**
events:
- s3: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):s3}
- alexaSmartHome: amzn1.ask.skill.d48263be-c7ef-4d61-a773-d6431567e6d6
怎么了?请指教。
谢谢。
【问题讨论】:
-
@Anthon - 你为什么要编辑我的标签?
-
您的文件是正确的 YAML,您的问题与 YAML 的关系与例如ASCII。阅读 YAML 的标签说明,您会发现它不恰当且具有误导性。
-
在我看来,当一个无所事事的人投票反对某人,也许是为了获得一个无用的徽章,它说明了一切。如果我要改写我最喜欢的电影角色......
-
如果人们对您的问题投反对票,原因可能是:“这个问题没有显示任何研究成果;不清楚或没有用”。作为我们创建具有质量问题和答案的数据库(这是Stack Overflow 的目标)的努力的一部分,否决投票通常是必要的,因此它是本网站的一个有目的的功能。除此之外,您已经表现出拒绝通过恢复对您的帖子的改进来获得帮助,实际上在必要时进一步改进。更好的问题更有可能吸引答案。
-
这里需要处理的是您的帖子,但您并没有改进它,而是将您的时间花在了一位试图帮助您学习如何使用本网站的人身上。稍微努力一下就可以使它成为一个可以接受的帖子,但是因为没有:-1
标签: node.js amazon-web-services yaml aws-lambda serverless-framework