title: S3 Bulk putObject
body: <p>I am profiling my Java distributed crawler (that stores crawled documents in S3), and S3 insertion is definitely a bottleneck. In fact, at high enough number of threads, the threads will consistently get timeout exception from S3 due to the fact that it takes too long for S3 to read the data. Is there a bulk <code>putObject</code> function provided by either Amazon or another library that can do this more efficiently?</p>
  
  <p>Example code:</p>
  
  <pre><code>BUCKET = ...; // S3 bucket definition
  AmazonS3 client= ...;
  
  InputStream is = ...; // convert the data into input stream
  ObjectMetadata meta = ...; // get metadata
  String key = ...;
  
  client.putObject(new PutObjectRequest(BUCKET, key, is, meta));
  </code></pre>