Say*_*een 6 python cx-oracle amazon-web-services amazon-rds aws-lambda
我正在尝试使用 AWS lambda 和 python 连接到 Oracle。
这些是我遵循的步骤。(EC2实例一切都做完了)
~/lambda/lib/zip文件中的~/lambda/lib/libaio.so.1.0.1from复制/lib64/到~/lambda/lib/libaio.so.1.0.1as libaio.soin 的符号链接~/lambdacx_Oracle在~/lambdaindex.py脚本下面~lambda`
import cx_Oracle
def handler(event, context):
    message = ""
    cursor = None
    connection = None    
    try:
        connection = cx_Oracle.connect("USERNAME", "PASSWORD", "DOMAIN/orcl")
        cursor = connection.cursor()
        cursor.execute("""QUERY""")
    except Exception as e:
        message += " {Error in connection} " + str(e)
    finally:
        if cursor:
            cursor.close()
        if connection:
            connection.close()
    return {'message' : message}
`
zip -r9 ~/upload.zip *在 AWS lambda 上运行代码后,会出现以下错误。
Error while trying to retrieve text for error ORA-01804
我尝试设置 ENV ORACLE_HOME=/var/task 和 /var/task/lib 但没有奏效
我看了下面的答案,但还没有找到帮助
我通过简单地使用符号链接正确压缩文件来解决这个问题
首先,我创建了三个符号链接(相对于上面的目录结构):
ln -s ./lib/libaio.so.1.0.1 ./lib/libaio.so.1
ln -s ./lib/libaio.so.1.0.1 ./lib/libaio.so
ln -s ./lib/libaio.so.1.0.1 ./libaio.so.1.0.1
ln -s ./lib/libclntsh.so.12.1 ./lib/libclntsh.so
然后我错误地压缩了它,我是这样做的:
zip --symlinks -r9 ~/lamda.zip *
有效!那么正确。希望它对某人有帮助。
| 归档时间: | 
 | 
| 查看次数: | 4742 次 | 
| 最近记录: |