title: Silent Failure of S3 PutObject?
body: <p>I have been trying to programmatically upload SNS messages to an S3 bucket using the S3.Object.put() method like so:</p>
  
  <pre><code>bucket_resource=boto3.resource('s3')
  bucket_client = boto3.client('s3')
  body = subject + message
  </code></pre>
  
  <pre><code>object = bucket_resource.Object(bucket_name, folder+'/'+fn)
  object.put(Body=body)
  </code></pre>
  
  <p>This has not worked, so I have tried the following to try and upload an object to a particular S3 bucket.</p>
  
  <pre><code>body = subject + message
  folder = datetime.datetime.today().strftime('%Y-%m-%d')
  fn = datetime.datetime.today().strftime('%H:%M:%S')
  key = folder_name + '/' + fn
  bucket_resource = s3.Bucket(bucket_name)
  bucket.upload_file(body, key)
  </code></pre>
  
  <p>However, both of these methods are failing silently. I am not getting any access denials, error messages, etc. but I am also not uploading my message to a bucket. I'm not sure what's happening with each invocation of the function, and would appreciate any guidance for people who have successfully uploaded files to buckets programmatically.</p>
  
  <p>Note:
  I have bucket policies in place where my account is the only account that can put objects in the bucket. Do I need an addendum to give Lambda permission to put objects in the bucket?</p>