簡體   English   中英

如何在 lambda 上的 nodejs 中執行 ping 命令?

[英]How can I exec the ping command in nodejs on lambda?

這在本地運行並返回 ping 輸出:

var exec = require('child_process').exec;
function execute(command, callback){
    exec(command, function(error, stdout, stderr){ callback(stdout); });
}
execute("ping -c 3 localhost", function(name){
  console.log(name);
});

在 lambda 中運行它會完成,但我從未看到輸出:

exports.handler = (event, context, callback) => {
    var exec = require('child_process').exec;
    function execute(command, callback){
        exec(command, function(error, stdout, stderr){ callback(stdout); });
    }
    execute("ping -c 3 localhost", function(name){
      console.log(name);
    });
};

如何讓它顯示輸出?

遺憾的是,目前無法從 AWS Lambda 內部執行 ICMP ping - 主要問題是 Lambdas 在其中運行的容器環境缺乏允許應用程序使用原始套接字所需的 CAP_NET_RAW 功能。

沒有辦法解決這個問題,即使嘗試在運行 Lambda 的 Amazon Linux 容器內使用命令行 ping 實用程序也不起作用。

來源: https : //github.com/jethrocarr/lambda-ping 他們還提出了一個您可以嘗試的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM