Parafínový slash-príkaz cez AWS API Bránou do AWS Lambda (Python verzus Java)

0

Otázka

Snažím sa pripojiť Parafínový slash-príkaz na AWS Lambda (cez AWS API Brána).

Bol som schopný sa prispôsobiť Ahoj, Svet plán (napísaný v jazyku Python) v Lambda návod sekcii. Nastavil som API brána ako spúšťač, potom mal Parafínový POST slash-príkaz na koncový bod rozhrania API. Musel som manuálne dekódovať base64 tela, potom použite parse_qs previesť query string-ako PRÍSPEVOK telo do slovníka, kde by som mohol potom access to v pohode.

Môj skutočný Lambda kód je v súčasnosti v Jave, ale ja som začal s java-základné vzorové aplikácie od Vývojárov Sprievodca. Postavil som app, nahral jar, a potvrdilo správne obslužný program bol tzv. Mám nastaviť iný API bránou a ukázal iný Parafínový slash-príkaz na nové endpoin. To nepodarí.

Denník vyzerá:

java.lang.RuntimeException: An error occurred during JSON parsing
Caused by: java.io.UncheckedIOException: com.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
 at [Source: (ByteArrayInputStream); line: 1, column: 1]

Hádam to znamená, Parafínový je zaslaním query string-ako argument v PRÍSPEVKU telo, a z nejakého dôvodu, je niečo, čo očakával, JSON textu, nie len text. Nechápem, prečo Python handler bolo v poriadku s budovaním udalosť slovník a robiť Lambda dekódovať POST telo, keďže Java handler je nikdy dostať nazýva, ale je zomrieť skôr, že pri pokuse o deserialize POST tela, myslel, že je to JSON.

Obe Lambdas a API brány boli zriadené s obvyklým defaults, AFAICT.

amazon-web-services
2021-11-24 01:37:03
1

Najlepšiu odpoveď

0

Som vyriešil problém pri prechode na používanie HandlerStream príklad. Som potom môže získať "srdce" od udalosti, Base64.decodeBase64, potom rozbaliť forme parametrov s UriParameterMap.analyzovať.

Potom som spracovať prichádzajúce sms, ktorá prišla z Parafínový lomka príkaz a potom sa vráti reťazec JSON, že Parafínový očakáva.

2021-12-05 17:48:35

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................