Amazon web services AWS-无法读取;域名;未定义的
[编辑] 我是AWS的新手,我一直在尝试制作一个实时聊天应用程序。我看到了这个代码,所以我不妨试试这个。我试着跟踪一切,但似乎有问题。 [完] 我在代码中遇到一个错误,无法读取未定义的的“域名”,这让我感到困惑。这是因为我的API网关吗?我已经将此连接到另一个名为“Message”的路由,并且我已经有了连接和断开连接的集成请求。 下面是我的代码: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(
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控制台中运行测试?