调用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 個月前檢視次數 55 次
1 個回答
0

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

profile picture
專家
已回答 8 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南