2016-08-24 2 views
0

Ich bin neu bei AWS und versuche, ein PDF-Dokument über eine AWS-API in S3 hochzuladen. Ich verwende ein HTML-Formular mit einer Post-Methode. Die Aktion des Formulars ist die URL der bereitgestellten API. Die API ist mit einer Lambda-Funktion integriert. Meine Frage ist, wie kann ich die hochgeladene Datei extrahieren, um innerhalb der Lambda-Funktion fortzufahren, um einige Verarbeitungen vor dem Hochladen auf S3 durchzuführen. Ist es überhaupt möglich?AWS PDF-Upload über http-Post

ich die Anweisungen in diesem Beitrag nicht gefunden haben versucht: Passing HTTP Post from AWS API GW to Lambda

jedoch kehre ich das Ereignis aus der Lambda-Funktion und das ist, was ich bekommen:

{file: file.pdf , acl:private, 
success_action_redirect: http://localhost/, AWSAccessKeyId:my_aws_key} 

Die Datei, die ich genannt hochgeladen Datei.pdf.

Jede Anleitung wird geschätzt.

Antwort

2

Eine PDF-Datei ist ein Binärformat. API Gateway unterstützt derzeit keine binären Daten. Wir wissen, dass Binärdaten nicht funktionieren und es keine Problemumgehungen gibt, damit es zuverlässig funktioniert. Eine Reihe von Kunden haben beantragt, dass wir API-Gateway um binäre Unterstützung ergänzen, und dies wird in unserem Backlog priorisiert.

+0

Danke. Was ist, wenn die Datei gezippt wird? Wird es durchgehen? – oma07

+0

@ oma07 eine Zip-Datei ist eine Binärdatei ... –

+0

Nein, eine gezippte Datei wird nicht funktionieren, da das auch binär ist. Sie könnten base64 das pdf auf dem Client kodieren, die base64 kodierten Daten über API Gateway an Ihre Lambda-Funktion übergeben, die Daten in Ihrer Lambda-Funktion dekodieren und von dort in S3 hochladen. Offensichtlich erfordert dies benutzerdefinierten Code auf Ihrem Client, um die Base64-Codierung durchzuführen. –