The S3 Cookbook

The S3 Cookbook

Scott Patten
Buy on Leanpub

Table of Contents

The S3 Cookbook

  • Preface
    • Conventions Used in This Book
    • Using Code Examples
    • Getting the Code
    • How to Contact Me
    • Why Ruby
  • Chapter 1. What is S3, and what can I use it for?
    • Backups
    • Serving Data
    • Use Cases
    • NASDAQ Market Replay
    • Jason Kester
  • Chapter 2. S3’s Architecture
    • A Quick, Tounge-in-cheek, Overview
    • Amazon S3 and REST
    • Buckets
    • S3 Objects
    • Access Control Policies
    • Logging Object Access
  • S3 Recipes
    • Signing up for Amazon S3
    • Installing Ruby and the AWS/S3 Gem
    • Setting up the S3SH command line tool
    • Installing the S3Lib library
    • Making a request using s3Lib
    • Getting the response with AWS/S3
    • Installing The FireFox S3 Organizer
    • Working with multiple s3 accounts
    • Accessing your buckets through virtual hosting
    • Creating a bucket
    • Creating a European bucket
    • Finding a bucket’s location
    • Deleting a bucket
    • Synchronizing two buckets
    • Using REXML and XPath to parse an XML response from S3
    • Listing All Of Your Buckets
    • Listing All Objects in a Bucket
    • Finding the Total Size of a Bucket
    • Listing only objects with keys starting with some prefix
    • Paginating the list of objects in a bucket
    • Listing objects in folders
    • Uploading a file to s3
    • Doing a streaming upload to S3
    • Deleting an object
    • Copying an object
    • Downloading a File From S3
    • Streaming a File From S3
    • Streaming a file from S3 by hand
    • Adding metadata to an object
    • Reading an object’s metadata
    • Understanding access control policies
    • Setting a canned access control policy
    • Reading a bucket or object’s ACL
    • Granting public read access to a bucket or object using S3SH
    • Giving another user access to an object or bucket using S3SH
    • Giving another user access to an object or bucket by hand
    • Giving access to a bucket or object with a special URL
    • Finding the canonical user ID
    • Keeping the Current ACL When You Change an Object
    • Making sure that all objects in a bucket are publicly readable
    • Creating a directory structure in an S3 bucket
    • Restoring a directory from an S3 bucket
    • Synchronizing a directory with s3sync
    • Detecting if a File on S3 is the Same as a Local File
    • Synchronizing a Directory
    • Synchronizing Multiple Directories
    • Cleaning up a synchronized directory
    • Backing up a mysql database to S3
    • Backing up your SVN repository
    • Determining logging status for a bucket
    • Enabling logging on a bucket
    • Allowing someone else to read logs in one of your buckets
    • Logging multiple buckets to a single bucket
    • Parsing logs
    • Parsing log files to find out how many times an object has been accessed
    • Accessing your logs using S3stat
    • Using S3 as an asset host
    • Serving compressed content from S3
    • Serving user generated data from s3
    • Seeding a bit torrent
  • Chapter 4. Authenticating S3 Requests
    • Authenticating S3 Requests
    • Writing an S3 Authentication Library
    • The HTTP Verb
    • The Canonicalized Positional Headers
    • The Canonicalized Amazon Headers
    • Date Stamping Requests
    • The Canonicalized Resource
    • The Full Signature
    • Signing the Request
    • Making the Request
    • Error Handling
  • The S3 API
    • Introduction
    • Listing All of Your Buckets
    • Finding a Bucket
    • Creating a Bucket
    • Deleting a Bucket
    • Refactoring the Bucket Class
    • The
    • Reading a Bucket or Object’s Access Control Policy
    • Refreshing the Cached ACL
    • Creating a New Grant
    • Tieing the Acl Class to a Bucket or Object
  • Appendix A. A Short Introduction to Ruby
    • An Example Program
    • Ruby Data Types
    • Output
    • Control Statements
    • Blocks and iterators
    • Methods
    • Classes
    • Variables and Scope
The S3 Cookbook/overview

The S3 Cookbook

course_overview

count_chapters
begin_reading
download
p_implied_book_part_name

The S3 Cookbook7 chapters

Begin ›
  1. Preface

  2. Chapter 1. What is S3, and what can I use it for?

  3. Chapter 2. S3’s Architecture

  4. S3 Recipes

  5. Chapter 4. Authenticating S3 Requests

  6. The S3 API

  7. Appendix A. A Short Introduction to Ruby