例如,如果我们想要使用
GET /user?name=bob
要么
GET /user/bob
您如何将这两个示例作为参数传递给Lambda函数?
我在文档中看到了关于设置"映射到"的内容,但我在API网关控制台中找不到该设置.
method.request.path.parameter-name对于parameter-name在"方法请求"页面中定义的路径参数.method.request.querystring.parameter-name对于parameter-name在"方法请求"页面中定义的名称的查询字符串参数.即使我定义了查询字符串,我也看不到这些选项中的任何一个.
我有2个Lambda函数 - 一个产生报价,一个将报价转换为订单.我希望Order lambda函数调用Quote函数来重新生成引用,而不是仅从不受信任的客户端接收它.
我看到了我能想到的所有地方 - 但看不出我是如何进行链接或调用功能的......当然这存在!
亚马逊宣布推出AWS Lambda(http://aws.amazon.com/lambda/).
产品描述包括:
计划任务
AWS Lambda函数可以由外部事件计时器触发,因此可以在定期维护时间或非高峰时间运行功能.例如,您可以触发AWS Lambda函数在非繁忙时段执行夜间归档清理.
当我读到这篇文章时,我明白我终于有办法不断地做"类似cron"的任务了.我想每天下午5点运行一个特定的查询.
但是我没有在文档中的任何地方找到它.他们只提到了programatical事件或来自其他AWS服务的事件的触发器.
我误会了吗?或者有人能指出我的文档?
我使用"上传.zip"在AWS(Python)中创建了一个lambda函数.我丢失了这些文件,我需要进行一些更改,是否有任何方法可以下载.zip?
我使用基于Web的编辑器创建了几个Lambda函数.到现在为止还挺好.我现在想开始扩展模块(例如Q for promises).我无法弄清楚如何将模块输出到Lambda,以便它们可以被我的函数使用.
我已经读完了这个但似乎涉及设置EC2并从那里运行Lambda函数.在创建函数时有一种上传zip的机制,但这似乎涉及发送本地开发的函数.因为我在基于Web的编辑器中工作,这似乎是一个奇怪的工作流程.
如何简单地部署一些模块以用于我的Lambda函数?
例如,如果我想为无效参数返回特定的400错误,或者当lambda函数调用导致创建时返回201.
我想有不同的http状态代码,但看起来api网关总是返回200状态代码,即使lambda函数返回错误.
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) 我开始使用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) 我正在创建一个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) 今天我有一个新的 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。
有人知道这个错误吗?
非常感谢!
aws-lambda ×10
node.js ×3
amazon-iam ×1
cron-task ×1
httprequest ×1
javascript ×1
npm ×1
policy ×1
python ×1
request ×1
role ×1