标签: aws-lambda

'add-permission'的'statement-id'参数是什么意思?

我正在完成教程"演练2:处理Amazon S3事件(Node.js)".我有关于CLI参数的问题:

 aws lambda add-permission \
--function-name CreateThumbnail \
--region us-west-2 \
--statement-id some-unique-id \
--action "lambda:InvokeFunction" \
--principal s3.amazonaws.com \
--source-arn arn:aws:s3:::sourcebucket \
--source-account bucket-owner-account-id \
--profile adminuser
Run Code Online (Sandbox Code Playgroud)

参数是什么--statement-id some-unique-id?

amazon-s3 amazon-web-services aws-cli aws-lambda

8
推荐指数
1
解决办法
2261
查看次数

在Haskell中编译数据结构的时间总体?

用例是AWS Lambda函数我想在编译时预先加载一些数据.如何在Haskell中编译时预先填充数据结构?类似的C++讨论.

haskell aws-lambda

8
推荐指数
0
解决办法
165
查看次数

与PostgreSQL和AWS的连接池

拥有微服务架构,多个服务与我的PostgresSQL数据库对话.如果我现在想要将部分应用程序部署为AWS Lambda函数,那么如何避免连接耗尽?

阅读几篇文章[ 1 ],[ 2 ],[ 3 ]我意识到PgBouncer可能非常适合我的微服务架构.

我的数据库前需要"微服务"吗?如何使用AWS Lambda进行设置?

postgresql amazon-web-services aws-lambda

8
推荐指数
1
解决办法
2984
查看次数

AWS Lambda容器重用如何工作?

我已经通过了这个链接,(它于2014年12月发布),也提到了这个和这个

AWS Lambda容器重用的工作方式与2016年5月相同,请您分享详细说明的具体链接?下面我对这个AWS Lambda容器重用问题几乎没有任何疑问.

考虑一个用例:

Lambda函数名称"processMessageLambda"在必须处理消息时接收请求,并从POST REST API接收该消息(来自AWS API Gateway,与此lambda函数连接).

现在这个'processMessageLambda'处理消息并将其存储到数据库中.

从逻辑上讲,它执行以下操作:连接到数据库,存储消息并关闭连接.(它在正常情况下工作正常.)

如果请求到达 - 例如每秒10次,并且每个lambda函数需要30秒才能执行,那么它实际上会打开许多​​数据库连接.

Q1:我们可以在这种情况下使用"连接池"(例如boneCP)吗?因为"processMessageLambda"的调用次数会像每秒一百或每秒十次?

(参考:容器重用的简单示例 - 它按照它说的方式工作,但是会发生什么,许多请求会说 - 每秒10个请求)

问题2:如果可以使用连接池,那么将如何重新使用这个aws lambda容器?

如果考虑一个案例:

让我们考虑这个Lambda函数收到的请求是每秒十个,在这种情况下 - 将创建这个lambda函数的10个不同的容器,或者将创建单个容器的lambda函数,并将与所有这10个请求一起使用?

问题3:如果将创建10个不同的lambda函数容器,那么这意味着将使用10个数据库连接,那么这些10个容器将在进一步的请求中被重新使用?

问题4:请您从开发人员的角度解释一下,在重用aws lambda容器时,它实际上是如何实现lambda容器重用工作或开发人员如何考虑它?

问题5:如果容器重用已经到位,开发人员如何维护变量状态,以便开发人员知道哪个变量可以重用?

amazon-web-services aws-lambda

8
推荐指数
1
解决办法
4322
查看次数

使用外部js库在Amazon Lambda中将XML解析为JSON

我试图将我从服务器获取的XML字符串转换为我的Lambda函数中的JSON.
我已经设置了这个相当简单的示例来模拟我使用DynamoDB从服务器获得的XML答案.(目前我只想尝试转换)

'use strict';

var AWS = require('aws-sdk');
var docClient = new AWS.DynamoDB.DocumentClient({region: 'eu-west-1'});


exports.handler = function (e, ctx, callback){    
    let table = "dsbTable";
    let bpNumber = 1337;
    var test;
    var x2js = new X2JS();
    let params = {
            TableName: table,
            Key:{
                "bpNumber": bpNumber
            },
        };
    docClient.get(params, function(err, data) {
            if (err) {
                console.error("Unable to read item. Error JSON:", JSON.stringify(err, null, 2));
                callback(err, null);
            } else {
                console.log("GetItem succeeded:", JSON.stringify(data, null, 2));
                console.log('test' +data.Item.getBp);
                //var jsonObj = x2js.xml_str2json(data.Item.getBp);
                //console.log(jsonObj);

                callback(null, …
Run Code Online (Sandbox Code Playgroud)

javascript xml-parsing aws-lambda

8
推荐指数
1
解决办法
7688
查看次数

AWS Lambda是否支持PHP?

我只是AWS的初学者。我需要了解lambda支持。我正在使用PHP。
lambda是否支持PHP?如果没有,是否还有其他支持PHP的替代解决方案?

amazon-web-services aws-lambda

8
推荐指数
1
解决办法
9159
查看次数

有没有什么办法可以在不抛出异常的情况下通知Java的AWS Lambda错误?

如果我的Lambda Exception在消息中抛出,404则在API Gateway中看到的响应为

{
  "errorMessage":"404",
  "errorType":"java.lang.Exception",
  "stackTrace":[..."]
}
Run Code Online (Sandbox Code Playgroud)

并且我可以在errorMessage上进行匹配以影响HTTP结果。

但是,如果我有效地返回相同的结果,即:

{
  "errorMessage":"404",
  "errorType":"Error"
}
Run Code Online (Sandbox Code Playgroud)

API网关似乎无法识别出错误,并且始终返回200。

我的精美功能代码有什么办法可以在不引发异常的情况下发出错误信号?

java amazon-web-services aws-lambda aws-api-gateway

8
推荐指数
1
解决办法
2387
查看次数

使用Cognito进行REST API身份验证

我希望使用API​​ Gateway + Lambda + Cognito用户池来构建一个简单的REST API.

API将以两种方式使用.第一个是支持基本的Web应用程序(托管在CloudFront + S3上).Web应用程序的身份验证使用托管的Cognito登录/注册流程,并且工作正常(使用API​​网关设置来使用用户池身份验证器).

第二种方法是让客户使用REST API与系统进行通信.

例如,客户端可能使用Web应用程序配置工作流,然后使用API​​来调用该工作流.

验证API以与后端服务一起使用的推荐方法是什么?

传统上,我希望为此目的使用API​​密钥+秘密令牌.我在API网关界面中创建API密钥没有问题,但我无论如何都看不到将其链接到特定用户,也看不到任何在API密钥旁边指定秘密令牌的方法.

假设以上是可能的,我将如何设置它以便我可以使用基于JWT的Web应用程序方法和API密钥+秘密令牌供客户使用.

编辑:此外,我注意到应用程序客户端有一个ID和一个秘密.它们是否打算用于第三次基于API的身份验证(类似于其他系统如何使您为API访问创建应用程序)?我有点怀疑,因为每个用户池有25个限制,虽然这是一个软限制......

authentication rest amazon-cognito aws-lambda aws-api-gateway

8
推荐指数
2
解决办法
2992
查看次数

使用AWS S3 Java将ZipOutputStream上载到S3而不将zip文件(大)临时保存到磁盘

我需要从S3下载照片(不在同一目录中),将其压缩,然后再次使用AWS S3 Java SDK上传到S3。该zip文件大小可以以GB为单位。目前,我正在使用AWS Lambda,它的临时存储限制为最大500 MB。因此,我不想将ZIP文件保存在磁盘上,而是想将ZIP文件(使用从S3下载的照片动态创建的ZIP文件)直接传输到S3。我需要使用AWS S3 Java SDK。

java amazon-s3 zipoutputstream aws-lambda aws-java-sdk

8
推荐指数
1
解决办法
333
查看次数

Google Cloud Functions和AWS Lambda的超时问题

我们正在使用NodeJS通过Google Speech-to-Text API处理较长的成绩单。许多功能需要10分钟以上的时间来处理。处理/音频时间的通常比例约为50%。因此,一个20分钟的FLAC音频文件需要大约10分钟的处理时间(因此,在Google Cloud Functions上失败,最大时间为540秒或9分钟),而超过29分钟的任何时间在AWS Lambda上都会失败。

每个平台上有哪些服务可以在20/30分钟内处理音频文件,还可以发送事件数据并调用应用程序?我可以混合使用云功能和其他平台来处理成绩单吗?

javascript amazon-web-services google-cloud-platform aws-lambda google-cloud-functions

8
推荐指数
1
解决办法
248
查看次数