- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经安装了所有这些库:
google-api-core 1.22.1
google-api-python-client 1.10.0
google-auth 1.20.1
google-auth-httplib2 0.0.4
google-auth-oauthlib 0.4.1
google-cloud 0.34.0
google-cloud-core 1.4.1
google-cloud-storage 1.31.0
google-crc32c 1.0.0
google-resumable-media 1.0.0
googleapis-common-protos 1.52.0
httplib2 0.18.1
到一个文件夹 --> 压缩它 --> 上传到 AWS lambda 的层。但是,我不断收到
[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'httplib2'
甚至认为当我在本地运行我的 pyhon 文件并且环境中存在这样的库时,我在调用
import httplib2
后没有收到任何错误。 .注意:所有其他库都适用于 lambda,所以我的上传过程应该是正确的。
最佳答案
您可以创建一个 Lambda custom layer带着你的包裹。
为了检查这个解决方案,我创建了一个这样的层,可以 确认它有效 .
使用的技术包括 码头工具最近在中描述AWS 博客 :
mylayer
.requirements.txt
包含内容的文件google-api-core==1.22.1
google-api-python-client==1.10.0
google-auth==1.20.1
google-auth-httplib2==0.0.4
google-auth-oauthlib==0.4.1
google-cloud==0.34.0
google-cloud-core==1.4.1
google-cloud-storage==1.31.0
google-crc32c==1.0.0
google-resumable-media==1.0.0
googleapis-common-protos==1.52.0
httplib2==0.18.1
docker run -v "$PWD":/var/task "lambci/lambda:build-python3.8" /bin/sh -c "pip install -r requirements.txt -t python/lib/python3.8/site-packages/; exit"
zip -r -9 mylayer.zip python
mylayer.zip
创建 lambda 层在 AWS 控制台中。Compatible runtimes
至 python3.8
.import httplib2
def lambda_handler(event, context):
# TODO implement
print(dir(httplib2))
return
该函数正确执行:
['AUTH_SCHEME_CLASSES', 'AUTH_SCHEME_ORDER', 'AllHosts', 'Authentication', 'BasicAuthentication', 'CA_CERTS', 'Credentials', 'DEFAULT_MAX_REDIRECTS', 'DEFAULT_TLS_VERSION', 'DigestAuthentication', 'FailedToDecompressContent', 'FileCache', 'GoogleLoginAuthentication', 'HOP_BY_HOP', 'HTTPConnectionWithTimeout', 'HTTPSConnectionWithTimeout', 'HmacDigestAuthentication', 'Http', 'HttpLib2Error', 'HttpLib2ErrorWithResponse', 'KeyCerts', 'MalformedHeader', 'NORMALIZE_SPACE', 'ProxiesUnavailableError', 'ProxyInfo', 'REDIRECT_CODES', 'RETRIES', 'RedirectLimit', 'RedirectMissingLocation', 'RelativeURIError', 'Response', 'SAFE_METHODS', 'SCHEME_TO_CONNECTION', 'ServerNotFoundError', 'UNQUOTE_PAIRS', 'URI', 'USE_WWW_AUTH_STRICT_PARSING', 'UnimplementedDigestAuthOptionError', 'UnimplementedHmacDigestAuthOptionError', 'WWW_AUTH_RELAXED', 'WWW_AUTH_STRICT', 'WsseAuthentication', '_', '__all__', '__author__', '__builtins__', '__cached__', '__contributors__', '__copyright__', '__doc__', '__file__', '__license__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_bind_write_headers', '_build_ssl_context', '_cnonce', '_convert_byte_str', '_decompressContent', '_entry_disposition', '_get_end2end_headers', '_md5', '_normalize_headers', '_parse_cache_control', '_parse_www_authenticate', '_sha', '_updateCache', '_wsse_username_token', 'base64', 'calendar', 'certs', 'copy', 'debuglevel', 'email', 'errno', 'gzip', 'has_timeout', 'header', 'hmac', 'http', 'io', 'iri2uri', 'os', 'parse_uri', 'proxy_info_from_environment', 'proxy_info_from_url', 'random', 're', 're_unsafe', 're_url_scheme', 'safename', 'socket', 'socks', 'ssl', 'sys', 'time', 'urllib', 'urlnorm', 'zlib']
关于python - Runtime.ImportModuleError : Unable to import module 'lambda_function' : No module named 'httplib2' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63931402/
我正在尝试将 zip 文件上传到 AWS lambda,但一直收到错误“无法导入模块‘lambda_function’:没有名为‘lambda_function’的模块” 我从创建一个名为“lambd
编辑 2:根本原因是我设置了多个 DOCKER 环境变量,这导致我的函数调用重新路由到远程 Docker 主机,而不是命中 SAM Local。一旦我取消这些设置,功能就开始运行。 编辑:我克隆了 d
像我之前的许多其他人一样,我正在尝试运行 AWS Lambda 函数,当我尝试测试它时,我得到了 "errorMessage": "Unable to import module 'lambda_fu
我正在尝试使用 python 运行 aws lambda 函数 这是我的代码: import boto3 import xlrd import re from PIL import Image sou
使用 AWS Lambda 函数来使用某些 Microsoft Azure TTS API。只是尝试导入“import azure.cognitiveservices.speech aspeechsd
我正在尝试使用 Python 创建一个 AWS Lambda 函数来连接到 Oracle 数据库(目前只是测试连接)。但我没有成功完成流程。每次我看到此错误消息时: { "error
我正在尝试使用 Lambda 函数将数据发送到托管在 AWS 的 RDS 上的 MySQL 数据库。但是,当我尝试使用 import mysql.connector 导入 mysql 模块时,出现“R
我的本地计算机上有一个正常工作的 python 脚本,我现在想在 AWS Lambda 上实现它。 它具有以下一般结构: #import statements #CONSTANTS #non-cl
在测试我的 lambda 函数时,我收到以下错误消息: { "errorMessage": "Unable to import module 'lambda_function'" } 我上传了一个
我正在尝试部署 lambda 函数,该函数使用 pycrypto 的模块 Crypto.Cipher AES 发出请求并解密数据。这就是我的导入的样子: import boto3 from botoc
START RequestId: 3d5691d9-ad79-4eed-a26c-5bc3f1a23a99 Version: $LATEST Unable to import module 'lamb
我最近开始使用 AWS Lambda 对我编写的一些 Python 代码使用触发器。我目前有 2 个 lambda 函数,它们都是用 ZIP 文件创建的。我创建的第二个应该用于测试触发事件。 这是出于
我正在创建一个 AWS Lambda python 部署包。我正在使用一个外部依赖请求。我使用 AWS documentation 安装了外部依赖项.下面是我的 Python 代码。 import r
我已经在我的包文件夹中使用此命令安装了 psycopg2: pip install --target ./package psycopg2 # Or pip install -t ./package
我已经安装了所有这些库: google-api-core 1.22.1 google-api-python-client 1.10.0 google-auth 1.20.1 google-auth-h
我正在尝试按照文章 https://korniichuk.medium.com/lambda-with-pandas-fd81aa2ff25e 将部署包上传到我的 AWS lambda 函数.我的最终
我只是想在我的 Python 3.8 Lambda 中使用 PIL。 我正在尝试以下步骤: 基于此存储库:https://github.com/hidekuma/lambda-layers-for-p
以下是 Lambda 函数,我写的是获取 Autoscaling 组的列表并打印它们。 import json import boto3 import boto.ec2.autoscale role
下面是我的代码和我遇到的错误。我需要帮助。 import boto3 ec2_client=boto3.client('ec2') ec2_client.create_tags(Res
我正在测试我的 api 网关来调用 lambda 函数。 我在测试中成功了。 然后我试图通过同一个 lambda 连接到 postgresql import json import psy
我是一名优秀的程序员,十分优秀!