Amazon s3 在AWS S3上为静态网站配置环境变量

Amazon s3 在AWS S3上为静态网站配置环境变量,amazon-s3,Amazon S3,我正试图根据以下信息在S3上建立一个简单的静态角度网站: 我想通过需要发送sendgrid api密钥的表单发送电子邮件。显然,我想使用环境变量来避免代码中有键。如何在S3中设置环境变量 我查看了AWSCLI工具,但它只显示了aws特定环境变量的示例。AWS/S3控制台中是否有可以设置的地方 顺便说一句,我想使用这个角度服务来演示sendgrid服务: 不能在S3中设置环境变量。S3只是一个静态对象存储,而不是一个动态内容服务器。评估变量值就是动态内容的定义,而S3只服务于静态内容 请注意,A

我正试图根据以下信息在S3上建立一个简单的静态角度网站:

我想通过需要发送sendgrid api密钥的表单发送电子邮件。显然,我想使用环境变量来避免代码中有键。如何在S3中设置环境变量

我查看了AWSCLI工具,但它只显示了aws特定环境变量的示例。AWS/S3控制台中是否有可以设置的地方

顺便说一句,我想使用这个角度服务来演示sendgrid服务:
不能在S3中设置环境变量。S3只是一个静态对象存储,而不是一个动态内容服务器。评估变量值就是动态内容的定义,而S3只服务于静态内容


请注意,AngularJS代码在浏览器中运行,而不是在服务器上运行,因此任何知道如何查看代码的人都可以在浏览器中查看那些您想保留在代码之外的键。如果您想从客户端框架调用SendGrid,则无法隐藏这些值。

大多数著名的电子邮件营销公司甚至不允许从可能暴露密钥的前端(如MailChimp)调用其服务。您可以阅读:

注意:由于暴露帐户API密钥的潜在安全风险,MailChimp不支持使用CORS请求的客户端API实现


现在,很多时候,您可能仍然希望使用环境变量来分隔环境等(非敏感信息)。在这种情况下,您应该使用机器上的环境变量,并在webpack或其他构建工具的帮助下生成构建。

我希望有一种通过S3隐藏密钥的方法。我想既然他们有一个如何静态托管一个网站,他们一定有一些方法,因为谁真的托管了一个真正的静态网站?每个人都需要接受电子邮件。我的问题完全一样。找到答案可能就是。您不能在S3中设置环境变量,但可以在AmazonLambda中设置。您可以考虑在lambda中创建一个函数来处理您的sEnGrand调用。我已经考虑了一种方法(也许lambda会起作用),但是您只需将您的sEdGrand调用传递到一个可以私下处理的东西(我想在一个点上服务,但是叹息,时间/生命)。有点像传递,所以像sendgrid.blah.com这样的东西,然后你托管你的密钥,它将请求传递给你并返回。。。因此,从理论上讲,只有一个站点是必要的,但您可以构建各种静态站点(在某个时间点上的想法类似于firebase)。也许AWS Amplify是您在AWS S3之上需要的服务