当前位置: 首页 > 面试题库 >

无法在AWS Lambda上使用Requests-Module

乐寒
2023-03-14
问题内容

我需要在每天运行一次的python脚本中进行一次rest-call。我无法使用AWS Lambda将“ requests”包打包到我的python-
package中。我收到错误消息:“无法导入模块’lambda_function’:没有名为lambda_function的模块”

我将其分解为hello_world预定义脚本。我可以将其打包成一个zip并上传。一切正常。一旦将“导入请求”放入文件中,就会出现此错误。

这是我已经做过的:

  1. zip和项目文件夹(包括子文件夹)的权限设置为“ chmod 777”。因此权限应该不是问题。
  2. 脚本本身在根文件夹中。打开zip文件时,您可以直接看到它。
  3. 我使用sudo pip install requests -t PATH_TO_ROOT_FOLDER将请求包安装到项目的根文件夹中。

一切的命名看起来像这样:

  • 压缩文件:lambda_function.zip
  • py文件:lambda_function.py
  • 处理程序方法:lambda_handler(事件,上下文)
  • “ webconfig:lambda_function.lambda_handler”中的处理程序定义

我最后要运行的文件如下所示:

import requests
import json


def lambda_handler(event, context):
    url = 'xxx.elasticbeanstalk.com/users/login'
    headers = {"content-type": "application/json", "Authorization": "Basic Zxxxxxxxxx3NjxxZxxxxzcw==" }
    response = requests.put(url, headers=headers, verify=False)
    return 'hello lambda_handler'

我很高兴能提供任何帮助。我已经在这个问题上使用了多个小时。


问题答案:

我终于解决了问题:zip文件中的结构已损坏。重要的是python脚本和打包的依赖项(作为文件夹)在zip文件的根目录中。这解决了我的问题。

如果经过数小时的尝试和失败,您发现如此简单的错误,这会让您感到沮丧。



 类似资料:
  • 问题内容: 我正在开发一个自定义相机应用程序,该应用程序可以捕获图片并将其存储在图库中。当我使用Intent.ACTION_SEND共享该图像时,除具有 API26(即OREO)的 设备外,它在所有设备上都可以正常工作 。 我分享图片的代码是: 谁能帮我解决这个问题? 问题答案: 如果大于 24,则使用FileProvider授予访问权限。 创建一个XML文件(路径:) 添加 提供商*在Andro

  • 问题内容: 我有一个表格: 和一个函数PrepareOrder 问题是在新的ipad(Safari)上未调用操作。在桌面浏览器上,它可以正常工作。控制台中没有错误。我尝试在之后添加警报: 像那样: 并且还给我。为什么?如果不调用。我还将日志记录添加到操作中,并且没有输出字符串。 问题答案: Safari和/或Ipad支持非常强大的缓存。我的应用程序中也遇到了同样的问题。尝试向您的控制器(甚至基本控

  • 我安装了一个新的并下载了最新的Maven。在中: :我选择了刚下载的Maven :我选择了 此外,当我打开该项目的时,它在带有的行中显示: 似乎有一个错误: 在此行找到多个批注:

  • 在google中搜索requests的结果: 有中文也有英文文档,如果英文还OK就可以去撸英文文档。中文文档地址:Requests: 让 HTTP 服务人类 requests作为Python最出名的第三方库,各方面的教程已经非常完善,尤其是基础用法。 最简单的当然是使用pip安装: $ pip install requests 如果你的Python3版本对应的pip软链是pip3,记得更换为pi

  • 我刚刚将服务器从JBoss 7.1升级到WildFly 8。在进行了大量迁移工作之后,除了docx4j之外,其他一切都正常工作。我总是会遇到以下例外情况。有人有主意吗? 我现在尝试的是: 将docx4j更新至最新版本 但以上都不起作用。我仍然会犯同样的错误。

  • 我在将导入“javafx.util.pair”导入到程序中时遇到问题。在网上搜索后,我发现这个答案无法解析IntelliJ Idea IDE中的symbol javafx.application,并且我已经安装了想要的jar文件,但仍然有导入的问题。这就是我在打开java JDK时所面临的问题。我不知道为什么“jfxrt.jar”不同。注意文件夹图标上的黑色箭头