Dado um URL que aponta para um arquivo grande, existe um atalho para colocar esse arquivo em um bucket, sem baixá-lo localmente e depois carregá-lo?
Existe uma maneira mais simples de fazer isso, além de construir uma imagem docker que execute a tarefa e executá-la no GCP de alguma forma?
Responder1
Como mencionado nolink
1: Você pode fazer isso usando o comando curl transmitindo os dados diretamente para o bucket.
curl http://speedtest.tele2.net/10GB.zip | gsutil cp -gs://YOUR_BUCKET_NAME/10GB.zip
2: Arquivos menores que 4,6 GB.
Abordagem original: funciona desde que o download seja inferior a ~ 4,6 GB. Inicie o Cloud Shell (primeiro ícone no canto superior direito após fazer login no seu projeto no GCP) e use wget para baixar o arquivo desejado. Por exemplo, para baixar o 7-Zip digite: wget https://www.7-zip.org/a/7z1805-x64.exeAgora, com o arquivo na página inicial do usuário do Cloud Shell, você pode copiá-lo para um intervalo do Google Cloud Storage usando o comando gsutil:
gsutil cp ./7z1805-x64.exe gs://your_bucket_name/
3: Arquivos maiores que 4,6 GB.
Crie um diretório na página inicial do usuário do Cloud Shell
mkdir ~/mybucket
Agora monte seu bucket nesse diretório usando gcsfuse:
gcsfuse bucket_name ~/mybucket
Mude o diretório atual para o diretório do ponto de montagem:
cd mybucket
(se você deseja executar "df -h." para ver quanto espaço você tem nesse ponto de montagem) Agora use wget para obter o arquivo diretamente em seu bucket (exemplo usando arquivo de 10 GB off a teia):
wget https://speed.hetzner.de/10GB.bin
Para mais informações, você pode consultar odocumentaçãoem serviços de transferência de armazenamento e na criação de umLista de URLs.
Responder2
O Google Cloud Storage não oferece a capacidade de carregar um objeto de um URL.
Você deve escrever seu próprio código, usar a CLI ou um serviço gerenciado comoServiço de transferência de armazenamento