标签: aws-lambda

如何将参数传递给AWS Lambda函数

我知道可以将参数传递给在AWS Lambda上运行的Java程序以进行测试.但如果调度事件调用此程序,我不知道如何传递这些参数.

有谁知道这是否可能?如果有,怎么样?我无法找到任何相关信息.

提前致谢

java amazon-web-services aws-lambda

14
推荐指数
3
解决办法
8876
查看次数

Cognito用户池授权程序使用无服务器框架

我需要使用aws cognito userpool授权我的API端点.我可以手动完成,但我需要使用无服务器框架自动化授权部分.

无服务器框架是否支持aws cognito?

如果是这样,我们如何设置无服务器的aws-userpool?

amazon-web-services amazon-cognito aws-lambda aws-api-gateway serverless-framework

14
推荐指数
3
解决办法
7412
查看次数

AWS:如何使用json中的对象键名称中的"+"符号来修复S3事件替换空间

我有一个lamba函数将对象从桶'A'复制到桶'B',一切都运行正常,直到名为'New Text Document.txt'的对象在桶'A'中创建,json被构建在S3事件中,键为"键":"新建+文本+文档.txt".

空格被'+'取代.我知道这是一个已知的问题,通过网络搜索.但我不知道如何解决这个问题,传入的json本身有一个'+'和'+'实际上可以在文件名中.比如'New + Text Document.txt'.

所以我不能盲目地在我的lambda函数中用'''来'''.

由于此问题,当代码尝试在存储桶中查找文件时,无法找到它.

请建议.

java json amazon-s3 amazon-web-services aws-lambda

14
推荐指数
4
解决办法
6137
查看次数

AWS Lambda - 使用 Node.js 获取路径参数

在用 Node.js 编写的 AWS lambda 中,当我通过 API 网关执行 GET 调用时,我想提取 URL 的以下部分:

/devices/{id} --> {id} will be replaced by a value, and that is the value I want!
Run Code Online (Sandbox Code Playgroud)

我知道要获得 QueryStringParameters 你只需使用

event.queryStringParameters.[parameter name]
Run Code Online (Sandbox Code Playgroud)

但是我将如何对路径参数执行此操作,例如上面的 {id}。

还有什么地方可以让我全面了解在 Node.js 中为 API 编写 lambda 表达式吗?

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

14
推荐指数
3
解决办法
2万
查看次数

如何从 Node.js AWS Lambda 函数运行 Python 脚本

如此处所述,可以从 Node.js Lambda 函数运行非 Node.js 可执行文件。

拥有 Node.js Lambda 函数我想使用 Node.js 的child_process命令运行 Python 脚本。

我遵循了这个AWS 教程,并在我的 .js 函数的开头包含了以下内容:

process.env[‘PATH’] = process.env[‘PATH’] + ‘:’ + process.env[‘LAMBDA_TASK_ROOT’];
Run Code Online (Sandbox Code Playgroud)

主要的 Python 脚本调用从这里开始:

const { spawn } = require('child_process');

function calculateSomething(next) {
  var script = spawn('python', ['my_python_script.py', args]);

  script.stdout.on('data', (data) => { doSomething(data); });
  script.on('error', (error) => { console.error(error); });
  script.on('exit', () => { next(); });
}
Run Code Online (Sandbox Code Playgroud)

Python 脚本使用外部库(例如 numpy)运行,因此我必须使用 pip 安装它。

现在:

  • 在 Node.js Lambda 中安装 pip 库需要做什么? …

python node.js aws-lambda

14
推荐指数
1
解决办法
2765
查看次数

堆栈处于 UPDATE_COMPLETE_CLEANUP_IN_PROGRESS 状态且无法更新

我正在尝试在 Cloud9 中部署 Lambda 函数,但失败了。

当我右键单击该函数并单击“部署”时,我会看到Application deployment failed,然后出现一个弹出窗口:

AWS CloudFormation Deployment Errors
Stack:arn:aws:cloudformation:* is in UPDATE_COMPLETE_CLEANUP_IN_PROGRESS state and cannot be updated.
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cloudformation aws-lambda aws-cloud9

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

无法修复“提供的执行角色无权在 EC2 上调用 CreateNetworkInterface”

我尝试了此答案中的解决方案,但对我不起作用。我收到错误:

提供的执行角色无权调用 EC2 上的 CreateNetworkInterface(服务:AWSLambdaInternal;状态代码:400;错误代码:InvalidParameterValueException;请求 ID:4c8d047c-2710-4334-86cd-51b7467c6f08)

这是与错误相关的 CloudFormation:

EventLambdaFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: !Sub ${DeveloperPrefix}event-lambda-${Environment}-${DeployPhase}
      Handler: EventHandler
      Runtime: java8
      Code:
        S3Bucket: !Ref SharedBucketName
        S3Key: !Sub ${WorkspacePrefix}/event-subscriber-${AppVersion}.jar
        S3ObjectVersion: !Ref EventLambdaS3Version
      Role: !GetAtt EventLambdaRole.Arn
      Environment:
        Variables:
          retry_event_table_name: !Sub "${DeveloperPrefix}${AppName}-${RetryEventTableName}-${Environment}-${DeployPhase}"
          test_enabled: true # TODO: Remove once endpoint provided.
      VpcConfig:
        SecurityGroupIds:
          - !Ref LambdaSecurityGroup
        SubnetIds:
          - Fn::ImportValue: !Sub ${VPCStackName}-SubnetPrivateL
          - Fn::ImportValue: !Sub ${VPCStackName}-SubnetPrivateR
      Timeout: 28
      MemorySize: 256

  EventLambdaRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: !Sub ${DeveloperPrefix}${AppName}-${Environment}-${DeployPhase}-EventLambdaRole
      AssumeRolePolicyDocument:
        Statement:
          - Effect: Allow
            Principal:
              Service: …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services aws-cloudformation aws-lambda

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

如何解决:“无法解析要使用的 AWS 帐户。它必须在您定义 CDK 时或通过环境进行配置”

我正在尝试运行 CDK 命令来检查本地和远程堆栈的差异。

我正在使用以下命令。

cdk diff --profile saml
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息

Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment
Run Code Online (Sandbox Code Playgroud)

我正在寻找解决此问题的方法。

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

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

aws lambda:使用来自 cli 的有效负载调用

我正在尝试使用 aws cli 调用我的 lambda:

$ aws lambda invoke \
    --function-name soc-update-dynamodb-java \
    --invocation-type Event \
    --payload file://invoke-payload.json \
   response.json
Run Code Online (Sandbox Code Playgroud)

但是,我收到此消息:

调用 Invoke 操作时发生错误 (InvalidRequestContentException):无法将请求正文解析为 json:[Source: (byte[])"E?(?????U???? ?????k.....

payload.json 内容是一个类似 s3 事件的 json:

{
"Records": [
  {
    "eventVersion": "2.0",
    "eventSource": "aws:s3",
    "awsRegion": "eu-central-1",
    "eventTime": "1970-01-01T00:00:00.000Z",
    "eventName": "ObjectCreated:Put",
    "userIdentity": {
      "principalId": "EXAMPLE"
    },
    "requestParameters": {
      "sourceIPAddress": "127.0.0.1"
    },
    "responseElements": {
      "x-amz-request-id": "EXAMPLE123456789",
      "x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH"
    },
    "s3": {
      "s3SchemaVersion": "1.0",
      "configurationId": "testConfigRule",
      "bucket": {
        "name": "soc-connect",
        "ownerIdentity": {
          "principalId": "EXAMPLE"
        },
        "arn": …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cli aws-lambda

14
推荐指数
3
解决办法
4948
查看次数

Terraform lambda 函数验证异常

我正在尝试在 Terraform (v 0.13.0) 中设置我当前的基础设施。我只是从迁移现有的 lambda 函数开始。我已使用以下代码尝试将 .net core 3.1 中的现有 lambda 函数上传到 AWS(provider v.3.0)。我手动部署没有问题,但这显然不是目标。

这是 IAM 角色:

resource "aws_iam_role" "role_lambda" {
  name = "roleLambda"

  assume_role_policy = <<POLICY
  {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Action": "sts:AssumeRole",
        "Principal": {
          "Service": "lambda.amazonaws.com"
        },
        "Effect": "Allow",
        "Sid": ""
      }
    ]
  }
  POLICY
  }
Run Code Online (Sandbox Code Playgroud)

在函数下方(注意我混淆了一些值):

resource "aws_lambda_function" "lambda_tf" {
  function_name     = "LambdaTFTest"
  role              = aws_iam_role.role_lambda.arn
  handler           = "Lambda::Lambda.Function::FunctionHandler"
  runtime           = "dotnetcore3.1"
  s3_bucket         = "arn:aws:s3:::xxxx-xxxxxx"
  s3_key            = "Lambda.zip"
  s3_object_version = "XxXxXxXxXxXxXxXxXxXxXxXxXxXx"
}
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到此错误作为输出,但没有更多详细信息:

Error: Error …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda terraform terraform-provider-aws

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