Amazon web services AWS-无法读取;域名;未定义的

Amazon web services AWS-无法读取;域名;未定义的,amazon-web-services,aws-lambda,Amazon Web Services,Aws Lambda,[编辑] 我是AWS的新手,我一直在尝试制作一个实时聊天应用程序。我看到了这个代码,所以我不妨试试这个。我试着跟踪一切,但似乎有问题。 [完] 我在代码中遇到一个错误,无法读取未定义的的“域名”,这让我感到困惑。这是因为我的API网关吗?我已经将此连接到另一个名为“Message”的路由,并且我已经有了连接和断开连接的集成请求。 下面是我的代码: const AWS = require('aws-sdk'); const db = new AWS.DynamoDB.DocumentClient(

[编辑] 我是AWS的新手,我一直在尝试制作一个实时聊天应用程序。我看到了这个代码,所以我不妨试试这个。我试着跟踪一切,但似乎有问题。 [完]

我在代码中遇到一个错误,无法读取未定义的的“域名”,这让我感到困惑。这是因为我的API网关吗?我已经将此连接到另一个名为“Message”的路由,并且我已经有了连接和断开连接的集成请求。 下面是我的代码:

const AWS = require('aws-sdk');
const db = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
require('./index.js');

let send = undefined;
function init(event) {  
    console.log(event);
    const apigwManagementApi = new AWS.ApiGatewayManagementApi({    
        apiVersion: '2018-11-29',    
        endpoint: event.requestContext.domainName + '/' + event.requestContext.stage
    });      
    
        send = async (connectionId, data) => {  
            await apigwManagementApi.postToConnection({ 
                ConnectionId: connectionId, 
                Data: `Echo: ${data}` }).promise();  
        }}
    
exports.handler =  (event, context, callback) => {
    init(event);  
    let message = JSON.parse(event.body).message;
    getConnections().then((data) => {        
        console.log(data.Items);
        callback(null, {
            statusCode: 200,
            
        });
        data.Items.forEach(function(connection) {           
            console.log("Connection " +connection.connection_id);         
            send(connection.connection_id, message);        
            
        });    
        
    });        
    return {};
    
};
    
function getConnections(){
 const params = {
        TableName: 'GroupChat',
    }
    return db.scan(params).promise();
}


console.log(事件)正在打印的内容?你好。这是一个
{action:'onMessage',message:'Hello everybody'}
因此,如果您正在打印的事件对象中没有名为
requestContext
的属性,您希望代码如何处理此事件?我不知道事件从何处获得该消息。我试着找,但找不到。我是aws的新手,我正在遵循网站上的说明。Lambda函数是如何调用的?通过API网关?您是否直接在AWS Lambda控制台中运行测试?