调用invoke API 报错, 错误信息如下: Network Failure timeout. Using Lambda

0

【以下的问题经过翻译处理】 我正在尝试调用一个 Lambda 函数来将数据存储在 DynamoDB 表中。在我的 AWS 帐户中,它可以正常工作,但在我所在公司的 AWS 帐户中却无法工作。Cloudwatch 没有显示任何错误。超时发生在 "await dynamodb.describeTable(describeParams).promise();" 这行代码处。

我的代码如下:

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient();
const dynamodb = new AWS.DynamoDB();

exports.handler = async (event) => {
  const valueTostore = event.body || 'default_value';

  const params = {
    TableName: 'my-values',
    Item: {
      id: new Date().toISOString(),
      SessionConfig: valueTostore
    }
  };

  try {
    const describeParams = { TableName: 'my-values' };
    await dynamodb.describeTable(describeParams).promise();
  } catch (error) {
    const response = {
      statusCode: 500,
      body: JSON.stringify({ message: '访问表时出错' })
    };
    return response;
  }

  try {
    await docClient.put(params).promise();
  } catch (error) {
    const response = {
      statusCode: 500,
      body: JSON.stringify({ message: '存储值时出错' })
    };
    return response;
  }

  const response = {
    statusCode: 200,
    body: JSON.stringify({ message: '成功存储值' })
  };
  return response;
};
profile picture
专家
已提问 8 个月前58 查看次数
1 回答
0

【以下的回答经过翻译处理】 Lambda函数的安全组没有配置出站规则,因此我为所有端口打开了出站规则,这样它就可以运行了!

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则