标签: aws-lambda

如何从Amazon API Gateway将查询字符串或路由参数传递给AWS Lambda

例如,如果我们想要使用

GET /user?name=bob

要么

GET /user/bob

您如何将这两个示例作为参数传递给Lambda函数?

我在文档中看到了关于设置"映射到"的内容,但我在API网关控制台中找不到该设置.

  • method.request.path.parameter-name对于parameter-name在"方法请求"页面中定义的路径参数.
  • method.request.querystring.parameter-name对于parameter-name在"方法请求"页面中定义的名称的查询字符串参数.

即使我定义了查询字符串,我也看不到这些选项中的任何一个.

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

310
推荐指数
13
解决办法
21万
查看次数

AWS Lambda函数可以调用另一个吗?

我有2个Lambda函数 - 一个产生报价,一个将报价转换为订单.我希望Order lambda函数调用Quote函数来重新生成引用,而不是仅从不受信任的客户端接收它.

我看到了我能想到的所有地方 - 但看不出我是如何进行链接或调用功能的......当然这存在!

amazon-web-services node.js aws-lambda aws-api-gateway

280
推荐指数
10
解决办法
14万
查看次数

AWS Lambda计划任务

亚马逊宣布推出AWS Lambda(http://aws.amazon.com/lambda/).

产品描述包括:

计划任务

AWS Lambda函数可以由外部事件计时器触发,因此可以在定期维护时间或非高峰时间运行功能.例如,您可以触发AWS Lambda函数在非繁忙时段执行夜间归档清理.

当我读到这篇文章时,我明白我终于有办法不断地做"类似cron"的任务了.我想每天下午5点运行一个特定的查询.

但是我没有在文档中的任何地方找到它.他们只提到了programatical事件或来自其他AWS服务的事件的触发器.

我误会了吗?或者有人能指出我的文档?

amazon-web-services cron-task aws-lambda

134
推荐指数
4
解决办法
5万
查看次数

下载已上传的Lambda函数

我使用"上传.zip"在AWS(Python)中创建了一个lambda函数.我丢失了这些文件,我需要进行一些更改,是否有任何方法可以下载.zip?

amazon-web-services aws-lambda

113
推荐指数
3
解决办法
4万
查看次数

如何在AWS Lambda中加载npm模块?

我使用基于Web的编辑器创建了几个Lambda函数.到现在为止还挺好.我现在想开始扩展模块(例如Q for promises).我无法弄清楚如何将模块输出到Lambda,以便它们可以被我的函数使用.

我已经读完了这个但似乎涉及设置EC2并从那里运行Lambda函数.在创建函数时有一种上传zip的机制,但这似乎涉及发送本地开发的函数.因为我在基于Web的编辑器中工作,这似乎是一个奇怪的工作流程.

如何简单地部署一些模块以用于我的Lambda函数?

amazon-web-services npm aws-lambda

104
推荐指数
6
解决办法
6万
查看次数

有没有办法更改Amazon API Gateway返回的http状态代码?

例如,如果我想为无效参数返回特定的400错误,或者当lambda函数调用导致创建时返回201.

我想有不同的http状态代码,但看起来api网关总是返回200状态代码,即使lambda函数返回错误.

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

87
推荐指数
8
解决办法
6万
查看次数

AWS Lambda错误:"找不到模块'/ var/task/index'"

Node.js Alexa任务问题

我目前正在通过AWS Lambda编写Node.js Alexa任务,我一直在尝试编写一个函数,该函数从OpenWeather API接收信息并将其解析为一个名为的变量weather.相关代码如下:

var request = require('request');
var weather = "";
function isBadWeather(location) {
      var endpoint = "http://api.openweathermap.org/data/2.5/weather?q=" + location + "&APPID=205283d9c9211b776d3580d5de5d6338";
      var body = "";
      request(endpoint, function (error, response, body) {
            if (!error && response.statusCode == 200) {
                  body = JSON.parse(body);
                  weather = body.weather[0].id;
            }
      });
}

function testWeather()
{
      setTimeout(function() {
      if (weather >= 200 && weather < 800)
            weather = true;
      else
            weather = false;
      console.log(weather);
      generateResponse(buildSpeechletResponse(weather, true), {});
      }, 500);
} …
Run Code Online (Sandbox Code Playgroud)

javascript request amazon-web-services node.js aws-lambda

86
推荐指数
4
解决办法
4万
查看次数

为什么此HTTP请求无法在AWS Lambda上运行?

我开始使用AWS Lambda,我正在尝试从我的处理程序函数请求外部服务.根据这个答案,HTTP请求应该可以正常工作,我没有找到任何其他说明的文档.(事实上​​,人们已经发布了使用Twilio API发送短信的代码.)

我的处理程序代码是:

var http = require('http');

exports.handler = function(event, context) {
  console.log('start request to ' + event.url)
  http.get(event.url, function(res) {
    console.log("Got response: " + res.statusCode);
  }).on('error', function(e) {
    console.log("Got error: " + e.message);
  });

  console.log('end request to ' + event.url)
  context.done(null);
}
Run Code Online (Sandbox Code Playgroud)

我在CloudWatch日志中看到以下4行:

2015-02-11 07:38:06 UTC START RequestId: eb19c89d-b1c0-11e4-bceb-d310b88d37e2
2015-02-11 07:38:06 UTC eb19c89d-b1c0-11e4-bceb-d310b88d37e2 start request to http://www.google.com
2015-02-11 07:38:06 UTC eb19c89d-b1c0-11e4-bceb-d310b88d37e2 end request to http://www.google.com
2015-02-11 07:38:06 UTC END RequestId: eb19c89d-b1c0-11e4-bceb-d310b88d37e2
Run Code Online (Sandbox Code Playgroud)

我期待那里有另一条线:

2015-02-11 07:38:06 …
Run Code Online (Sandbox Code Playgroud)

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

74
推荐指数
7
解决办法
10万
查看次数

python中的AWS Lambda导入模块错误

我正在创建一个AWS Lambda python部署包.我正在使用一个外部依赖请求.我使用AWS文档http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html安装了外部依赖项.下面是我的python代码.

import requests

print('Loading function')

s3 = boto3.client('s3')


def lambda_handler(event, context):
    #print("Received event: " + json.dumps(event, indent=2))

    # Get the object from the event and show its content type
    bucket = event['Records'][0]['s3']['bucket']['name']
    key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key']).decode('utf8')
    try:
        response = s3.get_object(Bucket=bucket, Key=key)
        s3.download_file(bucket,key, '/tmp/data.txt')
        lines = [line.rstrip('\n') for line in open('/tmp/data.txt')]
        for line in lines:
            col=line.split(',')
            print(col[5],col[6])
        print("CONTENT TYPE: " + response['ContentType'])
        return response['ContentType']
    except Exception as e:
        print(e)
        print('Error getting object {} from bucket {}. Make sure …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services aws-lambda

70
推荐指数
11
解决办法
10万
查看次数

AWS Lambda:提供的执行角色无权调用 EC2 上的 DescribeNetworkInterfaces

今天我有一个新的 AWS Lambda 问题,在谷歌找不到任何地方。

我新建了一个 Lambda 函数,毫无疑问。但是当我在这个函数中输入任何代码时[例如。console.log();] 并单击“保存”,出现错误:“提供的执行角色无权调用 EC2 上的 DescribeNetworkInterfaces”

exports.handler = (event, context, callback) => {
    callback(null, 'Hello from Lambda');
    console.log();  // here is my code   
}; 
Run Code Online (Sandbox Code Playgroud)

我将函数与 Role 绑定: lambda_excute_execution(Policy:AmazonElasticTranscoderFullAccess) 并且此函数现在未与任何触发器绑定。

然后,我给角色“AdministratorAccess”策略,我可以正确保存我的源代码。

此角色可以在今天之前成功运行 Functions。

有人知道这个错误吗?

非常感谢!

policy role amazon-web-services amazon-iam aws-lambda

70
推荐指数
7
解决办法
6万
查看次数