我没有完全掌握使用 sam 发布/部署的流程。我最大的问题是我的 sam 模板声明了 aAWS::Serverless::Function并且 CodeUri 参数强制我输入 s3 存储桶 url。
我见过一些示例,其中 CodeUri 只是计算机上代码资源的路径。当我尝试这个时,萨姆抱怨道
“CodeUri”不是具有可选 versionId 查询参数的“s3://bucket/key”形式的有效 S3 Uri。
为了解决这个问题,我必须
这是非常令人讨厌的。
我缺少什么?
{
"Description" : "Serverless backend",
"Transform" : "AWS::Serverless-2016-10-31",
"Globals" : {
},
"Resources" : {
"db" : {
"Type": "AWS::RDS::DBInstance",
"Properties" : {
"AllocatedStorage": "20",
"DBInstanceClass": "db.t2.micro",
"DBName": "nameforthedb",
"DeleteAutomatedBackups": true,
"Engine": "postgres",
"MasterUsername": "masterUserName",
"MasterUserPassword": …Run Code Online (Sandbox Code Playgroud) .net核心无服务器Web api我正在尝试与lambda和api网关进行代理集成,而AWS控制台一切正常
但是我在尝试与cli集成时遇到了aws cli命令的问题,但lambda没有正确集成
aws apigateway create-resource --rest-api-id id --parent-id id --path-part {proxy+}
aws apigateway put-method --rest-api-id id --resource-id id --http-method ANY --authorization-type "NONE"
aws apigateway put-integration --rest-api-id id --resource-id id --http-method ANY --type HTTP_PROXY --integration-http-method ANY --uri arn:aws:apigateway:us-east-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-east-2:account_id:function:helloworld/invocations
aws lambda add-permission --function-name helloworld --action lambda:InvokeFunction --principal apigateway.amazonaws.com --source-arn arn:aws:execute-api:us-east-2:account_id:apiid/*/*/* --statement-id 12345678
Run Code Online (Sandbox Code Playgroud) amazon-web-services aws-cli aws-lambda asp.net-core-webapi aws-serverless
我们正在使用v3版本的AWS无服务器图像处理程序来为我们的站点进行图像处理。但是,当AWS发布此更新时,整个事情就坏了。不幸的是,由于以下原因,新版本(v4)不适用于Thumbor样式请求:
它仅适用于s3存储桶根目录中的图像
该安全哈希功能尚未实现,以确保安全
在“auto_webp”功能尚未实现,因此它不能充当WEBP图片到支持它们的浏览器。
我如何在新版本的AWS serverless-image-handler上启动并运行,而不必对应用程序进行重大更改(即,我想继续使用Thumbor样式请求,但使用v4的serverless-image -处理程序)?
image-processing amazon-web-services node.js aws-lambda aws-serverless
我正在开发一个可以读取和分析支付交易日志的应用程序。我知道我会根据我的要求使用 Kinesis Analytics,它从 Data Streams 和 Firehose 获取输入。但是我在决定我的系统应该使用哪种输入法时遇到了麻烦。我的要求是:
哪个输入流适合我的用例?
amazon-web-services data-stream amazon-kinesis aws-lambda aws-serverless
今天早上,我项目的无服务器部署开始失败。我没有更改代码中的任何内容,最后一次成功部署大约是在一周前。
这是部署日志:
Error --------------------------------------------------
Error: Unknown object type "asyncfunction"
at Object._object (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:218:17)
at Object._function (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:319:14)
at Object.dispatch (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:185:30)
at /usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:246:18
at Array.forEach (<anonymous>)
at Object._object (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:242:21)
at Object._function (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:319:14)
at Object.dispatch (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:185:30)
at /usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:246:18
at Array.forEach (<anonymous>)
at Object._object (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:242:21)
at Object.dispatch (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:185:30)
at /usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:246:18
at Array.forEach (<anonymous>)
at Object._object (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:242:21)
at Object.dispatch (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:185:30)
at /usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:246:18
at Array.forEach (<anonymous>)
at Object._object (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:242:21)
at Object.dispatch (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:185:30)
at /usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:246:18
at Array.forEach (<anonymous>)
at Object._object (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:242:21)
at Object.dispatch (/usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:185:30)
at /usr/local/lib/node_modules/serverless/node_modules/object-hash/index.js:246:18
at Array.forEach …Run Code Online (Sandbox Code Playgroud) 我正在运行一个 v2 实例,并且根据 aws 文档,您应该只为实际使用的资源付费。我有一个实例,大多数时候连接数为 0,但它永远不会缩减到 2 个 ACU 以下。请参阅下面的图片以供参考。我的实例设置在 0.5-16ACU 之间扩展。但负载似乎并不重要,它始终保持在 2ACU 的基线。
我收到String is longer than the maximum length of 1.yaml-schema: AWSDynamoDBTableAttributeDefinition 以下代码块的错误
TodosTable:
Type: AWS::DynamoDB::Table
Properties:
TableName: Todos-${self:provider.stage}
AttributeDefinitions:
- AttributeName: todoId
AttributeType: S
- AttributeName: createdAt
AttributeType: S
- AttributeName: name
AttributeType: S
- AttributeName: dueDate
AttributeType: S
KeySchema:
- AttributeName: todoId
KeyType: HASH
- AttributeName: createdAt
KeyType: RANGE
BillingMode: PAY_PER_REQUEST
StreamSpecification:
StreamViewType: NEW_IMAGE
LocalSecondaryIndexes:
- IndexName: todoNameIndex
KeySchema:
- AttributeName: todoId
KeyType: HASH
- AttributeName: name
KeyType: RANGE
Projection:
ProjectionType: ALL
Run Code Online (Sandbox Code Playgroud)
解释: yaml 模式似乎将AttributeName与混淆了AttributeType。因为它期望字符串只有一个字符。 …
我有一个无服务器的 lambda函数,在其中我想触发(调用)一个方法而忘记它
我用这种方式做
// myFunction1
const params = {
FunctionName: "myLambdaPath-myFunction2",
InvocationType: "Event",
Payload: JSON.stringify(body),
};
console.log('invoking lambda function2'); // Able to log this line
lambda.invoke(params, function(err, data) {
if (err) {
console.error(err, err.stack);
} else {
console.log(data);
}
});
// my function2 handler
myFunction2 = (event) => {
console.log('does not come here') // Not able to log this line
}
Run Code Online (Sandbox Code Playgroud)
我注意到,直到并且除非我执行Promise returnin myFunction1,否则它不会触发myFunction2,但是不应该设置lambda InvocationType = "Event"意味着我们希望此操作被触发并忘记并且不关心回调响应吗?
我在这里想念什么吗?
非常感谢您的帮助。
javascript aws-lambda serverless aws-lambda-edge aws-serverless
是否可以Union从 python lambda用 graphql 进行响应?如何? 这似乎是可能的,但我无法超越它。
我包含了一个__typename属性,但大多数情况下我都会收到此错误:
{'errorType': 'BadRequestException',
'message': "Could not determine the exact type of MealMix. Missing __typename key on value.'"}
Run Code Online (Sandbox Code Playgroud)
MealMix 是我的工会,架构如下所示:
type Meal { name: String }
type OtherMeal { name: String }
union MealMix = Meal | OtherMeal
type Query {
GetMealMix(identity_id: ID!, date: AWSDate!): [MealMix]
}
Run Code Online (Sandbox Code Playgroud)
查询是:
query test_query {
GetMealMix(identity_id: "this", date: "2020-11-20") {
... on Meal {name}
... on OtherMeal {name}
}
}
Run Code Online (Sandbox Code Playgroud)
我从 lambda 返回:
return …Run Code Online (Sandbox Code Playgroud) 我有一个简单的 Express/Node.js 应用程序,其中包含以下没有子目录的文件(除了 .serverless 和 node_modules)。
AWS 抛出此错误 -发生错误:ApiLambdaFunction - 上传的文件必须是非空 zip(服务:AWSLambdaInternal;状态代码:400;错误代码:InvalidParameterValueException;请求 ID:5779d4c3-beaa-4bc2-b525-c1e89a82635a;空值)。
当我访问代码上传到的 S3 存储桶时,.zip 文件不是空的。我能够看到 .zip 文件夹及其所有内容,但是,serverless deployAWS CLI的操作失败,引发上述异常。任何帮助将问题归零将不胜感激。谢谢!
以下是代码。
const express = require("express")
const app = express();
app.use(express.json());
app.use(express.urlencoded({extended: false}));
app.get("/", (req, res) => {
res.status(200).send("Root endpoint")
})
app.post("/postReq", (req, res) => {
res.status(200).send(req.body);
})
app.listen(8080, () => console.log("App started."))
Run Code Online (Sandbox Code Playgroud)
'use strict'
const awsServerlessExpress = require('aws-serverless-express')
const app = require('./app')
const server = awsServerlessExpress.createServer(app)
exports.handler …Run Code Online (Sandbox Code Playgroud) aws-serverless ×10
aws-lambda ×6
serverless ×3
node.js ×2
amazon-rds ×1
aws-appsync ×1
aws-cli ×1
aws-sam-cli ×1
data-stream ×1
javascript ×1
python ×1
yaml ×1