标签: aws-lambda

适用于 Lambda 的 AWS 计划事件规则在 CloudFormation 中不起作用

使用 CloudFormation(实际上,使用 Python 的对流层)将 AWS Lambda 配置为由规则触发时遇到问题->触发器作为计划事件源。这已经花费了我几天时间,任何帮助将不胜感激。

这是相关的 CF JSON 片段 -

        "DataloaderRetrier": {
        "Properties": {
            "Code": {
                "S3Bucket": "mycompanylabs-config",
                "S3Key": "v3/mycompany-component-loader-lambda-0.5.jar"
            },
            "FunctionName": "DataloaderRetriervitest27",
            "Handler": "mycompany.ScheduledEventHandler::handleRequest",
            "MemorySize": 320,
            "Role": "arn:aws:iam::166662328783:role/kinesis-lambda-role",
            "Runtime": "java8",
            "VpcConfig": {
                "SecurityGroupIds": [
                    "sg-2f1f6047"
                ],
                "SubnetIds": [
                    "subnet-ec3c1435"
                ]
            }
        },
        "Type": "AWS::Lambda::Function"
    },
    "DataloaderRetrierEventTriggerPermission": {
        "Properties": {
            "Action": "lambda:InvokeFunction",
            "FunctionName": {
                "Fn::GetAtt": [
                    "DataloaderRetrier",
                    "Arn"
                ]
            },
            "Principal": "events.amazonaws.com",
            "SourceAccount": {
                "Ref": "AWS::AccountId"
            },
            "SourceArn": {
                "Fn::GetAtt": [
                    "DataloaderRetrierEventTriggerRule",
                    "Arn"
                ]
            }
        },
        "Type": "AWS::Lambda::Permission" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation aws-lambda troposphere

2
推荐指数
1
解决办法
2789
查看次数

AWS Lambda 无法 ping VPC 内的 EC2 实例

我有一个由 S3 存储桶触发的 AWS Lambda 函数。Lambda 函数 ping VPC 内的 EC2 实例。VPC 没有 NAT。出于某种原因,Lambda 无法连接到 EC2,并且超时。我曾尝试将 lambda 保留在 VPC 中和 VPC 之外。我也尝试使用实例的公共和私有 IP,但似乎不起作用。关于我下一步可以做什么的任何建议。lambda函数的代码如下

from __future__ import print_function

import json
import boto3
import urllib2

print('Loading function')

s3 = boto3.client('s3')


def lambda_handler(event, context):
    bucket = event['Records'][0]['s3']['bucket']['name']
    url = urllib2.urlopen("http://ip-address/API/")
Run Code Online (Sandbox Code Playgroud)

python amazon-ec2 amazon-web-services aws-lambda

2
推荐指数
1
解决办法
4177
查看次数

在值之间使用 node.js 查询 DynamoDB

使用 node.js 查询 dynamoDB 表。DynamoDB 表的键为 Timestamp,用整数表示。在这种情况下,我将 :timestampStart 保留为 1,将 timestampEnd 保留为 10 作为示例。

    var params = {
        TableName: "Table2",
        KeyConditionExpression:"Timestamp = :ts BETWEEN :timestampStart AND :timestampEnd",
        ExpressionAttributeValues: {
            ":ts":"Timestamp",
            ":timestampStart": 1,
            ":timestampEnd": 10
        }
    };
Run Code Online (Sandbox Code Playgroud)

:ts 不正确,我可以看到这一点。我想返回在timestampStart 和timestampEnd 之间使用Timestamp 值找到的任何行。

错误信息:

"errorMessage": "Invalid KeyConditionExpression: Syntax error; token: \"BETWEEN\", near: \":ts BETWEEN :timestampStart\"",

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

2
推荐指数
1
解决办法
6248
查看次数

使用“alexa-app”依赖项将 Alexa 技能部署到 AWS Lambda

我写了一个简单的 Alexa 技能。它使用“alexa-app”作为依赖。

var alexa = require('alexa-app');

当我保存并测试我的技能时,我得到以下响应

{
  "errorMessage": "Cannot find module 'alexa-app'",
  "errorType": "Error",
  "stackTrace": [
    "Function.Module._load (module.js:276:25)",
    "Module.require (module.js:353:17)",
    "require (internal/module.js:12:17)",
    "Object.<anonymous> (/var/task/index.js:4:13)",
    "Module._compile (module.js:409:26)",
    "Object.Module._extensions..js (module.js:416:10)",
    "Module.load (module.js:343:32)",
    "Function.Module._load (module.js:300:12)",
    "Module.require (module.js:353:17)"
  ]
}
Run Code Online (Sandbox Code Playgroud)

是否可以使用此“alexa-app”依赖项而不将其烘焙到 zip 文件中。为了加快开发速度,我更喜欢在在线 Lambda 代码编辑器中只使用一个文件。这可能吗?

amazon-web-services alexa aws-lambda alexa-skills-kit

2
推荐指数
1
解决办法
507
查看次数

使用对 AWS lambda 的 lame 和 flac 支持构建静态袜子

我正在尝试在 AWS lambda 函数中使用 sox 将 FLAC 文件转换为 MP3,但我似乎无法构建支持 FLAC 的 sox 版本。

我找到了我一直在使用的这个很棒的解决方案,但它不支持 FLAC。

我在网上搜索了替代品,但似乎没有任何效果。我还读到,在某个阶段 FLAC 支持丢失了,但应该已修复。我仍在寻找答案,但任何帮助表示赞赏。

sox lame flac aws-lambda

2
推荐指数
1
解决办法
981
查看次数

AWS Lambda 解压缩 gzip 文件,无需将文件保存在本地

我正在尝试从 S3 存储桶 (.gzip) 获取文件并将其解压缩到另一个存储桶。如果不将文件保存在本地(我的 PC)上,我无法找到一种方法。有没有办法在 Lambda 上“保存”文件并直接在 S3 上解压缩?谢谢!

gzip unzip amazon-s3 amazon-web-services aws-lambda

2
推荐指数
1
解决办法
5506
查看次数

aws lambda 函数中的 ses.sendMail() 不返回回调

亚马逊简单电子邮件服务 (Amazon SES)

我有以下代码。如果我从 aws ec2 实例或我的工作站使用它,它会完美运行。但是,一旦我将它添加到我在 AWS VPC 内部处理的 lambda 函数中,我的 ses.sendEmail() 回调就永远不会被调用。我从未在 CloudWatch 日志中看到该函数的“sendEmail 函数错误”或“sendEmail 函数成功”console.log(),并且我的 lambda 函数在超时期限结束时超时。我不知道我还能做什么。

我已经查找了可能需要添加的任何 IAM 角色或策略,但找不到任何需要提及的内容或要添加的内容。

尝试将策略“AmazonSESFullAccess”添加到该函数的 IAM 角色。仍然超时。

let aws = require('aws-sdk')
    , ses = new aws.SES({ apiVersion: '2010-12-01', region: 'us-west-2' })
    ;

sendEmail({
    To : [ 'anEmail@someone.com' , 'anotherEmail@somewhereElse.com'],
    From: 'ourSupportEmail@whereIWork.com',
    Subject: 'Sending An Email Out',
    Body: `<html> A Buch of HTML Here</html>`
}, function(err, result){
    if(err){
        console.error('SendEmail Error', err);
    } else {
        console.log('SendEmail Result', result);
    }
});


function sendEmail(emailObj, cb){ …
Run Code Online (Sandbox Code Playgroud)

node.js amazon-iam aws-lambda

2
推荐指数
1
解决办法
1876
查看次数

如何在 serverless.yml 中为 DynamoDb 设置标签

我想为 Dynamo DB 设置标签,我们是否有一个 serverless.yml 配置,就像我们有它的功能一样

functions:
  createUsers:
    tags:
      key: value
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb aws-lambda serverless-framework

2
推荐指数
1
解决办法
911
查看次数

如何动态地将触发器 s3 存储桶添加到 lambda 函数(python boto3 API)

如何使用 boto3 将触发器 s3 存储桶添加到 lambda 函数,然后我想将该 lambda 函数附加到使用编程方式(boto3)动态创建的 s3 存储桶

amazon-s3 amazon-web-services python-2.7 aws-sdk aws-lambda

2
推荐指数
1
解决办法
2559
查看次数

CloudFront 使用 Lambda 将请求重定向到尾部斜杠

我有一个使用 S3 的静态 SPA 页面,因为它是 CloudFront 的源头。如果我访问 www.domain.com/page,我将获得bucket-directory/prod/page/预期的 CloudFront 路径前缀。

是否可以在 AWS Lambda 中捕获路径并将尾部斜杠附加到请求中,因此它变为 www.domain.com/page > [Lambda] > www.domain.com/page/

我一直在寻找并尝试以下资源,但收效甚微:http : //blog.rowanudell.com/redirects-in-serverless/

http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

amazon-s3 amazon-web-services amazon-cloudfront aws-lambda

2
推荐指数
1
解决办法
5195
查看次数