Printf语句不能在lambda上工作
我试图用node.js创build一个lambda函数 w用C代码编写代码,并使用node-gyp将其转换为节点库。 lambda函数完美的工作。 但是它仅打印node.js console.log语句。
这是我的node.js代码
'use strict'; console.log('Loading function'); exports.handler = (event, context, callback) => { var addon = require('./build/Release/testLibraryfromCcode'); addon.sayHello(); console.log("Completed"); }
这是我的C代码
int sayHello() { printf("Haaaaaaaaaaaaai\n"); fflush(stdout); return 0; }
我从lambdatesting控制台得到这样的输出
TART RequestId: 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Version: $LATEST 2016-06-08T06:21:32.779Z 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Loading function 2016-06-08T06:21:32.779Z 3e8cd5ff-2d41-11e6-af8f-ada8f1249113 Completed
Haaaaai打印缺失。 我需要在我的C代码中打印printf语句。 如果有任何想法?
此代码正在工作。 fflush(stdout)可以打印。
int sayHello() { printf("Haaaaaaaaaaaaai\n"); fflush(stdout); return 0; }
但是,aws lamda无法在Web控制台上直接打印库打印。 我们需要安装awslogs来清理完整的日志。
-
安装awslogs
sudo pip安装awslogs
-
为Waching日志。
awslogs get / aws / lambda / lambdaFunctionName –start =“3h”
- 从node.js中的JSON将s3桶策略转换为base64
- parsing仪表板不显示云代码和作业
- 在NodeJS上调用AWS Lambda上的R脚本
- AWS DynamoDB问题:用户无权在资源上执行:dynamodb:PutItem
- 使用Amazon KMSencryption值,使用带有Lambda的DynamoDB存储/检索(NodeJS)
- 通过http正确签署对aws资源的请求
- AWS opsworks createApp api将无法与提供的密码和用户名一起使用bitbucket
- node.js自动调整/负载平衡的任何方法? 与socket.io
- NodeJS脚本发生错误后,将不会再次启动。 AWS Lambda