Claudia Api Builder正在创建lambda函数但不添加触发器

时间:2017-11-08 04:27:33

标签: node.js lambda aws-lambda claudiajs claudia.js

我正在使用Claduiajs来创建lambda函数,我仍然发现它能做什么,不能做什么,到目前为止我能够创建一个连接到AWS DynamoDB的lambda函数,一切都在工作预期,但是当我尝试通过跟随this tutorial使用Claudia API Builder添加API时触发器不会被添加到lambda函数中。

设置npm并安装依赖项后我采取的步骤是:

步骤1:在main.js

中编写此功能
    const AWS = require('aws-sdk'); // Used for DynamoDB
    const performance = require('performance-now'); // Used to measure performance
    const deepExtend = require('deep-extend'); // Used to deep extend json arrays

    const docClient = new AWS.DynamoDB.DocumentClient({region: 'ap-southeast-2'});
    const TableName = 'Agent-commands';

    var ApiBuilder = require('claudia-api-builder'),
    api = new ApiBuilder();

    module.exports = api;

    api.post('/',function(request){
      console.info('request',request);
    });

步骤2:运行此命令以创建功能& api claudia create --name add-command-for-agent --region ap-southeast-2 --api-module main --timeout 10 --policies policies/*.json 一旦我这样做,我在终端得到这个:

saving configuration
{
  "lambda": {
    "role": "add-command-for-agent-executor",
    "name": "add-command-for-agent",
    "region": "ap-southeast-2"
  },
  "api": {
    "id": "l223cd1rl7",
    "module": "main",
    "url": "https://l223cd1rl7.execute-api.ap-southeast-2.amazonaws.com/latest"
  }
}

当我转到该网址时,我得到{"message":"Missing Authentication Token"}

当我检查由创建命令创建的claduia.json文件时,我看不到其中的网址,只是ID和模块。

当我在AWS控制台上检查lambda函数时,没有附加触发器。

我做错了什么还是错误?

1 个答案:

答案 0 :(得分:0)

我以前遇到过这个问题,在我的情况下,IAM角色没有必要的权限。我重新检查您的IAM角色,以确保它具有所需的所有权限。