99 votes

Comment rendre publics de nombreux fichiers dans Google Cloud Storage ?

J'ai 1000 fichiers dans Google Cloud Storage à rendre public, ou en général une hiérarchie de répertoire.

Dans l'interface Web, il semble que je ne puisse en rendre qu'un seul public à la fois.

Y a-t-il un moyen de le faire ?

128voto

fejta Points 2823

Exécuter gsutil -m acl set -R -a public-read gs://bucket

  • En -m émet plusieurs demandes en même temps.
  • En -R émet des requêtes pour chaque objet de votre seau.
  • En -a émet des demandes pour chaque version de chaque objet.

Voir gsutil help acl pour plus d'informations.

Au niveau de la couche API gsutil émet la requête HTTP suivante :

PUT /bucket/obj?acl HTTP/1.1
Host: storage.googleapis.com
x-goog-acl: public-read

Vous pouvez le constater en utilisant la fonction -D drapeau avec gsutil :

gsutil -D setacl public-read gs://bucket/obj

74voto

Erik Points 711

Vous pouvez rendre publics tous les objets d'un seau. Voici le lien .

  1. Ouvrez le navigateur de stockage en nuage dans la console de la plateforme Google Cloud.
  2. Dans la liste des godets, cliquez sur le nom du godet que vous voulez rendre public.
  3. Sélectionnez l'onglet Permissions en haut de la page.
  4. Cliquez sur le bouton Ajouter des membres.
    La boîte de dialogue Ajouter des membres apparaît.
  5. Dans le champ Membres, entrez allUsers.
  6. Dans le menu déroulant Rôles, sélectionnez le sous-menu Stockage, puis cliquez sur l'option Storage Object Viewer.
  7. Cliquez sur Ajouter.

Une fois partagé publiquement, une icône de lien apparaît pour chaque objet dans la >colonne d'accès public. Vous pouvez cliquer sur cette icône pour obtenir l'URL de l'objet.

62voto

unaiherran Points 986

Quand tu cours : gsutil -m acl set -R -a public-read gs://bucket vous définissez la lecture publique pour tous les objets actuellement dans votre seau, mais lorsque vous téléchargez de nouveaux fichiers, ils ne seront pas publics par défaut.

Ce que j'ai trouvé, c'est qu'il vaut la peine de définir l'acl par défaut d'un seau comme public-read. gsutil defacl set public-read gs://bucket

21voto

Anand Kapdi Points 31

Le moyen le plus simple d'y parvenir est d'utiliser une console.

Cliquez sur "Modifier les autorisations du seau".

enter image description here

Entrez allUsers dans Ajouter des membres. Puis Select Role > Storage > Storage Object Viewer

Attention ! Cette opération donne à toutes les personnes présentes sur l'internet l'autorisation de lire tous les objets de la section sélectionnée.

enter image description here

15voto

MarcoSantana Points 399

La documentation actuelle (octobre 2017) sur l'hébergement d'un site Web statique a été trouvée. aquí pointe vers :

gsutil acl ch -r -u AllUsers:R gs://bucket-name

Où le -r fait le tour récursif et -u AllUsers:R donne au public un accès en lecture.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X