【发布时间】:2022-01-05 23:05:41
【问题描述】:
这里是社区的新手。我没有发现讨论过这个问题,所以我可能遗漏了一些非常明显的东西。谢谢!
Python代码sn-p:
import botocore
import time
import os
import os.path
import sys
import io
import urllib.parse
import json
import base64
from io import BytesIO
from opensearchpy import OpenSearch, RequestsHttpConnection
from requests_aws4auth import AWS4Auth
from s3transfer.manager import TransferManager
from trp import Document
【问题讨论】:
-
嗯,看起来这个错误是有道理的。至少,
opensearchpy不是我认识的内置模块。 -
您需要压缩依赖项并将压缩文件部署到 lambda。本质上,lambda 需要在代码结构的根级别查看
opensearchpy文件夹,否则导入会导致错误,因为 lambda 没有它(请注意,像botocore这样的库已经内置在 lambda 中) -
opensearchpy 应该是 aws 的 elasticsearch 的继任者。这是开发指南,但我找不到任何可操作的内容:docs.aws.amazon.com/opensearch-service/latest/developerguide/…
-
rv.kvetch 是对的——需要 lambda 中的层。我的 zip 文件目录结构错误,需要包含依赖库 1. 将 pip 安装到目标目录 2. 将这些文件夹/文件放入 python 文件夹 3. 压缩 python 文件夹,重命名,上传到 lambda 层跨度>
标签: python amazon-web-services elasticsearch aws-lambda opensearch