Как вы отметили, служба передачи данных требует, чтобы вы предоставили ей MD5 каждого файла.К счастью, многие HTTP-серверы могут предоставить вам MD5 объекта, не требуя его загрузки.Отправка запроса HTTP HEAD
может привести к тому, что сервер предоставит вам заголовок Content-MD5
в своем ответе, который может быть не в той форме, которая требуется для службы передачи данных, но его можно преобразовать в эту форму.
Недостатком здесь является то, что веб-серверы не обязательно будут предоставлять вам эту информацию.Нет способа узнать без проверки.
Другой вариант, который стоит рассмотреть, - это настроить один или несколько экземпляров GCE и запустить оттуда скрипт, чтобы загрузить объекты в ваш экземпляр GCE и оттуда загрузить их в GCS.Это по-прежнему предполагает загрузку их «локально», но локально больше не означает место вне Google Cloud, что должно существенно ускорить процесс.Вы также можете разделить работу, разделив ваш CSV-файл, скажем, на 10 файлов с 1000 объектами в каждом и настроив 10 экземпляров GCE для выполнения этой работы.