Google Cloud Storage에 공개 할 1000 개의 파일이 있거나 일반적으로 디렉토리 계층 구조가 있습니다.
웹 UI에서는 한 번에 하나씩 만 공개 할 수 있습니다.
이것을 할 방법이 있습니까?
Google Cloud Storage에 공개 할 1000 개의 파일이 있거나 일반적으로 디렉토리 계층 구조가 있습니다.
웹 UI에서는 한 번에 하나씩 만 공개 할 수 있습니다.
이것을 할 방법이 있습니까?
답변:
운영 gsutil -m acl set -R -a public-read gs://bucket
-m
동시에 여러 요청을 발행합니다.-R
문제는 버킷에있는 모든 객체에 대한 요청합니다.-a
문제는 모든 개체의 모든 버전에 대한 요청합니다.보다 gsutil help acl
내용은를 .
API 레이어에서 gsutil 은 다음 HTTP 요청을 실행합니다.
PUT /bucket/obj?acl HTTP/1.1
Host: storage.googleapis.com
x-goog-acl: public-read
다음 -D
과 함께 플래그를 사용하여이를 확인할 수 있습니다 gsutil
.
gsutil -D setacl public-read gs://bucket/obj
실행할 때 : gsutil -m acl set -R -a public-read gs://bucket
현재 버킷에있는 모든 객체에 대해 공개 읽기를 정의하지만 새 파일을 업로드하면 기본적으로 공개되지 않습니다.
내가 찾은 것은 버킷 기본 ACL을 공개 읽기로 정의 할 가치가 있다는 것입니다. gsutil defacl set public-read gs://bucket
gsutil defacl set public-read gs://bucket
하위 디렉토리 내의 파일을 포함하여 향후 모든 파일에서 작동합니다. Plastly Grove의 의견을 무시하십시오.
버킷의 모든 객체를 공개 할 수 있습니다. 여기에 링크가 있습니다.
- Google Cloud Platform 콘솔에서 Cloud Storage 브라우저를 엽니 다.
- 버킷 목록에서 공개하려는 버킷의 이름을 클릭합니다.
- 페이지 상단 근처에있는 권한 탭을 선택합니다.
- 회원 추가 버튼을 클릭합니다.
구성원 추가 대화 상자가 나타납니다.- 구성원 필드에 allUsers를 입력하십시오.
- 역할 드롭 다운에서 스토리지 하위 메뉴를 선택하고 스토리지 개체 뷰어 옵션을 클릭합니다.
- 추가를 클릭하십시오.
공개적으로 공유되면 공개 액세스> 열의 각 개체에 대한 링크 아이콘이 나타납니다. 이 아이콘을 클릭하여 개체의 URL을 가져올 수 있습니다.