gRPC 在 lamda 函数中没有按预期工作

mam*_*mur 9 node.js aws-lambda grpc

我在 nodejs 中实现了 grpc 服务器和客户端。服务器正在运行0.0.0.0:8080。当我在本地测试时,客户端可以正常连接。但是当我将客户端移动到 aws-lambda 函数并在本地调用时它不起作用。服务器没有收到任何请求。知道可能是什么问题吗?

我曾尝试更改端口并关闭防火墙。还是没有成功。

任何帮助表示赞赏。

这里是 server.js

const grpc = require('grpc');
const path = require('path');

const FILE_PATH = './schema.proto';
const PROTO_PATH = path.resolve(__dirname, FILE_PATH);
const protoLoader = require('@grpc/proto-loader');
const tourProcess = require('../../src/modules/tour/src/controllers/internal/v100');

const server = new grpc.Server();
const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
  keepCase: true,
  longs: String,
  enums: String,
  arrays: true,
  oneofs: true
});


const pivoTourProto = grpc.loadPackageDefinition(packageDefinition).grpcPivoTour;
server.addService(pivoTourProto.pivoTourService.service, {
  getTours: tourProcess.getTours
});

server.bind('0.0.0.0:8080', grpc.ServerCredentials.createInsecure());
console.log('GRPC running at 127.0.0.1:8080');
module.exports = server;
Run Code Online (Sandbox Code Playgroud)
client.js

var path = require('path');
const FILE_PATH = "./schema.proto";
const PROTO_PATH = path.resolve( __dirname, FILE_PATH );
const grpc = require("grpc");
const protoLoader = require("@grpc/proto-loader");

var packageDefinition = protoLoader.loadSync(PROTO_PATH, {
  keepCase: true,
  longs: String,
  enums: String,
  arrays: true
});

const pivoTourProto = grpc.loadPackageDefinition(packageDefinition).grpcPivoTour;
const client = new pivoTourProto.pivoTourService(
    '0.0.0.0:8080',
    grpc.credentials.createInsecure()
);

module.exports = client;
Run Code Online (Sandbox Code Playgroud)
//LAMBDA HANDLER lambda.js


require('dotenv').config();
const client = require('./src/grpc/client');

module.exports.handler = async (event, context, callback) => {
    tourId = "1";
    const req = {"id": tourId};

    client.getTours(req, function(error, tour){
        if(error){
        console.log(error);
        }else{
        console.log(tour);
        }
    
    });

};

Run Code Online (Sandbox Code Playgroud)