<p>You did not tell how big data amounts you tested with, but if you test ok with little data block successfully and larger real situation fails, there may occur same as occurred <a href="https://stackoverflow.com/questions/40387051/lambda-s3-put-function-not-triggering-for-larger-files">here</a>:</p>

<blockquote>
  <p>The larger files are almost certainly being uploaded via S3 Multipart Upload instead of a regular Put operation.</p>
  
  <p>..</p>
  
  <p>It sounds like the function is only subscribed to s3:ObjectCreated:Put events currently, and you need to add s3:ObjectCreated:CompleteMultipartUpload to the configuration.</p>
</blockquote>

CC BY-SA 3.0
2017-10-08T18:42:34.563Z
Thanks. For future reference the size doesn't appear to matter. I created an inline function that just dumped the incoming event data, and even with a `select 'foo'` you still get the multipart upload. I think with bigger datasets that are split up you need to wait for the manifest, which does use a put.
Hugo Rodger-Brown
CC BY-SA 3.0
2017-10-07T17:27:12.020Z
2017-10-07T17:27:12.020Z
mico
<p>I am trying to use Redshift to UNLOAD data to S3 and then pick that data up with a Lambda function and process it. All of the constituent parts (the UNLOAD, the Lambda function) now work, however the Lambda event trigger (<code>S3:ObjectPUT</code>) is never firing. If I upload manually via the console, it all works. If I run the UNLOAD the data appears in the bucket, but the trigger event doesn't run.</p>

<p>I have tried creating / recreating the function (as per this forum thread - <a href="https://forums.aws.amazon.com/thread.jspa?messageID=768407&amp;tstart=0" rel="nofollow noreferrer">https://forums.aws.amazon.com/thread.jspa?messageID=768407&amp;tstart=0</a>), but to no avail.</p>

<p>Has anyone else had this - is there something I'm missing?</p>

<amazon-s3><aws-lambda>
AWS Redshift UNLOAD not firing S3 PUT event
Hugo Rodger-Brown
# AWS Redshift UNLOAD not firing S3 PUT event

(Asked by: username_0 on 2017-10-06)

I am trying to use Redshift to UNLOAD data to S3 and then pick that data up with a Lambda function and process it. All of the constituent parts (the UNLOAD, the Lambda function) now work, however the Lambda event trigger (`S3:ObjectPUT`) is never firing. If I upload manually via the console, it all works. If I run the UNLOAD the data appears in the bucket, but the trigger event doesn't run.

I have tried creating / recreating the function (as per this forum thread - <https://forums.aws.amazon.com/thread.jspa?messageID=768407&tstart=0>), but to no avail.

Has anyone else had this - is there something I'm missing?

**Tags:** amazon-s3, aws-lambda


---

## 1 answers

### Answer by username_1 on 2017-10-07. Score: 1 | Accepted answer

You did not tell how big data amounts you tested with, but if you test ok with little data block successfully and larger real situation fails, there may occur same as occurred [here](https://stackoverflow.com/questions/40387051/lambda-s3-put-function-not-triggering-for-larger-files):

> The larger files are almost certainly being uploaded via S3 Multipart Upload instead of a regular Put operation.
>
> ..
>
> It sounds like the function is only subscribed to s3:ObjectCreated:Put events currently, and you need to add s3:ObjectCreated:CompleteMultipartUpload to the configuration.

> **Comments:**
> **username_0**: Thanks. For future reference the size doesn't appear to matter. I created an inline function that just dumped the incoming event data, and even with a `select 'foo'` you still get the multipart upload. I think with bigger datasets that are split up you need to wait for the manifest, which does use a put.  

---

