Используя шаблон "посетитель" с дженериками в C#

Похоже, что ваша лямбда-функция не может подключиться к DynamoDB. Обычно это вызвано одной причиной: вы запускаете функцию Lambda в VPC, а функция Lambda не имеет жизнеспособного маршрута к DynamoDB (через общедоступный Интернет или через DynamoDB через частную конечную точку VPC).

Предположительно, вы запускаете свою функцию Lambda внутри VPC, чтобы она могла получить доступ к вашей частной базе данных RDS, которая иначе не была бы доступна через общедоступный Интернет.

У вас есть несколько вариантов:

  1. предоставить лямбда-функции доступ к Интернету , чтобы он мог достичь DynamoDB через общедоступный интернет
  2. добавить [111 ] Конечная точка VPC для DynamoDB для VPC, чтобы он мог связаться с DynamoDB в частном порядке

Обратите внимание, что оба протокола работают по протоколу TLS, поэтому являются безопасными. Решение заключается в том, разрешить ли функции Lambda беспрепятственный исходящий доступ к Интернету (# 1) или ограничить ее DynamoDB (# 2).

8
задан ljs 3 February 2009 в 18:30
поделиться

2 ответа

Хорошо мне это чувствует, что реализация находится немного на заборе.

Любой имеет Ваш Визит и Признает, что возврат методов освобождает и отслеживает все состояние в объекте Посетителя. Опросите его в конце.

или...

Имейте Посещение и Примите, возвращают происходящее состояние и принимают входящее происходящее состояние функциональным способом.

Если Вы идете для второй опции, я не действительно уверен, что объект посетителя или шаблон необходимы, можно использовать итератор, функцию и некоторое переходное состояние вместо этого.

4
ответ дан 5 December 2019 в 19:03
поделиться

Это довольно распространено. Я не знаю, можно ли сделать это в C#, но в Java нормально оставить Принять метод универсальным, поэтому что возвращается, решен посетителем не visitee:

interface IAnimalElement
{
   <T> T Accept(IAnimalVisitor<T> visitor);
}


interface IAnimalVisitor<T> 
{
   T Visit(Peacock animal);
  ...
}

Для процедур, a IAnimalVisitor<Void> возврат null может использоваться.

1
ответ дан 5 December 2019 в 19:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: