【问题标题】:YAML bad mapping issueYAML 错误映射问题
【发布时间】:2021-04-29 02:37:12
【问题描述】:
list:
  handler: todos/list.list
  events:
    - http:
       path: todos
       method: 'use strict'
       const AWS = require('aws-sdk'); 
       const dynamoDb = new AWS.DynamoDB.DocumentClient(); 
       const params = {  
         TableName: "StreamData", 
         Item: { 
           ID: uuid.v1(), 
           name: data.name, 
           description: data.description, 
           price: data.price, 
           imageURL: data.imageURL }, }; 
         module.exports.list = (event, context, callback) => { dynamoDb.scan(params, (error, result) => { if (error) { console.error(error); callback(null, { statusCode: error.statusCode || 501, 
         headers: { 
           'Content-Type': 'text/plain' }, 
           body: 'Couldn\'t fetch the todos.', }); 
           return; } 
           const response = { 
             statusCode: 200, b
             ody: JSON.stringify(result.Items), }; 
             callback(null, response); }); };
       cors: true

我是 yaml 新手,第 10 行 TableName 有问题:“StreamData”,如果我删除该行,则错误会向上或向下移动到下一行。

【问题讨论】:

  • 你是怎么得到这个的,为什么你认为它应该起作用,你认为它应该做什么?在method 之后,输入包含似乎是 JavaScript 而不是 YAML 的行。您不能只是在输入中混合使用不同的语言。
  • 在尝试按照教程学习之前,我从未使用过 yaml。
  • 这就是我问的原因。您可能误读了教程中的某些内容,最终得到了这段代码。 JavaScript 可能需要进入不同的文件。但除非我们知道您想要达到的目标,否则我们无法真正帮助您。

标签: amazon-web-services yaml serverless


【解决方案1】:

您编写的代码不是 YAML 代码。 YAML 是一种声明性语言,它不包含逗号(,) 和分号(;)。此外,YAML 语言不使用等号(=)进行声明。它只使用冒号(:)。

在此处查看 YAML 语法:https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-30
    • 2023-01-20
    • 2017-06-14
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 2017-09-17
    相关资源
    最近更新 更多