我正在研究SAM模板,用于在AWS Serverless存储库中发布我的应用程序。但是,当我尝试为lambda添加策略时,会显示错误消息:Invalid Serverless Application Specification文档。发现的错误数量:1.错误:ID为[SyncPostDataFromSfLambda]的资源无效。“策略”属性中仅支持策略模板。
以下是我的SAM模板的示例:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "Deployment",
"Resources": {
"SyncPostDataToSfLambda": {
"Type": "AWS::Serverless::Function",
"Properties": {
"Handler": "index.handler",
"FunctionName": "myLambdaFunction",
"CodeUri": "s3 URL",
"Runtime": "nodejs6.10",
"MemorySize": 512,
"Policies": [
"AmazonDynamoDBFullAccess"
],
"Events": {
"PostResource": {
"Type": "Api",
"Properties": {
"RestApiId": {
"Ref": "API"
},
"Path": "/apipath",
"Method": "post"
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个 node_modules 文件夹,我只想排除几个模块,但在打包时应该添加其他模块。我该怎么做。还有如何使用正则表达式排除某些模块。就像在我的 node_modules 中,我创建了以 md-request、md-models 等开头的自定义模块,所以我只想从打包中排除这些模块。提前致谢。
amazon-web-services node.js aws-lambda serverless-framework serverless
当我创建一个未经身份验证的(公共)Cloud Run 端点来托管 API 时,我有哪些选项可以保护此端点免受发出数十亿 HTTP 请求的恶意用户的攻击?
只需 10 美元,您就可以发起第 7 层HTTP 洪水攻击,每秒可以发送 25 万个请求。让我们假设您的 Cloud Run 端点扩展并处理所有请求。仅就调用而言,您将支付 360 美元/小时(每百万个请求 0.40 美元)。
请注意,如果攻击未分布在多个 Cloud Run 终端节点上,您可能会遇到并发限制和最大实例限制。我还有哪些其他控件?
据我了解,Cloud Armor和Cloud CDN的常用防御绑定到Global Load Balancer,Cloud Run 不可用,但 Cloud Run on GKE 可用。
我正在为 lambda 项目使用无服务器框架。我们需要能够直接访问 cloudformation 以满足我们对其他项目的标准。如何查看从 编译的完整 CloudFormation serverless.yml?
sls deploy -v && sls s3deploy像往常一样运行后,我遇到了这个问题:
...
CloudFormation - CREATE_FAILED - AWS::Logs::LogGroup - CallTextractLogGroup
...
CloudFormation - CREATE_FAILED - AWS::IAM::Role - IamRoleStateMachineExecution
CloudFormation - CREATE_FAILED - AWS::Logs::LogGroup - StartTextractStateMachineLogGroup
CloudFormation - CREATE_FAILED - AWS::Lambda::LayerVersion - Boto3LayerLambdaLayer
...
Serverless Error ---------------------------------------
An error occurred: StartTextractStateMachineLogGroup - /aws/lambda/textract-service-dev-startTextractStateMachine already exists.
Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com
Your Environment Information ---------------------------
OS: linux
Node Version: 12.2.0
Serverless Version: 1.42.3
Run Code Online (Sandbox Code Playgroud)
我不记得在部署之前做任何更改,除了在Retry我的 Step Function States 中添加部分,这根本不应该与 CF 日志混淆。
我尝试运行 …
amazon-web-services aws-cloudformation aws-lambda amazon-cloudwatchlogs serverless
我打开这个问题是因为似乎没有关于此的文档,所以我想在反复试验中浪费大量时间后提供答案。
作为背景,无服务器框架 [允许从 AWS SSM Parameter Store 加载纯文本和 SecureString 值]。1
执行无服务器部署时,访问和加载这些 SSM Parameter Store 值需要什么权限?
amazon-iam aws-lambda serverless-framework serverless aws-serverless
与多个无服务器功能共享数据库是一种好习惯吗?
就像在 CRUD 应用程序中一样,通常创建、更新、删除和读取是共享同一数据库的不同操作。如果我们在无服务器上迁移这个想法,那仍然是理想的吗?所有这些操作都访问同一个数据库。
我的犹豫来自于在不同微服务之间共享数据库的想法。因为这会增加耦合并使事情变得更加脆弱。
我正在使用Serverless部署 Node AWS Lambda。由于运行此代码的机构的内部要求,我需要通过额外的证书。我能找到的唯一解决方案是将NODE_EXTRA_CA_CERTS作为 CLI 参数传递。使用典型的环境变量(例如在dotenv中定义)不起作用,因为此时在 Node 中已经配置了证书。
我的额外证书位于MyCerts.pem项目根目录中,我尝试运行的 Lambda 函数称为function1. 在本地运行 LambdaNODE_EXTRA_CA_CERTS=./MyCerts.pem npx serverless invoke local -f function1 -l可以正常工作。但是,一旦我使用 部署到 AWS npx serverless deploy -v,我就找不到正确包含这些附加证书的方法,包括使用NODE_EXTRA_CA_CERTS=./MyCerts.pem npx serverless invoke -f function1 -l.
我已经尝试了所有我能想到的方法并且不知所措。有人可以帮忙吗?
ssl-certificate amazon-web-services node.js aws-lambda serverless
我有这样的系统设计
SQS -> 触发器 -> Lambda -> 如果失败 -> DLQ
前提条件
跑了一会后
这是预期的吗?
在我看来,如果 Lambda 中没有错误抛出,DLQ 消息应该始终为零。
在 SNS 主题或 Lambda 函数上设置死信队列有什么区别?
我想知道,因为如果您在 SNS 订阅上设置 DLQ,那么当 Lambda(订阅者)失败时,该订阅消息将故障转移到 DLQ,对吗?那么在这种情况下,在这两个地方设置 DLQ 会产生相同的效果吗?
我在 SNS 主题订阅上设置了 DLQ,但它没有“自动”显示为 Lambda 屏幕设置上的 DLQ,所以我认为可能存在一些差异?
SNS 死信队列参考:https : //docs.aws.amazon.com/sns/latest/dg/sns-dead-letter-queues.html
通常,当 Amazon SNS 由于客户端或服务器端错误而无法访问订阅的终端节点时,消息传送会失败。
Lambda 死信队列参考:https : //aws.amazon.com/about-aws/whats-new/2016/12/aws-lambda-supports-dead-letter-queues/
在标准重试策略(失败时额外重试 2 次)用完后,AWS Lambda 会将调用 Lambda 函数的事件对象写入此 [DLQ] 端点。
拉姆达:
SNS订阅:
amazon-web-services dead-letter amazon-sns aws-lambda serverless
serverless ×10
aws-lambda ×8
node.js ×3
amazon-iam ×1
amazon-sns ×1
amazon-sqs ×1
dead-letter ×1