Google Cloud Storage에서 많은 파일을 어떻게 공개합니까?
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
버킷의 모든 객체를 공개 할 수 있습니다. 여기에 링크가 있습니다.
- Google Cloud Platform 콘솔에서 Cloud Storage 브라우저를 엽니 다.
- 버킷 목록에서 공개하려는 버킷의 이름을 클릭합니다.
- 페이지 상단 근처에있는 권한 탭을 선택합니다.
- 회원 추가 버튼을 클릭합니다.
구성원 추가 대화 상자가 나타납니다.- 구성원 필드에 allUsers를 입력하십시오.
- 역할 드롭 다운에서 스토리지 하위 메뉴를 선택하고 스토리지 개체 뷰어 옵션을 클릭합니다.
- 추가를 클릭하십시오.
공개적으로 공유되면 공개 액세스> 열의 각 개체에 대한 링크 아이콘이 나타납니다. 이 아이콘을 클릭하여 개체의 URL을 가져올 수 있습니다.
여기에 있는 정적 웹 사이트 호스팅에 대한 최신 (2017 년 10 월) 문서는 다음을 가리 킵니다.
gsutil acl ch -r -u AllUsers:R gs://bucket-name
어디 -r
재귀 트릭을 수행하고 -u AllUsers:R
공공 읽기 액세스 할 수 있습니다.
이를 수행하는 가장 쉬운 방법은 콘솔을 사용하는 것입니다.
"버킷 권한 편집"을 클릭하십시오.
allUsers
구성원 추가를 입력합니다 . 그런 다음 Select Role
> Storage
>Storage Object Viewer
주의! 이렇게하면 인터넷의 모든 사용자에게 선택한 버킷의 모든 객체에 대한 읽기 권한이 부여됩니다.
Erik을 대신하여 복사하여 붙여 넣으려면 다음과 같이 일관되게 작동했습니다.
개체 그룹을 공개적으로 읽을 수 있도록 만들기
버킷의 모든 객체를 공개적으로 읽을 수 있도록하려면 다음 안내를 따르세요.
CONSOLEGSUTILREST APIS gsutil iam ch 명령어를 사용하여 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.
gsutil iam ch allUsers:objectViewer gs://[BUCKET_NAME]
'IT Share you' 카테고리의 다른 글
뒤로 버튼을 클릭 할 때 캐시에서 Safari로드 방지 (0) | 2020.12.02 |
---|---|
사이트 일치 검색어가 없습니다. (0) | 2020.12.02 |
phpmyadmin을 사용하여 저장 프로 시저를 작성하는 방법과 PHP를 통해 사용하는 방법은 무엇입니까? (0) | 2020.12.02 |
문자열에서 특정 문자 발생 횟수 계산 (0) | 2020.12.02 |
웹 API POST 본문 객체는 항상 null입니다. (0) | 2020.12.02 |