我們上傳了一些文本文件到S3,我們希望通過API網關使用Lambda函數下載這些文件,我們進行了以下配置。通過AWS Lambda和API網關下載Amazon S3的文本文件
例如,在這種情況下,文件download.txt包含此內容 在描述性寫作中,作者沒有告訴讀者看到,感受,測試,聞到或聽到什麼。相反,他介紹了一些他經歷過......
lambda函數響應從S3在這種情況下,該文件的字節是一個txt文件
SW4gZGVzY3JpcHRpdmUgd3JpdGluZywgdGhlIGF1dGhvciBkb2VzIG5vdCB0ZWxsIHRoZSByZWFkZXIgd2hhdCB3YXMgc2VlbiwgZmVsdCwgdGVzdGVkLCBzbWVsbGVkLCBvciBoZWFyZC4gIFJhdGhlciwgaGUgZGVzY3JpYmVzIHNvbWV0aGluZyB0aGF0IGhlIGV4cGVyaWVuY2VkIGFuZCwgdGhyb3VnaCBoaXMg ...
配置的方法響應和整合API網關 Method Response Integration Resonse
用所需參數執行API網關測試。
在描述性寫作中,作者沒有告訴讀者看到,感受,測試,聞到或聽到什麼。相反,他介紹了一些他經歷過......
響應從S3文件的內容,但是當我們在瀏覽器中執行API網關這個返回一個txt文件,但這個內容是返回lambda函數 的字節,並且應該與API網關測試中測試的響應相同。
執行API網關在瀏覽器
https://xxxxxx.execute-api.us-west-2.amazonaws.com/file/download?key=download.txt&bucketName=xxxxxxxxxxxxxxxxxxxx&isMultipart=false
文件內容是
SW4gZGVzY3JpcHRpdmUgd3JpdGluZywgdGhlIGF1dGhvciBkb2VzIG5vdCB0ZWxsIHRoZSByZWFkZXIgd2hhdCB3YXMgc2VlbiwgZmVsdCwgdGVzdGVkLCBzbWVsbGVkLCBvciBoZWFyZC4gIFJhdGhlciwgaGUgZGVzY3JpYmVzIHNvbWV0aGluZyB0aGF0IGhlIGV4cGVyaWVuY2VkIGFuZCwgdGhyb3VnaCBoaXMg...
你是否有應接收到正確的內容文件的任何想法?
謝謝
您的內容採用base64編碼。看看[這個AWS文檔](http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings-workflow.html)來幫助進行類型之間的轉換。 – stdunbar
爲什麼不在你的lambda中返回使用s3Client.getObjectAsString?另外,在「集成響應」中,您是否將內容處理設置爲「轉換爲文本」?最後,如果你沒有用JSON響應,請確保將內容類型設置爲'text/plain' – zachdb86