0
현재 로컬로 생성했지만 현재 S3에 저장된 sklearn 파일을 활용해야하는 Amazon Web Services Lambda 함수에서 작업하고 있습니다. 나는 실제로이 작업을 수행하는 방법에 난처한 상황에 빠진 봤는데, 나는 boto3의 문서에서 몇 가지 방법을 시도했지만이 시간 초과 오류가 발생합니다AWS의 S3에 저장된 pickled 파일 사용 Lambda
import boto3
import pickle
s3 = boto3.client("s3", region_name="us-west-1")
response = s3.get_object(Bucket="mybucket", Key="bin_files/scaler.pkl")
loaded_file = pickle.load(response["Body"])
파일에 다른 한편으로 결과에서이 작업을하지하는 동안 발견 된 오류 :
with open(key, 'wb') as data:
s3.Bucket(event['bucket']).download_fileobj(key, data)
"errorMessage": "[Errno 2] No such file or directory:
'bin_files/scaler.pkl'"
아무에게도이 작업을 수행하는 방법에 대한 의견이나 조언이 있습니까?
감사합니다. OSError : [Errno 30] 읽기 전용 파일 시스템 : 'scaler.pkl'사용하고있는 람다 함수에 모든 권한이 있습니다. S3에서해야 할 일이 있습니까? – cgclip
람다를 사용하고 있으므로'/ tmp'를 경로에 추가 할 수 있습니다. 나는 그것이 허가를 받아야한다고 생각한다. ** code ** :'open ('/ tmp/scaler.pkl', 'wb')을 데이터로 사용 : –
당신이 제안한 조정을했습니다 :'with open ("/ tmp/scaler.pkl", 'wb ') 데이터 : s3.Bucket ("mybucket) .download_file ("bin_files/scaler.pkl ", data)'이제 errorMessage가 발생합니다." "파일 이름은 문자열이어야합니다" – cgclip