Запросы Node JS в базе данных Dynamo навсегда зависают с использованием ролей IAM

#node.js #amazon-web-services #amazon-dynamodb

Вопрос:

Я пытаюсь подключить свое приложение Node JS к базе данных Dynamo из экземпляра EKS, используя роли IAM.

Как вы, вероятно, знаете, в этом случае учетные данные должны автоматически передаваться контейнеру. В доказательство этого я попытался установить aws-cli его в том же контейнере, и он отлично работает.

Однако мой сценарий Node JS зависает навсегда, когда я пытаюсь его выполнить, и ошибки не возвращаются.

Я проверил несколько вещей: прокси, разрешения (пользователь ОС) и т. Д.. Казалось, ничто не имело отношения к этой проблеме.

 const { DynamoDBClient, QueryCommand } = require("@aws-sdk/client-dynamodb");

const ddbClient = new DynamoDBClient({
  region: "eu-west-1",
});

// Set the parameters
const params = {
  KeyConditionExpression: "itemRef = :itemRef",
  ExpressionAttributeValues: {
    ":itemRef": { S: "ABC" },
  },
  TableName: "my-sandbox",
};

const run = async () => {
  try {
    const data = await ddbClient.send(new QueryCommand(params));
    data.Items.forEach(function (element, index, array) {
      console.log(element);
      return data;
    });
  } catch (err) {
    console.error(err);
  }
};

run();
 

Есть какие-нибудь идеи?

Комментарии:

1. Зависание предполагает отсутствие сетевого маршрута к конечной точке службы DynamoDB. Возможно ли это?

2. Я не думаю, что это возможно, потому aws-cli что он способен достичь этого.