标签: aws-lambda

将wordpress部署为AWS lambda函数?

我想知道在Word API网关上将wordpress部署为一系列lambda函数是否可行.关于可行性/陷阱的任何指示将不胜感激!

提前致谢,

库尔德工人党

wordpress aws-lambda

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

如何使用node.js从`AWS dynamodb`获取/扫描所有项目

如何从AWS dynamodb使用中获取/扫描所有项目node.js.我在这里发布我的代码.

var docClient = new aws.DynamoDB.DocumentClient();
    var params = {
    TableName:"users",
    KeyConditionExpression:"user_status=:status",
    ExpressionAttributeValues: {
        ":status": "Y"
    }
    };

    var queryExecute = function(callback) {
        docClient.query(params,function(err,result) {
            if(err) {
                console.log(err)
                callback(err);
                } else {
                console.log(result);

                if(result.LastEvaluatedKey) {
                    params.ExclusiveStartKey = result.LastEvaluatedKey;
                    queryExecute(callback);
                    } else {
                        callback(err,items);
                    }
                }
            });
        }
        queryExecute(callback); 
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误.

ValidationException: Query condition missed key schema element: `user_id`.
Run Code Online (Sandbox Code Playgroud)

这里的主键是user_id.我不想在查询条件中使用它,因为如果我提到主键,我需要设置一个值KeyConditionExpression.可能是我错了.但是请建议我一个很好的方法来获取所有项目dynamodb,这是有的user_status = "Y"

node.js amazon-dynamodb aws-lambda

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

为Lambda函数设置CloudWatch Log Group的到期日期

默认情况下,当我创建Lambda函数时,CloudWatch Log Group将设置为Never Expire.是否可以设置到期时间(说14天),所以我不必在创建后从控制台手动设置它?


更新#1

感谢@jens walter回答这是如何解决问题的代码片段

Resources:
  LambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs6.10
      CodeUri: <your code uri>
      Policies: <your policies> 


  LambdaFunctionLogGroup:
    Type: "AWS::Logs::LogGroup"
    DependsOn: "LambdaFunction"
    Properties: 
      RetentionInDays: 14
      LogGroupName: !Join ["", ["/aws/lambda/", !Ref LambdaFunction]]
Run Code Online (Sandbox Code Playgroud)

aws-lambda amazon-cloudwatchlogs

24
推荐指数
2
解决办法
8012
查看次数

执行 aws-lambda 函数时出现错误“fork/exec /var/task/main: no such file or directory”

获取错误 fork/exec /var/task/main: 执行 lambda 函数时没有这样的文件或目录。

我正在使用 Windows 平台在 Go 中运行和构建代码。

我已完成以下步骤来部署 go aws-lambda 处理程序:

  1. windows平台用VSCode用go语言编写代码
  2. 使用以下命令构建项目:go build main.go
  3. 将 main.exe 转换为 main.zip
  4. 使用 aws 控制台帐户上传带有处理程序名称 main aws-lambda 函数的 main.zip
  5. 创建测试事件来测试 lambda 函数
  6. 出现错误“fork/exec /var/task/main:执行 lambda 函数时没有这样的文件或目录”
package main

import (
    "fmt"

    "github.com/aws/aws-lambda-go/lambda"
)

// Request represents the requested object
type Request struct {
    ID    int    `json:"ID"`
    Value string `json:"Value"`
}

// Response represents the Response object
type Response struct {
    Message string `json:"Message"`
    Ok      bool   `json:"Ok"`
}

// Handler …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 handler go aws-lambda

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

如何使用 AWS SAM 部署到不同环境

我有两个关于 AWS SAM 和部署的问题。

\n

我\xe2\x80\x99m 阅读文档并检查这样的示例,并且我\xe2\x80\x99m 仍然不太确定如何使用我的 SAM 模板单独部署到stagingproduction环境。是否像部署一个具有新名称(例如sam deploy \xe2\x80\x94stack-name my-app-staging和 )的新堆栈一样简单sam deploy \xe2\x80\x94stack-name my-app-production

\n

在下面的例子中,我有一个问题。如果我的 SAM 模板包含具有三个可能值的Parameters名称MyEnvironment,则部署如何知道在部署堆栈时使用这三个值中的哪个值?就像我会怎么说使用值stagingor production?这是我部署时会自动询问的问题还是我必须在 CLI 上提供的问题?

\n

在此输入图像描述

\n

aws-lambda aws-api-gateway aws-serverless aws-sam

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

允许AWS Lambda访问RDS数据库

我正在尝试从AWS Lambda(Java)连接到RDS数据库.

我应该从RDS安全组规则中启用哪个IP?

amazon-web-services amazon-vpc aws-lambda aws-security-group

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

AWS Lambda - CloudWatch事件类型

编写由Cloudwatch预定事件触发的AWS Java Lambda函数时,哪个事件对象会传递给Lambda处理函数?

例如,对于由S3事件触发的Lambda函数,AWS调用该函数并传递S3Event对象.类似地,它会将SNSEvent对象传递给由SNS消息触发的函数.

public class LambdaHandler {

    public void eventHandler(S3Event event, Context context) {
    }
Run Code Online (Sandbox Code Playgroud)

要么

public class LambdaHandler {

    public void eventHandler(SNSEvent event, Context context) {
    }
Run Code Online (Sandbox Code Playgroud)

对于Cloudwatch计划事件驱动的功能,将取代SNSEvent/S3Event?

public class LambdaHandler {

    public void eventHandler(__________ event, Context context) {
    }
Run Code Online (Sandbox Code Playgroud)

我无法为我的生活找到任何由Java编写的AWS Lambda函数的示例,这些函数由Cloudwatch Scheduled事件触发...

样本函数的加分点.

编辑1目前还没有正确答案(虽然我不知道AWS已经在SDK中发布了一个适当的'事件'对象,将被传递给Lambda函数),所以实际上可能没有答案我正在寻找.

这个问题也是在这里问:什么是由CloudWatch的事件传递给lambda函数参数类型-计划触发?有人评论建议使用Object并打印类名.原来是LinkedHashMap.看起来像我要得到的答案一样正确......

amazon-web-services amazon-cloudwatch aws-lambda

23
推荐指数
2
解决办法
6922
查看次数

如何调试AWS Api Gateway&Lambda的"AWS/ApiGateway 5XXError"

我有一个运行lambda函数的API网关资源.我正在使用来自Api Gateway的AWS Generated SDK调用API网关资源.

这是我的客户端堆栈跟踪的一部分似乎相关:

Caused by: com.amazonaws.mobileconnectors.apigateway.ApiClientException: {"message": "Internal server error"} (Service: DevnetcountableClient; Status Code: 500; Error Code: null; Request ID: 348e8f98-6f55-11e6-97f6-098c2caf220f)
at com.amazonaws.mobileconnectors.apigateway.ApiClientHandler.handleResponse(ApiClientHandler.java:255) at com.amazonaws.mobileconnectors.apigateway.ApiClientHandler.invoke(ApiClientHandler.java:88)
    at java.lang.reflect.Proxy.invoke(Proxy.java:393)
    at $Proxy1.accountCreatePost(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

现在看AWS控制台,我的API网关仪表板内我看到的请求进来并导致"AWS/ApiGateway 5XXError".但是有0个日志(我可以找到).我的lambda函数似乎没有被调用,也没有显示lambda日志.

现在这是我的lambda看起来像:

module.exports.createAccount = function(event, context, cb) {
    console.log('createAccount');
    console.log(event);
    console.log(context);
    console.log(cb);
    cb(null, {status: 'SUCCESS', message: 'I ran!'});
};
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能调试这个?

编辑:好的,这是将所有内容整合在一起的cloudformation脚本.

{
   "AWSTemplateFormatVersion":"2010-09-09",
   "Description":"The AWS CloudFormation template for this Serverless application",
   "Resources":{
      "ServerlessDeploymentBucket":{
         "Type":"AWS::S3::Bucket"
      },
      "IamRoleLambda":{
         "Type":"AWS::IAM::Role",
         "Properties":{
            "AssumeRolePolicyDocument":{
               "Version":"2012-10-17",
               "Statement":[
                  {
                     "Effect":"Allow",
                     "Principal":{
                        "Service":[
                           "lambda.amazonaws.com"
                        ] …
Run Code Online (Sandbox Code Playgroud)

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

23
推荐指数
1
解决办法
6715
查看次数

AWS Cognito:向 JWT 访问令牌添加自定义声明/属性

我的应用程序为每个新注册用户创建一个自定义属性“userType”。现在,每当用户登录或刷新令牌时,我都希望将此“userType”声明/属性添加到 JWT 访问令牌中。

是否可以选择告诉 cognito 将我的自定义声明/属性添加到 JWT 访问令牌?(没有预代币生成 Lambda)

amazon-cognito aws-lambda

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

我如何将 aws 秘密管理器与 nodejs lambda 一起使用

我试图包装示例代码片段以获取函数中的秘密,然后调用它,但它似乎不起作用。我怀疑我是异步调用它,我需要同步调用它?我只想要一个可以调用的函数来获取一个秘密值并将其放入一个 var 中。

这是功能:

//outside exports.handler = (event, context, callback) => {
function getSecret(secretName) {
  // Load the AWS SDK
  var AWS = require('aws-sdk'),
      region = process.env.AWS_REGION,
      secretName = secretName,
      secret,
      decodedBinarySecret;

  // Create a Secrets Manager client
  var client = new AWS.SecretsManager({
      region: region
  });

  // In this sample we only handle the specific exceptions for the 'GetSecretValue' API.
  // See https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
  // We rethrow the exception by default.

  client.getSecretValue({SecretId: secretName}, function(err, data) {
      if (err) {
          if (err.code …
Run Code Online (Sandbox Code Playgroud)

javascript node.js aws-lambda aws-secrets-manager

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