我正在使用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函数时,没有附加触发器。
我做错了什么还是错误?
答案 0 :(得分:0)
我以前遇到过这个问题,在我的情况下,IAM角色没有必要的权限。我重新检查您的IAM角色,以确保它具有所需的所有权限。