Похоже, что ваша лямбда-функция не может подключиться к DynamoDB. Обычно это вызвано одной причиной: вы запускаете функцию Lambda в VPC, а функция Lambda не имеет жизнеспособного маршрута к DynamoDB (через общедоступный Интернет или через DynamoDB через частную конечную точку VPC).
Предположительно, вы запускаете свою функцию Lambda внутри VPC, чтобы она могла получить доступ к вашей частной базе данных RDS, которая иначе не была бы доступна через общедоступный Интернет.
У вас есть несколько вариантов:
Обратите внимание, что оба протокола работают по протоколу TLS, поэтому являются безопасными. Решение заключается в том, разрешить ли функции Lambda беспрепятственный исходящий доступ к Интернету (# 1) или ограничить ее DynamoDB (# 2).
Хорошо мне это чувствует, что реализация находится немного на заборе.
Любой имеет Ваш Визит и Признает, что возврат методов освобождает и отслеживает все состояние в объекте Посетителя. Опросите его в конце.
или...
Имейте Посещение и Примите, возвращают происходящее состояние и принимают входящее происходящее состояние функциональным способом.
Если Вы идете для второй опции, я не действительно уверен, что объект посетителя или шаблон необходимы, можно использовать итератор, функцию и некоторое переходное состояние вместо этого.
Это довольно распространено. Я не знаю, можно ли сделать это в C#, но в Java нормально оставить Принять метод универсальным, поэтому что возвращается, решен посетителем не visitee:
interface IAnimalElement
{
<T> T Accept(IAnimalVisitor<T> visitor);
}
interface IAnimalVisitor<T>
{
T Visit(Peacock animal);
...
}
Для процедур, a IAnimalVisitor<Void>
возврат null
может использоваться.