Goog Cloud Storage Acl и / или корзины с переполнением стека

Я не могу обернуть голову вокруг этого. У меня есть пакет для Laravel, который в основном обертывает PHP Api для Google Cloud Storage.
Теперь я могу загрузить файлы в корзину. Но теперь я застрял с пользователями, загружающими в мое ведро. Я думаю, что создавать группы для каждого пользователя плохо, а вложенные группы невозможны.
Как я могу перечислить файлы, которые были загружены определенным пользователем?
Я нашел кое-что о ACL: https://cloud.google.com/storage/docs/access-control/create-manage-lists

Может кто-нибудь сказать мне, если это правильный подход? Я имею в виду, должен ли я создавать пользователя в облачном хранилище Google для каждой регистрации на моем веб-сайте?
Есть простой пример для этого в PHP?

0

Решение

Вы должны создать пользователя для загрузки файлов, а также сделать одно: создать папку. В вашем контейнере вы получите конкретный путь, поскольку базовый URL-адрес использует этот URL-адрес, а затем в этом URL-адресе загрузите файл изображения с конкретным именем, которое вы должны дать. Как только он будет загружен, просто выберите этот магазин URL в таблице базы данных. Чем вы можете использовать эту ссылку для доступа к изображению легко.

1

Другие решения

Это будет зависеть от дизайна вашего приложения. Подход, которым вы можете следовать (очень похож на то, что сказал Рохан): использовать идентификатор пользователя, который вы получаете, когда пользователь проходит аутентификацию в вашем приложении, и создать папку, которую вы будете использовать для загрузки всех объектов для этого конкретного пользователя. Так будет проще управлять (создавать, обновлять, удалять) всеми объектами, принадлежащими пользователю. Когда вы удаляете пользователя из своего приложения, вы также можете удалить папку. Для этого вам понадобится один учетная запись службы это будет использоваться для аутентификации вашего приложения в корзине GCS.

При загрузке объекта вы также указываете путь (папку). Посмотри на это пример.

0

По вопросам рекламы [email protected]