2016-06-08 35 views
6

node.js. kullanarak bir lambda işlevi oluşturmaya çalıştım. C kodu C kodu yazdı ve node-gyp kullanarak düğüm kütüphanesine dönüştürdü. lambda işlevi mükemmel çalışıyor. ancak sadece node.js console.log ifadelerini yazdırır.Printf Bildirimi lambda üzerinde çalışmıyor

Bu Benim C kodu

int sayHello() 
{ 
    printf("Haaaaaaaaaaaaai\n"); 
    fflush(stdout); 
    return 0; 
} 

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 baskı eksik ben lambda testi konsolundan böyle çıktı var benim node.js kod

'use strict'; 
console.log('Loading function'); 

exports.handler = (event, context, callback) => { 

var addon = require('./build/Release/testLibraryfromCcode'); 

addon.sayHello(); 
console.log("Completed"); 
} 

olduğunu . C kodumda printf ifadeleri yazdırmam gerekiyor. herhangi bir fikir varsa?

+0

Eğer 'fflush (stdout) çalıştık' sizin printf sonra? – Magisch

+0

denendi. ama hala çalışmıyor. soru güncellendi –

+0

'sayHello' işlevini dışa veren C kodunuzu gönderir misiniz? Yardımınız için – russtone

cevap

4

Bu kod çalışıyor. fflush (stdout) yazdırma için enogh.

int sayHello() 
{ 
    printf("Haaaaaaaaaaaaai\n"); 
    fflush(stdout); 
    return 0; 
} 

Ancak, aws lamda kitaplık baskılarını doğrudan web konsolunda yazdıramıyor. Tam günlükleri waching için awslogs yüklemeniz gerekir.

  1. yüklemek awslogs

    sudo pip

    awslogs Waching günlükleri

  2. yükleyin.

    awslogs get/aws/lambda/lambdaFunctionName --start = "3h"

+0

teşekkürler –