대용량 파일을 가리키는 URL이 있는 경우 해당 파일을 로컬로 다운로드한 다음 업로드하지 않고 버킷으로 가져오는 지름길이 있습니까?
작업을 수행하고 어떻게든 GCP에서 실행하는 Docker 이미지를 구축하는 것 외에 더 간단한 방법이 있습니까?
답변1
에서 언급했듯이링크
1: 데이터를 버킷으로 직접 스트리밍하여 컬 명령을 사용하여 이를 수행할 수 있습니다.
curl http://speedtest.tele2.net/10GB.zip | gsutil cp -gs://YOUR_BUCKET_NAME/10GB.zip
2: 4.6GB보다 작은 파일.
원래 접근 방식: 다운로드 크기가 4.6GB 미만인 경우에 작동합니다. Cloud Shell(GCP에서 프로젝트에 로그인한 후 오른쪽 상단의 첫 번째 아이콘)을 실행하고 wget을 사용하여 원하는 파일을 다운로드합니다. 예를 들어, 7-Zip 유형을 다운로드하려면: wget https://www.7-zip.org/a/7z1805-x64.exe이제 Cloud Shell 사용자 홈에 있는 파일을 gsutil 명령어를 사용하여 Google Cloud Storage 버킷에 복사할 수 있습니다.
gsutil cp ./7z1805-x64.exe gs://your_bucket_name/
삼: 4.6GB보다 큰 파일.
Cloud Shell 사용자 홈에 디렉터리 만들기
mkdir ~/mybucket
이제 gcsfuse를 사용하여 해당 디렉터리에 버킷을 마운트합니다.
gcsfuse bucket_name ~/mybucket
현재 디렉터리를 마운트 지점 디렉터리로 변경합니다.
cd mybucket
(해당 마운트 지점에 얼마나 많은 공간이 있는지 확인하기 위해 "df -h ."를 실행하려는 경우) 이제 wget을 사용하여 파일을 버킷으로 직접 가져옵니다(샘플에서는 10GB 파일을 사용하지 않음) 인터넷):
wget https://speed.hetzner.de/10GB.bin
답변2
Google Cloud Storage는 URL에서 객체를 로드하는 기능을 제공하지 않습니다.
자신의 코드를 작성하고 CLI 또는 다음과 같은 관리형 서비스를 사용해야 합니다.보관이전 서비스