Что такое AWS SDK V2 Maven lib для Lambda? - PullRequest
1 голос
/ 11 апреля 2020

Я пытаюсь обновить свой проект, чтобы использовать SDK v2 с использованием конфигурации bom. Я обновил файл pom, но теперь RequestHandler и Context не могут быть найдены. Вот мой конфигурационный файл maven

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>bom</artifactId>
                <version>2.1.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>lambda</artifactId>
        </dependency>
</dependencies>

И мой конфиг, до которого работал

<dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-core</artifactId>
            <version>1.2.0</version>
        </dependency>

Кажется, не могу найти то, что я должен импортировать, чтобы отсутствующие классы. Или в V2 есть другая подпись?

Это мой класс:

public class Cron implements RequestHandler<Object, Object> {

    public Object handleRequest(final Object input, final Context context) {

Спасибо за любой указатель.

C. C.

1 Ответ

1 голос
/ 11 апреля 2020

Похоже, вам все еще нужно иметь SDK v1 и SDK v2 на вашем пути к классам.

Например, взглянув на документацию Lambda Java , вы увидите, что все операции импорта по-прежнему начинаются с com.amazonaws (SDK v1), а не software.amazon (SDK v2).

Один из перечисленных ими примеров - blank- java, который они описывают как " Java функция с библиотекой событий, расширенной конфигурацией ведения журнала и AWS SDK для Java 2.x, который вызывает Lambda API для получения настроек учетной записи "

Если вы посмотрите на этот пример приложения pom. xml вы увидите com.amazonaws и software.amazon пакеты, смешанные вместе.

Аналогично для Лямбда-обработчик .

Так что либо они не перенесли все в SDK v2, либо они все еще хотят, чтобы вы использовали интерфейсы из SDK v1 - и тогда из SDK v2 можно использовать более функциональный код (не интерфейсный код).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...