From: Shon Paz Date: Sat, 28 Mar 2020 13:10:53 +0000 (+0300) Subject: doc/rgw: add documentation for allowed storage classes for client SDKs X-Git-Tag: v16.1.0~2604^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ba6fa84538e360e1be36e80799d108149373552f;p=ceph.git doc/rgw: add documentation for allowed storage classes for client SDKs When trying to use AWS S3 SDKs with a non-default storage class, clients should call their storage class as one of the generic storage class names provided by Amazon (such as STANDARD_IA, ONEZONE_IA, GLACIER etc), or else the SDK will drop the request complaining the storage class name is not allowed jenkins render docs Signed-off-by: Shon Paz --- diff --git a/doc/radosgw/placement.rst b/doc/radosgw/placement.rst index 56b8fc6850c2..4931cc87d384 100644 --- a/doc/radosgw/placement.rst +++ b/doc/radosgw/placement.rst @@ -126,7 +126,7 @@ Then provide the zone placement info for that target: Adding a Storage Class ---------------------- -To add a new storage class named ``COLD`` to the ``default-placement`` target, +To add a new storage class named ``GLACIER`` to the ``default-placement`` target, start by adding it to the zonegroup: :: @@ -134,7 +134,7 @@ start by adding it to the zonegroup: $ radosgw-admin zonegroup placement add \ --rgw-zonegroup default \ --placement-id default-placement \ - --storage-class COLD + --storage-class GLACIER Then provide the zone placement info for that storage class: @@ -143,8 +143,8 @@ Then provide the zone placement info for that storage class: $ radosgw-admin zone placement add \ --rgw-zone default \ --placement-id default-placement \ - --storage-class COLD \ - --data-pool default.rgw.cold.data \ + --storage-class GLACIER \ + --data-pool default.rgw.glacier.data \ --compression lz4 Customizing Placement @@ -239,6 +239,10 @@ name in an HTTP header with the request. The S3 protocol uses the ``X-Amz-Storage-Class`` header, while the Swift protocol uses the ``X-Object-Storage-Class`` header. +When using AWS S3 SDKs such as python boto3, it is important that the non-default +storage class will be called as one on of the AWS S3 allowed storage classes, or else the SDK +will drop the request and raise an exception. + S3 Object Lifecycle Management can then be used to move object data between storage classes using ``Transition`` actions.