标签: aws-lambda

AWS Lambda Authorizer `event` 对象中缺少 `body` 参数

缺少事件对象body和isBase64Encoded属性。但是根据文档,它们应该在那里完整的结构如下:

{
    "type": "REQUEST",
    "methodArn": "arn:aws:execute-api:us-west-2:*******:*******/development/POST/auth/login",
    "resource": "/{proxy+}",
    "path": "/auth/login",
    "httpMethod": "ANY",
    "headers": {
       .....
    },
    "queryStringParameters": {
        "test": "123"
    },
    "pathParameters": {
        "proxy": "auth/login"
    },
    "stageVariables": {
        "lambdaVersion": "development"
    },
    "requestContext": {
        "path": "/development/auth/login",
        "accountId": "*****",
        "resourceId": "f8wvnk",
        "stage": "development",
        "requestId": "****",
        "identity": {
            ....
        },
        "resourcePath": "/{proxy+}",
        "httpMethod": "POST",
        "apiId": "********"
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有人有类似的问题?

aws-lambda

8
推荐指数
1
解决办法
2693
查看次数

在 AWS SES 服务的电子邮件中添加嵌入式图像

我正在尝试编写一个 Java 应用程序,它可以发送电子邮件来指定电子邮件。在电子邮件中,我还想附上一些图片。

请在下面找到我的代码:-

public class AmazonSESSample {

    static final String FROM = "abc@gmail.com";
    static final String TO = "def@gmail.com";
    static final String BODY = "This email was sent through Amazon SES by using the AWS SDK for Java. hello";
    static final String SUBJECT = "Amazon SES test (AWS SDK for Java)";

    public static void main(String[] args) throws IOException {
        Destination destination = new Destination().withToAddresses(new String[] { TO });
        Content subject = new Content().withData(SUBJECT);
        Message msg = new Message().withSubject(subject);
        // …
Run Code Online (Sandbox Code Playgroud)

java email amazon-web-services amazon-ses aws-lambda

8
推荐指数
2
解决办法
9670
查看次数

如何在 AWS Lambda 函数中进行外部 api 调用

我遇到了Lambda 函数的问题,由于某种原因它超时了。

我尝试添加一些 console.log 以了解发生了什么,并且 一切正常,直到外部 http 请求。

我使用npm 模块请求

我可以在请求之前看到日志,但回调中的日志永远不会出现,就像端点没有响应一样。

我错过了什么吗?提前致谢!

var mysql = require('mysql'); 
var request = require('request');
var config = require('./config.json'); 

var pool = mysql.createPool({
  host: config.dbhost,
  user: config.dbuser,
  password: config.dbpassword,
  database: config.dbname
});

var openWeatherOptions = (device) => {
    let domain = 'https://api.openweathermap.org/data/2.5/';
    let apiEndpoint = 'weather?';
    let params = `lat=${device.lat}&lon=${device.lng}&APPID=${process.env.WEATHER_APP_ID}&units=metric`;
    let url = [domain, apiEndpoint, params].join('').toString();
    return {
      url: url,
      method: 'GET',
      headers: { 'Content-Type': 'application/json'},
    };
}; …
Run Code Online (Sandbox Code Playgroud)

node.js aws-lambda npm-request

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

AWS Lambda 上的 Headless Chrome Python 3.8 - 意外退出。状态代码是:127

我正在尝试在 AWS Lambda 中安装/运行 Head-Less Chrome,但是当我通过 Lambda 对其进行测试时出现以下错误。

"errorMessage": "消息:服务 /tmp/bin/chromedriver 意外退出。状态代码为:127\n", "errorType": "WebDriverException"

我在 Linux 上使用 ChromeDriver 83.0.4103.39。

在 Python 中执行的步骤:

  1. 在 Lambda 中创建 /tmp/bin
  2. 将 Chrome 驱动程序复制到 /tmp/bin
  3. 将权限更改为 0777

蟒蛇代码:

在以下行上抛出错误 -

driver = webdriver.Chrome(chrome_options=chrome_options, executable_path = "/tmp/bin/" + chrome_linux_driver)

当我在具有相同 Windows Chrome 驱动程序的 Windows 下运行时,代码工作正常。

任何帮助都非常感谢。

python selenium selenium-chromedriver aws-lambda

8
推荐指数
1
解决办法
654
查看次数

AWS CloudFormer 支持哪些 AWS 服务?

AWS CloudFormation 提供了一个名为 CloudFormer 的默认堆栈,这是一种模板创建工具。CloudFormer 从您当前的 AWS 环境创建一个 CloudFormation 模板,允许您单击要包含在模板中的手动创建的资源。

在AWS CloudFormer文件没有列出AWS服务CloudFormer支持。2013 年发布的公告(CloudFormer 现在支持 Amazon VPC 和更多 AWS 资源)列出了支持的服务的子集,但没有完整列表。

AWS CloudFormer 支持哪些服务?例如,它是否支持常用的无服务器托管服务,例如 AWS Lambda 和 AWS Cognito?

amazon-web-services aws-cloudformation amazon-cognito aws-lambda

8
推荐指数
1
解决办法
5026
查看次数

使用 SAM 时,AWS sam build 和 sam package 有什么区别?

我正在构建一些无服务器应用程序并尝试使用 SAM。我一直在浏览一些教程和一些使用sam build,而其他人使用sam package.

这些命令之间有什么区别?似乎 sam 包更难使用。

amazon-web-services aws-lambda aws-sam-cli aws-serverless aws-sam

8
推荐指数
1
解决办法
2287
查看次数

在不活动的情况下以编程方式停止 AWS EC2

当开发环境中没有活动时,例如在 2 小时不活动后,我们可以停止它的 AWS Windows Server EC2 实例吗?我无法确定是否有任何用户虚拟连接到服务器。

我可以在固定时间以编程方式轻松启动/停止 EC2,但为了降低服务器成本,我试图在 EC2 不使用时停止它。

我的意图(或用例)是:如果在指定的时间内没有用户使用 EC2,它将自动停止。开发人员可以在需要时重新启动它。

amazon-ec2 amazon-web-services aws-lambda

8
推荐指数
1
解决办法
2383
查看次数

需要运行需要超过 15 分钟才能完成的 aws lambda 函数吗?

我的 Lambda 函数有 15 分钟的限制,这是 5 分钟更早。Lambda 进程在 15 分钟后自动终止,但我的进程需要超过 15 分钟。我怎么办?

amazon-web-services aws-lambda

8
推荐指数
3
解决办法
2993
查看次数

无法在 AWS Lambda 中使用 OpenCV-Python

我一直在尝试将 OpenCV 放入 S3 存储桶中,然后将其分配给 lambda 层。

网上关于这个的很少,我所看到的没有奏效。

我已经成功地在亚马逊 linux 环境中使用了 docker,并遵循了本教程。https://aws.amazon.com/premiumsupport/knowledge-center/lambda-layer-simulated-docker/

我已将 setuptools、wheel 和 opencv-python==4.4.0.42 添加到 requirements.txt 文件中。

setuptools 和 wheel 因为之前的错误,建议在需要更新时包含这些,即使我已经更新了它们。但它适用于他们,所以谁知道。

创建了我已压缩并放入 S3 存储桶中的 docker 映像。

我一直收到 { "errorMessage": "Unable to import module 'lambda_function': libGL.so.1: cannot open shared object file: No such file or directory", "errorType": "Runtime.ImportModuleError" } 当我运行它尽管。

我似乎无法弄清楚出了什么问题。

有任何想法吗?

opencv amazon-s3 amazon-web-services aws-lambda python-3.8

8
推荐指数
1
解决办法
3218
查看次数

上传的文件必须是非空的 zip(服务:AWSLambdaInternal;状态代码:400;错误代码:InvalidParameterValueException;

我有一个简单的 Express/Node.js 应用程序,其中包含以下没有子目录的文件(除了 .serverless 和 node_modules)。

  • .serverless
  • 节点模块
  • 应用程序.js
  • 拉姆达.js
  • 包.json
  • 包-lock.json
  • 无服务器.yml

AWS 抛出此错误 -发生错误:ApiLambdaFunction - 上传的文件必须是非空 zip(服务:AWSLambdaInternal;状态代码:400;错误代码:InvalidParameterValueException;请求 ID:5779d4c3-beaa-4bc2-b525-c1e89a82635a;空值)。

当我访问代码上传到的 S3 存储桶时,.zip 文件不是空的。我能够看到 .zip 文件夹及其所有内容,但是,serverless deployAWS CLI的操作失败,引发上述异常。任何帮助将问题归零将不胜感激。谢谢!

以下是代码。

  • 应用程序.js
const express = require("express")
const app = express();

app.use(express.json());
app.use(express.urlencoded({extended: false}));

app.get("/", (req, res) => {
    res.status(200).send("Root endpoint")
})

app.post("/postReq", (req, res) => {
    res.status(200).send(req.body);
})

app.listen(8080, () => console.log("App started."))

Run Code Online (Sandbox Code Playgroud)
  • 拉姆达.js
'use strict'
const awsServerlessExpress = require('aws-serverless-express')
const app = require('./app')
const server = awsServerlessExpress.createServer(app)

exports.handler …
Run Code Online (Sandbox Code Playgroud)

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

8
推荐指数
2
解决办法
4748
查看次数