You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2020/12/19 14:50:33 UTC

[libcloud] branch trunk updated: Add a note on S3 compatible API not suppporting mixed casing for metadata keys.

This is an automated email from the ASF dual-hosted git repository.

tomaz pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/libcloud.git


The following commit(s) were added to refs/heads/trunk by this push:
     new be32240  Add a note on S3 compatible API not suppporting mixed casing for metadata keys.
be32240 is described below

commit be322400028ee9d27e1935dc1b15aa3f6c28cf16
Author: Tomaz Muraus <to...@tomaz.me>
AuthorDate: Sat Dec 19 15:47:59 2020 +0100

    Add a note on S3 compatible API not suppporting mixed casing for
    metadata keys.
---
 docs/storage/drivers/google_storage.rst | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/docs/storage/drivers/google_storage.rst b/docs/storage/drivers/google_storage.rst
index 8a337cb..efd3acd 100644
--- a/docs/storage/drivers/google_storage.rst
+++ b/docs/storage/drivers/google_storage.rst
@@ -16,7 +16,22 @@ project id header.
 Known limitations
 -----------------
 
-1. Meta data / tags aren't returned when using list_container_objects method
+1. Only lower case values are supported for metadata keys
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Google Storage driver is implemented on top of the S3 compatible XML API. In
+the XML API (and per AWS API docs), metadata values are sent as part of HTTP
+request headers which means mixed casing is not supported for metadata keys (
+all the metadata keys are lower cased).
+
+Native Google Storage JSON API does  support mixed casing for metadata keys,
+but that API is not supported by Libcloud.
+
+To make migrating across different providers easier and for compatibility
+reasons, you are encouraged to not rely on mixed casing for metadata header keys
+even with the providers which support it.
+
+2. Meta data / tags aren't returned when using list_container_objects method
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Meta data / tags associated with an object are only returned when using