S3Client и Quarkus Native App Issueu с Runn - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь создать lambda S3 слушатель, использующий Lambda как собственный образ. Суть в том, чтобы получить событие S3, а затем выполнить некоторую работу, потянув файл и т. Д. c. Чтобы получить файл, я использую het AWS 2.x S3 клиент, как показано ниже

S3Client.builder().httpClient().build();

Этот код приводит к

2020-03-12 19:45:06,205 ERROR [io.qua.ama.lam.run.AmazonLambdaRecorder] (Lambda Thread) Failed to run lambda: software.amazon.awssdk.core.exception.SdkClientException: Unable to load an HTTP implementation from any provider in the chain. You must declare a dependency on an appropriate HTTP implementation or pass in an SdkHttpClient explicitly to the client builder.

. Чтобы решить эту проблему, я добавил aws apache клиент и обновил код, чтобы сделать следующее:

  1. SdkHttpClient httpClient = ApacheHttpClient.builder(). maxConnections(50). build()
  2. S3Client.builder().httpClient(httpClient).build();
  3. Я также должен был добавить: [ ["org.apache.http.conn.HttpClientConnectionManager", "org.apache.http.pool.ConnPoolControl","software.amazon.awssdk.http.apache.internal.conn.Wrapped"] ]

После этого я получаю следующую трассировку стека:

Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)
at java.security.cert.PKIXParameters.<init>(PKIXParameters.java:120)
at java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:104)
at sun.security.validator.PKIXValidator.<init>(PKIXValidator.java:86)
... 76 more

Я использую qurkaus версии 1.2.0 на 19.3.1 грааля. Я строю это через Maven и предоставленный контейнер docker для Quarkus. Я думал, что хранилище доверенных сертификатов было добавлено по умолчанию (в команде build оно выглядит точным), но я что-то упустил? Есть ли другой способ заставить его работать без настройки HttpService на клиенте S3?

1 Ответ

0 голосов
/ 04 мая 2020

На данный момент рассматривается PR , который представляет расширение AWS S3 как JVM, так и Native. AWS клиенты полностью Quarkified, то есть настроены через application.properties и включены для внедрения зависимостей. Так что следите за обновлениями, так как это, скорее всего, будет доступно в Quarkus 1.5.0

...