调用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
EXPERTE
gefragt vor 8 Monaten55 Aufrufe
1 Antwort
0

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

profile picture
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen