-4

サーバーレス構成に問題があり、その結果、ラムダ機能がトリガーなしで展開されています。サーバーレスイベントがありません

私は以下のように、私のスキルのための主要なserverless.ymlを持っている:

サービス:$ {ファイル(./$ {ENV:DEPLOY_FILE_NAME}):サービス}

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} 

その後、私は2組のyaml設定ファイルがあります。 $のための一つの{skill_type} _ $ {}ローカライズすなわちcustomskill_eu.ymlとなど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 

何が問題であるような別のステージ固有の$ {} skill_type $ {}ローカライズ {$段階}?お知らせ下さい。

ありがとうございます。

+0

@Anthon - なぜあなたは自分のタグを編集しましたか? –

+3

あなたのファイルは正しいYAMLです。あなたの質問は、例えばYAMLと同様にYAMLと関係があります。 ASCII。 YAMLのタグの説明を読むと、不適切で誤解を招くことがわかります。 – Anthon

+0

私の意見では、誰かを助けて何の役にも立たない人が、おそらく役に立たないバッジを得るために、それについて言わなければならないことはすべて言います。私が好きな映画のキャラクターを言い換えると... –

答えて

1

イベントを関数に追加する必要があります。サーバーレスのdocumentationを読んでイベントを確認してください。

現在、サーバレスでAPIゲートウェイ、キネシス、DynamoDBの、S3、スケジュール、SNS、およびAlexaのスキルによって呼び出されるようにラムダをサポートしています。 read more

この場合、必要なeventsタグを追加すると問題が解決するはずです。

... 
functions: 
    smartHome: 
    handler: ${file(./${env:DEPLOY_FILE_NAME_STAGE}):handler} 
    events: ${file(./${env:DEPLOY_FILE_NAME}):events} 
... 

また、あなたは常に、サーバーレスresourcesノード内の伝統的なCloudFormationの形式を使用して、すべてのリソースとそのアクションを定義することができます。

+0

私はそれが私の必要とするものだと思っていました。私の設定は上記です。私には何か変わったことがありますか? –

+0

最初に行う必要があることは、eventsタグを移動してfunctions要素内に置くことです。更新された回答の例をご覧ください。 – lebryant

+0

ありがとう、探し始めました。あなたは時間をとっていただきありがとうございます。 –

関連する問題