更新- 我已经解决了“无法找到雪花连接器”的问题,但现在看来,当我构建 Lambda 函数时,一些依赖项(连接器所依赖的)无法解决,即使我可以看到它们在我的虚拟环境中。
运行 PythonPipBuilder:ResolveDependencies
构建失败错误:PythonPipBuilder:ResolveDependencies - {cffi==1.15.0(wheel), cryptography==3.4.8(wheel)} SAM 构建失败:命令未成功退出,退出代码:1 170 失败:命令成功未成功退出,退出代码:1
任何想法为什么当它可以解析我的虚拟环境中的其他模块时它无法解析这两个?
原始问题- 我在 Pycharm 工作并试图从 lambda 连接到雪花。我已经在项目的虚拟环境中安装了雪花连接器。我有其他包可以从同一个 lambda 访问而不会出现问题。当我尝试使用这个时,我得到了这个错误,表明它找不到包。
{“errorMessage”:“无法导入模块'app':没有名为'snowflake.connector'的模块;'snowflake'不是包”,“errorType”:“Runtime.ImportModuleError”,“stackTrace”:[]}
import snowflake.connector
import os
def lambda_handler(event, context):
# Gets the version
ctx = snowflake.connector.connect(
user='my-user',
account='my-account',
password="my-password",
authenticator='externalbrowser',
warehouse="my-warehouse",
database="my-database",
schema="my-schema"
)
cs = ctx.cursor()
try:
cs.execute("SELECT current_version()")
one_row = cs.fetchone()
print(one_row[0])
finally:
cs.close()
ctx.close()
我尝试将 python 文件添加到项目的根目录,并尝试了相同的代码,它能够毫无问题地连接,这告诉我雪花连接器安装正确,而 lambda 只是找不到那个包。
谁能帮我解决这个问题?