Lambda と S3 を他の可能な AWS サービスと一緒に使用して Web サービスを作成する方法についてテスト開発を行っています。
背景は、Gensim を使用して構築された LDA モデルを使用して、S3 に存在するテキスト ファイルを分析することです。目標は、Lambda のイベント トリガーを使用して、S3 バケットにアップロードされたテキストを自動的に分析することです。
これまでのところ、アイテムが S3 バケットにアップロードされたときにアイテムのプロパティを出力してログに記録する単純な関数を Lambda で作成しようとしました。ただし、分析を実行するには LDA モデルが必要なため、分析が問題になります。
基本的に次のように呼び出すことで、キーを使用して S3 のオブジェクトを抽出できます。
s3resource = boto3.resource('s3')
obj = s3resource.Object(BucketName, Key)
response = obj.get()
data = response['Body'].read()
ただし、データ変数は文字列になります。モデル オブジェクトにロードできるように、メタデータを抽出する必要があります。より多くのスタイルで:
model = obj.get()...
最初:これは可能ですか?タスクを実行するために Lambda のメモリに約 200 ~ 300 MB のモデル ファイルをロードしますか?
2 番目: このタスクはファイルごとに繰り返し実行する必要があるため、フェッチ時間を節約するためにモデルを永続メモリに格納する方法を見つけるようにロジックから指示されます...他の場所でより効率的なオブジェクトの受け渡しを行うことは可能ですか?
PS 分析を実行するために必要なパラメーターは、モデル、wordid dict、分析する必要がある実際のテキストです。
どんな助けでも大歓迎です。より適切な代替案があれば、それも本当に素晴らしいでしょう.
ありがとう。