Lambda Function timing out when uploading to S3
<p>I have a lambda function written in python that does some operations in mongodb then it is supposed to upload a picture from the tmp folder of the function onto s3. The function keeps timing out on the upload step. </p>

<p>I raised the timeout to 2 mins and the function has S3 and vpc permissions. The function simply times out. Anyone has any ideas of what is going wrong?? </p>

<p>Sample input</p>

<pre><code>#picturename should be created by the app. a name unique for the dish
{
    "UserId": "56dc63fc1769d032d4d78e2e",  
    "DishId": "56dcc2781769d032d4d78e2f",
    "PictureName" : "katsu-001.png",
    "Data": "base64 image just the bits ignore data:image/jpeg;base64, if you have it"
}
</code></pre>

<p>Function</p>

<pre><code>def addPicture(event,context):  

from __future__ import print_function
import pymongo
from pymongo import MongoClient
import bson.code
from bson.objectid import ObjectId
import datetime
import json    
import boto3
import sys
import uuid
from base64 import decodestring

print ('Writing file to disk')
with open('/tmp/' + pictureName,"wb") as f:
    f.write(decodestring(event["Data"]))
    print ('File written to /tmp/' + pictureName)

s3_client = boto3.client('s3')
print ('Starting S3 upload')
bucket = "foundue-dev-filestore"
upload_path = 'pictures/dish/' + dishId.__str__() + '/' + pictureName
print ('Uploading /tmp/' + pictureName + ' ' + bucket + ' ' + upload_path) 
s3_client.upload_file('/tmp/' + pictureName,bucket, upload_path)   
print ('Upload Complete')  
#pics[pictureName] = upload_path
#dish["Pictures"] = pics
#dish["UpdatedOn"] = datetime.datetime.utcnow()
#db.dishes.replace_one({"_id": dishId}, dish)
return
</code></pre>

<p>Policies attached to lambda </p>

<pre><code>oneClick_lambda_basic_vpc_execution_1457284829450
oneClick_lambda_s3_exec_role_1457392283800
</code></pre>

<p>Output </p>

<pre><code>Loading function 
START RequestId: ed91c290-e582-11e5-95d6-ed4fc6a3321b Version: $LATEST 
Writing file to disk 
File written to /tmp/katsu-002png 
Starting S3 upload 
Uploading /tmp/katsu-002png foundue-dev-filestore pictures/dish/56dcc2781769d032d4d78e2f/katsu-002png 
END RequestId: ed91c290-e582-11e5-95d6-ed4fc6a3321b 
REPORT RequestId: ed91c290-e582-11e5-95d6-ed4fc6a3321b  Duration: 121003.49 ms  Billed Duration: 121000 ms Memory Size: 128 MB  Max Memory Used: 22 MB
2016-03-08T23:12:21.437Z ed91c290-e582-11e5-95d6-ed4fc6a3321b Task timed out after 121.00 seconds
</code></pre>