Tôi đang tạo gói triển khai python AWS Lambda. Tôi đang sử dụng một yêu cầu phụ thuộc bên ngoài. Tôi đã cài đặt phần phụ thuộc bên ngoài bằng cách sử dụng tài liệu AWS http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html . Dưới đây là mã python của tôi.
import requests
print('Loading function')
s3 = boto3.client('s3')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
# Get the object from the event and show its content type
bucket = event['Records'][0]['s3']['bucket']['name']
key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key']).decode('utf8')
try:
response = s3.get_object(Bucket=bucket, Key=key)
s3.download_file(bucket,key, '/tmp/data.txt')
lines = [line.rstrip('\n') for line in open('/tmp/data.txt')]
for line in lines:
col=line.split(',')
print(col[5],col[6])
print("CONTENT TYPE: " + response['ContentType'])
return response['ContentType']
except Exception as e:
print(e)
print('Error getting object {} from bucket {}. Make sure they exist and your bucket is in the same region as this function.'.format(key, bucket))
raise e
Tạo Zip nội dung của thư mục project-dir và tải lên lambda (Zip nội dung thư mục, không phải thư mục). Khi tôi thực thi chức năng, tôi gặp lỗi được đề cập bên dưới.
START RequestId: 9e64e2c7-d0c3-11e5-b34e-75c7fb49d058 Version: $LATEST
**Unable to import module 'lambda_function': No module named lambda_function**
END RequestId: 9e64e2c7-d0c3-11e5-b34e-75c7fb49d058
REPORT RequestId: 9e64e2c7-d0c3-11e5-b34e-75c7fb49d058 Duration: 19.63 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 9 MB
Vui lòng giúp tôi gỡ lỗi.
import lambda_function
mà không được tìm thấy. Có lẽ bạn muốnfrom future import lambda_function
? Hoặc chỉ cần pip cài đặt lambda_ Chức năng trên dòng cmd.