summaryrefslogtreecommitdiffstats
path: root/src/ceph/doc/radosgw/s3/ruby.rst
diff options
context:
space:
mode:
Diffstat (limited to 'src/ceph/doc/radosgw/s3/ruby.rst')
-rw-r--r--src/ceph/doc/radosgw/s3/ruby.rst364
1 files changed, 0 insertions, 364 deletions
diff --git a/src/ceph/doc/radosgw/s3/ruby.rst b/src/ceph/doc/radosgw/s3/ruby.rst
deleted file mode 100644
index 435b3c6..0000000
--- a/src/ceph/doc/radosgw/s3/ruby.rst
+++ /dev/null
@@ -1,364 +0,0 @@
-.. _ruby:
-
-Ruby `AWS::SDK`_ Examples (aws-sdk gem ~>2)
-===========================================
-
-Settings
----------------------
-
-You can setup the connection on global way:
-
-.. code-block:: ruby
-
- Aws.config.update(
- endpoint: 'https://objects.dreamhost.com.',
- access_key_id: 'my-access-key',
- secret_access_key: 'my-secret-key',
- force_path_style: true,
- region: 'us-east-1'
- )
-
-
-and instantiate a client object:
-
-.. code-block:: ruby
-
- s3_client = Aws::S3::Client.new
-
-Listing Owned Buckets
----------------------
-
-This gets a list of buckets that you own.
-This also prints out the bucket name and creation date of each bucket.
-
-.. code-block:: ruby
-
- s3_client.list_buckets.buckets.each do |bucket|
- puts "#{bucket.name}\t#{bucket.creation_date}"
- end
-
-The output will look something like this::
-
- mahbuckat1 2011-04-21T18:05:39.000Z
- mahbuckat2 2011-04-21T18:05:48.000Z
- mahbuckat3 2011-04-21T18:07:18.000Z
-
-
-Creating a Bucket
------------------
-
-This creates a new bucket called ``my-new-bucket``
-
-.. code-block:: ruby
-
- s3_client.create_bucket(bucket: 'my-new-bucket')
-
-If you want a private bucket:
-
-`acl` option accepts: # private, public-read, public-read-write, authenticated-read
-
-.. code-block:: ruby
-
- s3_client.create_bucket(bucket: 'my-new-bucket', acl: 'private')
-
-
-Listing a Bucket's Content
---------------------------
-
-This gets a list of hashes with the contents of each object
-This also prints out each object's name, the file size, and last
-modified date.
-
-.. code-block:: ruby
-
- s3_client.get_objects(bucket: 'my-new-bucket').contents.each do |object|
- puts "#{object.key}\t#{object.size}\t#{object.last-modified}"
- end
-
-The output will look something like this if the bucket has some files::
-
- myphoto1.jpg 251262 2011-08-08T21:35:48.000Z
- myphoto2.jpg 262518 2011-08-08T21:38:01.000Z
-
-
-Deleting a Bucket
------------------
-.. note::
- The Bucket must be empty! Otherwise it won't work!
-
-.. code-block:: ruby
-
- s3_client.delete_bucket(bucket: 'my-new-bucket')
-
-
-Forced Delete for Non-empty Buckets
------------------------------------
-First, you need to clear the bucket:
-
-.. code-block:: ruby
-
- Aws::S3::Bucket.new('my-new-bucket', client: s3_client).clear!
-
-after, you can destroy the bucket
-
-.. code-block:: ruby
-
- s3_client.delete_bucket(bucket: 'my-new-bucket')
-
-
-Creating an Object
-------------------
-
-This creates a file ``hello.txt`` with the string ``"Hello World!"``
-
-.. code-block:: ruby
-
- s3_client.put_object(
- key: 'hello.txt',
- body: 'Hello World!',
- bucket: 'my-new-bucket',
- content_type: 'text/plain'
- )
-
-
-Change an Object's ACL
-----------------------
-
-This makes the object ``hello.txt`` to be publicly readable, and ``secret_plans.txt``
-to be private.
-
-.. code-block:: ruby
-
- s3_client.put_object_acl(bucket: 'my-new-bucket', key: 'hello.txt', acl: 'public-read')
-
- s3_client.put_object_acl(bucket: 'my-new-bucket', key: 'private.txt', acl: 'private')
-
-
-Download an Object (to a file)
-------------------------------
-
-This downloads the object ``poetry.pdf`` and saves it in
-``/home/larry/documents/``
-
-.. code-block:: ruby
-
- s3_client.get_object(bucket: 'my-new-bucket', key: 'poetry.pdf', response_target: '/home/larry/documents/poetry.pdf')
-
-
-Delete an Object
-----------------
-
-This deletes the object ``goodbye.txt``
-
-.. code-block:: ruby
-
- s3_client.delete_object(key: 'goodbye.txt', bucket: 'my-new-bucket')
-
-
-Generate Object Download URLs (signed and unsigned)
----------------------------------------------------
-
-This generates an unsigned download URL for ``hello.txt``. This works
-because we made ``hello.txt`` public by setting the ACL above.
-This then generates a signed download URL for ``secret_plans.txt`` that
-will work for 1 hour. Signed download URLs will work for the time
-period even if the object is private (when the time period is up, the
-URL will stop working).
-
-.. code-block:: ruby
-
- puts Aws::S3::Object.new(
- key: 'hello.txt',
- bucket_name: 'my-new-bucket',
- client: s3_client
- ).public_url
-
- puts Aws::S3::Object.new(
- key: 'secret_plans.txt',
- bucket_name: 'hermes_ceph_gem',
- client: s3_client
- ).presigned_url(:get, expires_in: 60 * 60)
-
-The output of this will look something like::
-
- http://objects.dreamhost.com/my-bucket-name/hello.txt
- http://objects.dreamhost.com/my-bucket-name/secret_plans.txt?Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXX&Expires=1316027075&AWSAccessKeyId=XXXXXXXXXXXXXXXXXXX
-
-.. _`AWS::SDK`: http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Client.html
-
-
-
-Ruby `AWS::S3`_ Examples (aws-s3 gem)
-=====================================
-
-Creating a Connection
----------------------
-
-This creates a connection so that you can interact with the server.
-
-.. code-block:: ruby
-
- AWS::S3::Base.establish_connection!(
- :server => 'objects.dreamhost.com',
- :use_ssl => true,
- :access_key_id => 'my-access-key',
- :secret_access_key => 'my-secret-key'
- )
-
-
-Listing Owned Buckets
----------------------
-
-This gets a list of `AWS::S3::Bucket`_ objects that you own.
-This also prints out the bucket name and creation date of each bucket.
-
-.. code-block:: ruby
-
- AWS::S3::Service.buckets.each do |bucket|
- puts "#{bucket.name}\t#{bucket.creation_date}"
- end
-
-The output will look something like this::
-
- mahbuckat1 2011-04-21T18:05:39.000Z
- mahbuckat2 2011-04-21T18:05:48.000Z
- mahbuckat3 2011-04-21T18:07:18.000Z
-
-
-Creating a Bucket
------------------
-
-This creates a new bucket called ``my-new-bucket``
-
-.. code-block:: ruby
-
- AWS::S3::Bucket.create('my-new-bucket')
-
-
-Listing a Bucket's Content
---------------------------
-
-This gets a list of hashes with the contents of each object
-This also prints out each object's name, the file size, and last
-modified date.
-
-.. code-block:: ruby
-
- new_bucket = AWS::S3::Bucket.find('my-new-bucket')
- new_bucket.each do |object|
- puts "#{object.key}\t#{object.about['content-length']}\t#{object.about['last-modified']}"
- end
-
-The output will look something like this if the bucket has some files::
-
- myphoto1.jpg 251262 2011-08-08T21:35:48.000Z
- myphoto2.jpg 262518 2011-08-08T21:38:01.000Z
-
-
-Deleting a Bucket
------------------
-.. note::
- The Bucket must be empty! Otherwise it won't work!
-
-.. code-block:: ruby
-
- AWS::S3::Bucket.delete('my-new-bucket')
-
-
-Forced Delete for Non-empty Buckets
------------------------------------
-
-.. code-block:: ruby
-
- AWS::S3::Bucket.delete('my-new-bucket', :force => true)
-
-
-Creating an Object
-------------------
-
-This creates a file ``hello.txt`` with the string ``"Hello World!"``
-
-.. code-block:: ruby
-
- AWS::S3::S3Object.store(
- 'hello.txt',
- 'Hello World!',
- 'my-new-bucket',
- :content_type => 'text/plain'
- )
-
-
-Change an Object's ACL
-----------------------
-
-This makes the object ``hello.txt`` to be publicly readable, and ``secret_plans.txt``
-to be private.
-
-.. code-block:: ruby
-
- policy = AWS::S3::S3Object.acl('hello.txt', 'my-new-bucket')
- policy.grants = [ AWS::S3::ACL::Grant.grant(:public_read) ]
- AWS::S3::S3Object.acl('hello.txt', 'my-new-bucket', policy)
-
- policy = AWS::S3::S3Object.acl('secret_plans.txt', 'my-new-bucket')
- policy.grants = []
- AWS::S3::S3Object.acl('secret_plans.txt', 'my-new-bucket', policy)
-
-
-Download an Object (to a file)
-------------------------------
-
-This downloads the object ``poetry.pdf`` and saves it in
-``/home/larry/documents/``
-
-.. code-block:: ruby
-
- open('/home/larry/documents/poetry.pdf', 'w') do |file|
- AWS::S3::S3Object.stream('poetry.pdf', 'my-new-bucket') do |chunk|
- file.write(chunk)
- end
- end
-
-
-Delete an Object
-----------------
-
-This deletes the object ``goodbye.txt``
-
-.. code-block:: ruby
-
- AWS::S3::S3Object.delete('goodbye.txt', 'my-new-bucket')
-
-
-Generate Object Download URLs (signed and unsigned)
----------------------------------------------------
-
-This generates an unsigned download URL for ``hello.txt``. This works
-because we made ``hello.txt`` public by setting the ACL above.
-This then generates a signed download URL for ``secret_plans.txt`` that
-will work for 1 hour. Signed download URLs will work for the time
-period even if the object is private (when the time period is up, the
-URL will stop working).
-
-.. code-block:: ruby
-
- puts AWS::S3::S3Object.url_for(
- 'hello.txt',
- 'my-new-bucket',
- :authenticated => false
- )
-
- puts AWS::S3::S3Object.url_for(
- 'secret_plans.txt',
- 'my-new-bucket',
- :expires_in => 60 * 60
- )
-
-The output of this will look something like::
-
- http://objects.dreamhost.com/my-bucket-name/hello.txt
- http://objects.dreamhost.com/my-bucket-name/secret_plans.txt?Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXX&Expires=1316027075&AWSAccessKeyId=XXXXXXXXXXXXXXXXXXX
-
-.. _`AWS::S3`: http://amazon.rubyforge.org/
-.. _`AWS::S3::Bucket`: http://amazon.rubyforge.org/doc/
-