Как получить путь хранения firebase из URL хранилища? - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь написать сценарий миграции, чтобы скопировать URL-адреса хранилища, хранящиеся в firestore, из проекта разработки в промежуточный и производственный проекты.

Я запрашиваю все документы в Firestore, фильтруя документы, которыесодержат одну из двух строк:

https://firebasestorage.googleapis.com/v0/b/${BUCKET_ID}/o/{FILEPATH}
https://storage.googleapis.com/${BUCKET_ID}/{FILEPATH}

Я заметил, что первая используется, когда изображение было загружено из клиента javascript, и вторая, когда оно было загружено из облачных функций.

Легко ли получить путь хранения из URL-адресов, не разбирая их?Существует ли более простой способ переноса URL-адресов хранилища в новый проект?

Примечание. Я хочу получить путь к хранилищу по URL-адресу.Я знаю, что наоборот все просто.

1 Ответ

0 голосов
/ 27 июня 2019

Вы хотите получить часть "{FILEPATH}" из сохраненных вами URL-адресов. Это код JavaScript, который я бы предложил для достижения этой цели:

  var data = ['https://firebasestorage.googleapis.com/v0/b/my_bucket_id/o/file_path1','https://storage.googleapis.com/my_bucket_id/file_path2','https://firebasestorage.googleapis.com/v0/b/my_bucket_id/o/file_path3','https://storage.googleapis.com/my_bucket_id/file_path4','https://storage.googleapis.com/my_bucket_id/file_path5','https://storage.googleapis.com/my_bucket_id/file_path6','https://firebasestorage.googleapis.com/v0/b/my_bucket_id/o/file_path7']; //sample data
  
  var treated_data = [];
  
  for (url of data) {
    var list = url.split('/'); // split the url by /
    treated_data.push(list[list.length - 1]); // grabbing and saving the last part.
  }
  
  console.log(treated_data); // here you have all your FILEPATH part

Примечания:

  • Измените код в соответствии с фактической структурой, которую вы используете для обработки данных.

  • Поскольку часть FILEPATH находится в конце URL-адресов, которые вы извлекаете, не имеет значения, какой URL-адрес вы обрабатываете, вы получите только последнюю часть.

  • Если это не поможет, пожалуйста, дайте больше информации по вашему вопросу (как проходит процесс миграции, какой сценарий вы используете для управления миграцией ...)

...