AWS lambda 无服务器图像大小调整

AWS lambda serverless image resizing

我正在按照下面提到的教程使用 Amazon lambda 和 Amazon API 随时随地调整图像大小。

https://aws.amazon.com/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon-api-gateway.

完成所有步骤后,进行测试

http://YOUR_BUCKET_WEBSITE_HOSTNAME_HERE/blue_marble.jpg

显示所需的图像,但

http://YOUR_BUCKET_WEBSITE_HOSTNAME_HERE/300×300/blue_marble.jpg

给出错误 {"message": "Internal server error"}

AWS lambda 监视器显示以下日志。

2017-02-20T12:18:57.979Z c0265015-f766-11e6-932c-ebf25f098e89 { "errorMessage": "The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.", "errorType": "InvalidRequest", "stackTrace":[ "Request.extractError (/var/runtime/node_modules/aws-sdk/lib/services/s3.js:538:35)", "Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:105:20)", "Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:77:10)", "Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:668:14)", "Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)", "AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)", “/var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10”, "Request. (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)", "Request. (/var/runtime/node_modules/aws-sdk/lib/request.js:670:12)", "Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:115:18)", "Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:77:10)", "Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:668:14)", "Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)", "AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)", “/var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10”, "Request. (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)" ] }

我做错了什么?任何帮助将不胜感激。

我不太熟悉节点,但我已经写了一篇关于如何做同样的事情的 post 但在 python 中。如果您想签出:

Resize image using lambda