По сути, ваш PHP-код и gsutil оба используют интерфейс RESTful (gsutil фактически наслоен поверх библиотеки Python с открытым исходным кодом, называемой boto, которая реализует основную часть интерфейса REST), однако есть несколько причин, чтобы рассмотреть возможность использования gsutil:
- Gsutil позаботится об аутентификации / авторизации OAuth 2.0.
- Gsutil выполняет расширение с подстановочными знаками, которое, например, позволит вам удалить все объекты в корзине, просто указав 'gsutil rm gs: // bucket / *'
- Gsutil имеет множество других функций (получение / установка списков ACL и связанных с ними XML-анализ / сборка, просмотр содержимого сегмента, содержимого объекта дампа и т. Д.), Которые вы должны будете реализовать самостоятельно (или найти в какой-либо другой библиотеке PHP), если вы Обойти gsutil.
- Gsutil имеет несколько хороших возможностей производительности для вашего варианта использования «загрузка множества маленьких файлов». В частности, опция -m запускает ваши загрузки в параллельных процессах и потоках, что обеспечивает существенное повышение производительности.
Таким образом, вы можете свернуть свой собственный код PHP, но я думаю, что вы справитесь с работой быстрее и получите доступ к большему количеству функций, если будете использовать gsutil.