AWS Lambdaにて、
「S3 バケット1にファイルを追加したらS3 バケット2に同じファイルのzipファイルを渡す」ということがしたく、pyminizipをこのように配置し、Lambdaにてソースコードを書いたのですが、下記のエラーメッセージが返ってきました。
pyminizipを配置しているのにこのようなエラーが出る原因が分かりません。ご教授お願いします。
[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'pyminizip'
import boto3 import pyminizip import tempfile import os def lambda_handler(event, context): s3=boto3.resource('s3') for rec in event['Records']: filename = rec['s3']['object']['key'] obj = s3.Object(rec['s3']['bucket']['name'],filename) response = obj.get() tmpdir = tempfile.TemporaryDirectory() fp = open(tmpdir.name + '/' + filename,'wb') fp.write(response['Body'].read()) fp.close(); #暗号化 zipname = tempfile.mkstemp(suffix='.zip')[1] os.chdir(tmpdir.name) pyminizip.compress(filename,zipname,'mypassword',0) #S3にアップロード obj = s3.Object('tgztest2',filename+'zip') response=obj.put( Body=open(zipname,'rb') ) tmpdir.cleanup() os.unlink(zipname)
回答1件
あなたの回答
tips
プレビュー