2016-12-14 192 views
1

我已經創建了lambda函數通過使用內聯代碼編輯器進行視頻轉換使用zencoder它的工作正常。如何使用python創建AWS lambda包?

現在我必須調整大小的圖像在3種不同的大小和從一個桶到另一個桶。

對於這種情況我需要導入一些python模塊。但它說像沒有模塊發現圖像的錯誤。

這是我的lambda代碼。

import boto3 
import cStringIO 
import urllib 
import os 
import image 
fp=urllib.urlopen('iamgeurl') 
img = cStringIO.StringIO(fp.read()) 
im = Image.open(img) 
im2 = im.resize((500, 100), Image.NEAREST) 
out_im2 = cStringIO.StringIO() 
im2.save(out_im2, 'PNG') 
conn = boto.connect_s3() 
b = conn.get_bucket('Bucketname') 
k = b.new_key('example.png') 
k.set_contents_from_string(out_im2.getvalue()) 

回答

1

首先,從lambda儀表板導出代碼。然後執行以下操作:

將下載的包解壓縮到一個目錄中,例如project-dir。

使用pip安裝任何庫。再次,您將這些庫安裝在目錄的根目錄下。

pip install module-name -t/path/to/project-dir 壓縮project-dir目錄的內容,這是您的部署包。

壓縮目錄內容,而不是目錄。 Zip文件的內容可用作Lambda函數的當前工作目錄。例如:/project-dir/codefile.py/lib/yourlibraries

將zip文件上傳回您的lambda函數。

欲瞭解更多信息:http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

+0

謝謝,它的工作。僅供參考,請您詳細說明爲什麼當我壓縮文件夾時它不工作? – Amrendra

+0

AWS Lambda要求您僅壓縮內容。從aws的這個文檔的第4步:https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html –

相關問題