0

Amazon Linuxドッカーのpython 3.6を使ってpandas、numpy、およびsqlalchemyを正常にテストしました。 Python 3.6のsqlalchemyモジュールのcreate_engineを使用して、仮想環境でデータベースをインポート、使用、および接続することができました。sqlalchemyのcreate_engineがPythonで動作しない3.6 runtime for aws lambda

次に、すべての依存関係をエクスポートし、AWS Lambdaで実行するPythonデプロイメントパッケージを作成しましたが、なんらかの理由でlambdaのcreate_engineのエラーが発生し続けます。

モジュールのSQLAlchemyの 'には属性 'create_engine' がありません:はAttributeError

は、これは私のコードです:

import pandas as pd 
import numpy as np 
import sqlalchemy 
from datetime import datetime, timedelta 

def lambda_handler(event, context): 

    engine = sqlalchemy.create_engine("DB_URI") 

    return "Hello world!" 

しかし、私は単に私がcreate_engineを呼び出す行をコメントアウトした場合、私は "Hello world!"応答。

create_engineは、同じドッカー環境で正常に動作した場合、この環境では動作しません。何か案は?

答えて

0

私はそれを理解しました。私は自分のファイルを圧縮しているときにルーキーミスを犯し、-rオプションを使用しませんでした。これは、私のpythonモジュールフォルダの最上位レベルを意味していました。これはなぜ私がインポートエラーを取得していなかった実際の方法のどれも働いていなかった理由を説明します。だから、繰り返しに

、解決策は、再帰的にすべてのファイルを追加するために、私のzip操作に-rオプションを追加しました:

zip -r package.zip *

関連する問題