标签: aws-lambda

执行多次嵌套调用时的lambda调用数

如果我用一个请求调用一个lambda函数,但在该函数内,有三个调用不同的函数,那么这算作4个调用还是只是一个调用,因为它基于一个请求?

因此,如果计数为4,那么(从经济角度来看)如果编写一个长函数而不是许多小函数会不会更好,尽管从设计模式的立场来看它是不明智的?

design-patterns amazon-web-services aws-lambda

0
推荐指数
1
解决办法
72
查看次数

为什么在VPC中使用aws lambda无法向SNS发送消息?

我的lambda函数可以使用"no VPC"的发布方法向SNS发送消息,但是当我将它放入可以访问带有路由和Internet网关的公共Internet的VPC时它会超时.

编辑

我有一个公共子网中的lambda,其0.0.0.0/0已经路由到Internet网关,因此无法再将其路由到NAT.是否可以将EIP分配给lambda函数

amazon-web-services amazon-sns aws-lambda

0
推荐指数
1
解决办法
1895
查看次数

从异步AWS Lambda返回数据

如何将作为事件调用的lambda的数据恢复到调用函数?

基本上我的lambda函数是:

exports.handler = function(event, context, callback) {
    var data = {};
    data.foo ='hello';
    callback(null, data)
}
Run Code Online (Sandbox Code Playgroud)

并且调用函数如下所示:

var AWS = require('aws-sdk');

var lambda = new AWS.Lambda();
var params = {
    FunctionName: 'SomeFunction',
    InvocationType: 'Event'
};

lambda.invoke(params, function (err, data) {
    if (err) {
        console.log(err, err.stack); // an error occurred
    } else {
        console.log(JSON.stringify(data, null, 2));
    }
});
Run Code Online (Sandbox Code Playgroud)

然而,我唯一从功能中回来的是

{
  "StatusCode": 202,
  "Payload": ""
}
Run Code Online (Sandbox Code Playgroud)

我认为回调参数的意思是允许调用函数在函数完成时获取数据.我使用它错了还是我问Lambda不可能的?

asynchronous amazon-web-services node.js aws-lambda

0
推荐指数
1
解决办法
1936
查看次数

如何使用NodeJS提高AWS Lambda函数的性能?

我目前有一个工作的NodeJS应用程序,可以生成在AWS Lambda上托管的模板化PDF.它接收把手模板,生成带有模板和数据的pdf,将PDF写入S3存储桶并返回文件名.如果该文件已在S3上存在,则返回现有文件的文件名.

文件存在时,大约需要3秒钟才能完成.如果需要生成文件,则需要15-25秒才能完成.

我将它配置为最大128MB内存并在25秒时超时,但我真的更愿意将其减少到15秒(如果可能的话).由于将生成的某些PDF的复杂性和长度,我目前不得不将超时保留.

排除我正在使用的NodeJS库,有没有办法在读取/写入S3时加快Lambda执行和/或Lambda的延迟?

lambda amazon-s3 amazon-web-services node.js aws-lambda

0
推荐指数
1
解决办法
627
查看次数

aws lambda c#http/s请求

我正在尝试在aws lambda(C#)下执行http/s请求.

System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
System.Net.Http.HttpResponseMessage response = await client.GetAsync("URL");
string responseText = response.ToString();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误代码.如果我手动添加DLL它仍然无法正常工作.

无法加载DLL'iplpapi.dll':找不到指定的模块.

可以在aws下做一个请求吗?

我的东西:

  • Msvc 15
  • Amazon Lambda Core,Amazon Lambda Tools,Amazon Lambda Serialization Json
  • netcore 1.0

.net c# aws-lambda

0
推荐指数
1
解决办法
3572
查看次数

Android-通过app或lambda在DynamoDB中保存数据

我一直在开发连接到AWS的Android应用程序,我使用代码在应用程序中的DynamoDB中保存数据:

AmazonDynamoDBClient ddb = clientManager
                .ddb();
DynamoDBMapper mapper = new DynamoDBMapper(ddb);

try {
     mapper.save(event);
}
Run Code Online (Sandbox Code Playgroud)

我知道可以通过Lambda管理DynamoDB中的数据.我的问题是:在Lambda中保存和编辑数据更快更安全吗?

android amazon-web-services amazon-dynamodb aws-lambda

0
推荐指数
1
解决办法
279
查看次数

Amazon SNS,如何找到事件的来源?

因此,我试图找到一个奇怪的错误的源头,该错误会导致特定lambda函数的异常调用峰值。到目前为止,我已经向lambda添加了日志记录功能,并重新部署以收集有关触发lambda的上下文和事件对象的更多信息。

因此,我想知道这些事件的起源,并从上述那些记录的事件对象中找到了罪魁祸首TopicArn,但是在这种关系中我该如何找到有罪的出版商呢?有什么想法或我忽略的事情吗?

amazon-web-services amazon-sns aws-lambda

0
推荐指数
1
解决办法
385
查看次数

"errorMessage": "lambda_handler() 接受 0 个位置参数,但给出了 2 个",

此代码在我的机器上运行正常,但在 AWS Lambda 中出现错误:

import pymysql

dbhost = 'database.ap-south-1.rds.amazonaws.com'
dbuser = 'admin'
dbpass = 'admin123'
dbname = 'classicmodels'
connection = pymysql.connect(host=dbhost, user=dbuser, password=dbpass, database=dbname)

def lambda_handler():
  cursor = connection.cursor()
  cursor.execute('SELECT * FROM Persons')
  rows = cursor.fetchall()
  for row in rows:
    print ("{0} {1} {2}".format(row[0], row[1], row[2]))

lambda_handler()
Run Code Online (Sandbox Code Playgroud)
{
"errorMessage": "lambda_handler() takes 0 positional arguments but 2 were given",
"errorType": "TypeError",
"requestId": "fb790715-91f1-4f7a-961f-b83485d23b68",
"stackTrace": ["  File \"/var/runtime/awslambdaric/bootstrap.py\", line 149, in handle_event_request\n    response = request_handler(event, lambda_context)\n"
]
}

Function Logs
START RequestId: …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services pymysql aws-lambda

0
推荐指数
1
解决办法
2820
查看次数

无法列出 AWS 秘密管理器中的所有秘密

我试图使用 lambda 函数列出 AWS 秘密管理器中可用的所有秘密,以下是 python 代码片段;

region='us-west-2'

session= boto3.sesssion.Session(region_name=region)

client = session.client('secretsmanager')

secrets =  client.list_secrets()

secrets_manager = secrets['SecretList']

for secret in secrets_manager:
  print(secret['Name'])
Run Code Online (Sandbox Code Playgroud)

上面的代码只列出了一些秘密,而不是所有秘密,但运行以下 CLI 命令会返回所有秘密。

aws secretsmanager list-secrets | grep "Name"
Run Code Online (Sandbox Code Playgroud)

我在 python 代码中缺少什么?请指教

python amazon-web-services aws-lambda aws-secrets-manager

0
推荐指数
1
解决办法
858
查看次数

为什么 AWS Lambda 占用了我分配的所有存储空间?

我的帐户中有超过 100 个 lambda 函数。最近,我访问 Lambda 仪表板,发现 Lambda 代码存储已超过 75GB,这是非常意外的。 拉姆达存储

我一一检查了我所有的Lambda函数的代码存储。我的 Lambda 甚至没有超过 50MB 那么为什么它这么高?是否还有其他东西正在占用所有存储空间?我还检查了 Lambda Layers,没有任何层超过 60MB。这让我非常不安。有人可以在这里指导我吗?或者我错过了什么吗?

amazon-web-services aws-lambda

0
推荐指数
1
解决办法
34
查看次数