Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <blockquote> <p>Have you ever mounted an S3 bucket on a local linux filesystem?</p> </blockquote> <p>No. It's fun for testing, but I wouldn't let it near a production system. It's much better to use a library to communicate with S3. Here's why:</p> <ol> <li>It won't hide errors. A filesystem only has a few errors codes it can send you to indicate a problem. An S3 library will give you the exact error message from Amazon so you understand what's going on, log it, handle corner cases, etc.</li> <li>A library will use less memory. Filesystems layers will cache lots of random stuff that you many never use again. A library puts you in control to decide what to cache and not to cache.</li> <li>Expansion. If you ever need to do anything fancy (set an ACL on a file, generate a signed link, versioning, lifecycle, change durability, etc), then you'll have to dump your filesystem abstraction and use a library anyway.</li> <li>Timing and retries. Some fraction of requests randomly error out and can be retried. Sometimes you may want to retry a lot, sometimes you would rather error out quickly. A filesystem doesn't give you granular control, but a library will.</li> </ol> <p>The bottom line is that S3 under FUSE is a <a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html">leaky abstraction</a>. S3 doesn't have (or need) directories. Filesystems weren't built for billions of files. Their permissions models are incompatible. You are wasting a lot of the power of S3 by trying to shoehorn it into a filesystem.</p> <p>Two random PHP libraries for talking to S3:</p> <p><a href="https://github.com/KnpLabs/Gaufrette">https://github.com/KnpLabs/Gaufrette</a></p> <p><a href="https://aws.amazon.com/sdkforphp/">https://aws.amazon.com/sdkforphp/</a> - this one is useful if you expand beyond just using S3, or if you need to do any of the fancy requests mentioned above.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload