Pix*_*002 3 amazon-s3 amazon-web-services aws-lambda
我目前的情况:我有一个带有资源/登录的AWS API网关.当此资源上存在GET请求时,将调用AWS Lambda函数,该函数将返回HTML登录表单.登录表单的HTML写在Lambda函数的JavaScript字符串中(我在Lambda函数中使用Node JS).提交表单时,相同的资源 - 使用POST方法的/ login调用另一个验证登录的Lambda函数.如果登录失败,它将返回带有验证错误消息的HTML表单,但同样,HTML代码也会写入JavaScript字符串中.
我的问题:是否可以在AWS S3存储桶中存储HTML文件,因此当我点击/登录时,API网关调用Lambda函数,该函数然后从S3存储桶获取HTML页面并将其返回给用户?当表单验证失败时,我想从S3存储桶返回相同的HTML并添加错误消息.
是否可以通过这种方式互连这些组件?我正在努力的部分是在S3上存储HTML并从Lambda访问它.
您不需要涉及任何Lambda函数.您可以配置代理AWS API调用的方法,然后您唯一需要的是创建代理S3 API对象GET的API网关代理.
您应该首先创建一个IAM角色,该角色可以访问您的存储桶/特定HTML对象,记下其ARN,然后创建像图像一样的集成.
注意:如果您想要动态修改HTML内容,那么它当然不是一个有效的解决方案,只有在您的内容是静态的情况下才有效.如果你想这样做,你必须创建一个Lambda,下载S3对象,操纵它并发送回客户端.
是的,您可以使用 Amazon S3 存储登录 HTML 页面的“主”副本,并在 Lambda 函数中使用它。
使用此 Lambda 和 S3 教程作为起点:
http://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html
您关心的部分是在 Lambda 函数中从 S3 读取对象:
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
s3.getObject({ Bucket: srcBucket, Key: srcKey }, ...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2284 次 |
| 最近记录: |