Установка пользовательских метаданных для объекта в Google Cloud Storage - PullRequest
0 голосов
/ 07 января 2020

У меня есть приложение android, которое загружает файлы в хранилище в Firebase Storage. Когда это происходит, он добавляет пользовательские метаданные userId. Когда я загружаю файлы со своего компьютера, используя gsutil с помощью следующей команды из docs :

gsutil -h x-goog-meta-userId:<userId> cp my_file gs://bucket/folder

Он добавляет метаданные, но меняет прописную I для небольшого i.

Есть ли что-то, что нужно сделать, чтобы метаданные сохранили заглавные буквы?

У меня есть функция, которая основывается на поиске метаданные как userId, в противном случае возвращается null, мой обходной путь на данный момент заключается в проверке как userId, так и userid. Но для продвижения вперед полезно знать, лучше ли устанавливать ключ метаданных только маленькими буквами.
Это очень неудобно при копировании из корзины в корзину, поскольку она добавляет дополнительные пользовательские метаданные вместо замены соответствующих.

Ответы [ 2 ]

1 голос
/ 08 января 2020

API облачного хранилища Google XML использует заголовки HTTP для предоставления и установки пользовательских метаданных объекта. Согласно RF C 2616 , заголовки HTTP не чувствительны к регистру, и поэтому, хотя вы можете указать регистр с другими API, мы обычно не рекомендуем полагаться на него.

Тем не менее, я согласен с тем, что существующее поведение gsutil, вероятно, является ошибкой.

1 голос
/ 07 января 2020

Я не рекомендую использовать верхний регистр в метаданных (и в заголовках в целом). Я получил электронное письмо, месяцы go, и нашел эту копию в этой ветке

Google преобразует все заголовки в нижний регистр. Таким образом, приобретите сегодня привычку использовать строчные заголовки для всех ваших вызовов API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...