AWS Lambdaにて下記コードを実行したところ、エラーメッセージが出ました。
expected arguments are compress(src, srcpath, dst, pass, level): ValueError
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 20, in lambda_handler
pyminizip.compress(filename,zipname,'mypassword',0)
ValueError: expected arguments are compress(src, srcpath, dst, pass, level)
こちらのエラーなのですが何が原因で起きるのかわかりません。ご教授お願い致します。
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にアップロード #S3のフォルダ というところは実際のバケット名を入れています。 obj = s3.Object('S3のフォルダ',filename + 'zip') response = obj.put(Body=open(zipname,'rb')) tmpdir.cleanup() os.unlink(zipname)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
skyhigh
2019/11/14 04:24