Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 从S3中托管的网页向SQS队列发送消息_Amazon Web Services_Amazon S3_Aws Lambda_Amazon Sqs - Fatal编程技术网

Amazon web services 从S3中托管的网页向SQS队列发送消息

Amazon web services 从S3中托管的网页向SQS队列发送消息,amazon-web-services,amazon-s3,aws-lambda,amazon-sqs,Amazon Web Services,Amazon S3,Aws Lambda,Amazon Sqs,我正在想办法在AWS上完成我的第一个项目 我将此页面托管在S3存储桶中。在用户编写URL并发布它之后,我希望将此URL作为消息传递给SQS队列,然后该队列将调用Lambda函数。从页面发布到SQS队列的适当方式是什么?我曾考虑在页面中嵌入一些javascript,当用户单击submit时将消息发送给SQS,但随后我需要在网页中硬编码我的SQS凭据,因此这可能不是解决方法。如果您创建了一个IAM用户,它唯一拥有的权限就是将消息发布到该队列,那么,如果有人在你的javascript中发现你的凭据,这

我正在想办法在AWS上完成我的第一个项目


我将此页面托管在S3存储桶中。在用户编写URL并发布它之后,我希望将此URL作为消息传递给SQS队列,然后该队列将调用Lambda函数。从页面发布到SQS队列的适当方式是什么?我曾考虑在页面中嵌入一些javascript,当用户单击submit时将消息发送给SQS,但随后我需要在网页中硬编码我的SQS凭据,因此这可能不是解决方法。

如果您创建了一个IAM用户,它唯一拥有的权限就是将消息发布到该队列,那么,如果有人在你的javascript中发现你的凭据,这真的无关紧要——他们所能做的最糟糕的事情就是将消息发布到你的队列中,他们已经可以这样做了,因为你的页面似乎没有任何身份验证——因此,如果有人想污染你的队列,他们可以通过你的网页这样做(即使您设法隐藏凭据),或直接访问队列


如果您的网页后面有一个服务器,您将有更多的选项来隐藏凭据,但即使如此,由于该页面没有保护,任何人都可以随时在您的页面上发布内容。

感谢您的确认。这样做首先可以创建MVP。因此我想最好的解决方案是创建一个具有发布到SQS的唯一权限避免您的客户看到AWS凭据的选项是在网站前面使用API网关,并具有(未经验证)来自网站的API请求直接触发Lambda函数。这也会从等式中删除SQS。@jarmod API网关是否也允许将请求分散到Lambda?即,用户1发出请求。当Lambda到用户1仍在运行时,用户2也会发出请求。API网关是否会为用户创建新的Lambda实例用户2不影响用户1的lambda?是的,lambda就是这样工作的。在一般情况下,它会根据API请求启动一个新的lambda容器。作为一种优化,如果服务最近完成了对先前请求的处理,它实际上可以重用一个热容器,从而防止冷启动。