我正在使用AWS Visual Studio Toolkit开发C#/。Net无服务器应用程序,但在确定CORS配置方面缺少的内容时遇到了一些麻烦。我的项目基于该工具包附带的ASP.Net示例,该示例将API Gateway配置为具有单个API终结点,该终结点充当ASP.Net Web API框架的代理。
在chrome中测试此应用程序(服务于本地节点项目)时, No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
我知道这意味着我必须在API网关端点上配置CORS,但似乎缺少一些东西。我使用动作下拉菜单来启用CORS ...
但是我遇到一些错误,问题仍然存在。
我使用了chrome扩展程序(暂时)禁用了CORS,并确认API端点在没有CORS的情况下可以正常工作。
那我在这里想念什么?在线设置CORS的示例通常没有包含设置全部使用的端点的说明,甚至GET闯入自己的方法似乎也无济于事。
另一个问题是,如果缺少某些CORS配置,是否有很好的方法将其集成到serverless.template文件或其他一些自动部署步骤中?
amazon-web-services cors aws-lambda aws-api-gateway serverless-framework
我有一个包含大量资源(一堆 DynamoDB 表、lambda 函数等)的应用程序,显然我遇到了 200 个资源的硬限制。具体错误是:
Template format error: Number of resources, 204, is greater than the maximum allowed, 200
Run Code Online (Sandbox Code Playgroud)
错误消息很清楚,但我想知道我的选择是什么。最坏的情况是,我可以将应用程序分成几部分。是否有其他替代策略?
我有一个简单的Lambda函数,它通过SES发送电子邮件.我可以使用带有所需数据的POST请求来调用它,它会发送一封电子邮件.我的问题是,我可以用什么方法来保护这个功能?目前,任何人都可以调用该端点并使用任何数据执行该功能.
javascript aws-lambda aws-api-gateway serverless-framework serverless-architecture
使用Serverless和NodeJS,我有一个Slack命令设置如下:
/myCommand doStuff
Run Code Online (Sandbox Code Playgroud)
当我输入时/myCommand doStuff,Slack输出执行此操作:
/myCommand doStuff我想要显示的实际响应的内容就在这里.
我想要做的只是这个:
我想要显示的实际响应的内容就在这里.
没有/myCommand doStuff得到回应.
我该如何防止这种情况发生?
这是实际的命令:
module.exports = () => {
return new Promise(function(fulfill) {
fulfill({
response_type: 'in_channel',
text: 'some testing text
});
});
};
Run Code Online (Sandbox Code Playgroud)
这是处理程序:
module.exports.handler = (event, context, callback) => {
var response = {
statusCode: 200,
body: JSON.stringify(myCommand()),
};
callback(null, response);
};
Run Code Online (Sandbox Code Playgroud) 我想知道使用/探索更多的方法,我目前正在探索选择最佳/合适的框架来构建AWS Lambda上的微服务的选项,并且canary部署是一个巨大的功能(SAM支持它,但现在没有服务器).以下是我的问题:
谢谢
我正在尝试使用Apollo-Server-Lambda等在AWS-Lambda上使用无服务器框架构建graphQL API .我需要使用一个不公开的PostgreSQL RDS实例.
我可以启动并运行lambda,并在不在VPC中时发回请求.我可以启动并运行Postgres RDS数据库并连接到PgAdmin(当处于公共可用模式时).
问题是,一旦我将RDS Postgres"非公开"并试图让所有这些片段一起说话我就失败了.
我尝试了很多不同的方法.
这经常被描绘成魔术.这是精彩的写作https://gist.github.com/reggi/dc5f2620b7b4f515e68e46255ac042a7
我无法使用我的lambdas访问Postgres.所以我的第一个问题.
我是否需要一个NAT网关来为VPC中的lambdas传入(入口)api调用?我目前的理解是,也许我只需要一个NAT网关来为我的lambdas拨打其他api的电话,例如S3.它是否正确?
接下来.我为我的lambdas创建了一个安全组,并将此安全组添加到为RDS创建的安全组的入站列表中.我的理解是lambda应该如何获得RDS.我没有这么幸运.也许这与公共或非公共子网有关?也许这与我对NAT必要性的理解有关?
基本上我能够获得的唯一可见性是Lambdas在20或30秒后超时,这取决于我们在尝试私密连接到postgres时的限制.Cloudwatch日志不会透露任何其他信息
最后,就目前而言,一旦"不公开"将我的开发机器连接到Postgres的最佳方法是什么?我将我的机器IP列为入站TCP/IP到端口5432到RDS安全组中的postgres,但这似乎没有给我我希望的访问权限.我真的需要连接到VPC的VPN吗?什么是最简单的方法?
我已经完成了本教程,对Postgres进行了基本的修改https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds.html
我已阅读并考虑了此问题的答案以及更多 允许AWS Lambda访问RDS数据库
我已经有很多成功 - 使用无服务器框架的完全部署,在serverless.yml配置上有很多变化来尝试这些选项,否则我会展示一个我认为失败的特定的一个,但这更广泛地说我似乎无法准确掌握所有这些VPC,安全组,路由表等应该互动.
任何帮助非常感谢!
amazon-web-services amazon-rds amazon-vpc aws-lambda serverless-framework
我有一个无服务器的nodejs项目,它运行良好。一周没有接触它,想重新部署它,现在遇到以下错误:
1)EPERM:不允许操作,scandir'D:\ GIT \ awesome.build \ node_modules'2)EEXIST:文件已存在,符号链接'D:\ GIT \ awesome \ node_modules'->'D:\ GIT \ awesome。 build \ node_modules'
首先,我得到第一个错误。如果第二次尝试,我将获得第二次。如果删除.build,我将返回第一个。
我知道在闲置的一周中,我确实获得了春季Windows更新。
Windows 10 17134.48 NPM 6.1.0 Nodejs 8.11.1
任何想法可能是什么原因造成的?
我正在使用无服务器框架推送到AWS Lambda。为了测试我的功能,我目前仅使用Lambda控制台添加每个方法,这变得非常乏味,并且我希望有一种方法可以将它们与代码一起使用serverless deploy。
我在用于本地测试的无服务器方法上找到了此参考,但是似乎没有将这些测试事件部署到Lambda。
理想情况下,我希望能够在Serverless中执行此操作,但是如果有通过aws-cli它执行此操作的方法可能也是个不错的选择。
我正在尝试将特定事件的一些“输入”传递给我的lambda函数,并正在研究实现方法。无服务器文档显示了定义输入的示例,例如:
无服务器
functions:
aggregate:
handler: statistics.handler
events:
- schedule:
rate: rate(10 minutes)
enabled: false
input:
key1: value1
key2: value2
stageParams:
stage: dev
Run Code Online (Sandbox Code Playgroud)
我仍然不确定这到底是什么,以及如何从我的handlers.js函数进行访问(如果有的话)。
如果有人可以揭开神秘的面纱,将不胜感激。
是否可以使用别名使用CloudFormation获得KMS密钥ARN?我想对我的AWS账户中的密钥赋予特定权限。
类似于以下内容?
- Effect: Allow
Action: kms:Decrypt
Resource:
- 'Fn::GetAtt':
- 'alias/someAliasOfAKMSKey'
- 'arn'
Run Code Online (Sandbox Code Playgroud) aws-lambda ×6
node.js ×3
amazon-rds ×1
amazon-vpc ×1
aws-kms ×1
cors ×1
javascript ×1
serverless ×1
slack ×1
slack-api ×1
testing ×1
windows-10 ×1