Oi, pessoal. Tudo bem?
Eu preciso baixar todos os arquivos do Google Cloud Platform para uma pasta e, em vez seguida, rodar o meu script de R. Porém, como usuária, eu só vejo a opção de baixar um arquivo de cada vez. Só que são mais de 100 arquivos referentes a apenas hoje.
Por isso, eu pesquisei no Google alguma forma de baixar todos os arquivos de uma vez, preferencialmente usando o R e o RStudio. Encontrei apenas comandos de Python e terminal. Eu prefiro continuar lidando apenas com o R. Alguém me recomenda alguma forma de fazer isso?
Obrigada!
Gabriela,
Você pode tentar usar o pacote googleCloudStorageR
. Você precisa criar um projeto no console do GCP, coletar suas credenciais e fazer alguma coisa do tipo:
library(tidyverse)
## get your project name from the API console
proj <- "your-project"
## get bucket info
buckets <- gcs_list_buckets(proj)
bucket <- "your-bucket"
bucket_info <- gcs_get_bucket(bucket)
bucket_info
==Google Cloud Storage Bucket==
Bucket: your-bucket
Project Number: 1123123123
Location: EU
Class: STANDARD
Created: 2016-04-28 11:39:06
Updated: 2016-04-28 11:39:06
Meta-generation: 1
eTag: Cxx=
## get object info in the default bucket
objects <- gcs_list_objects()
## save directly to an R object (warning, don't run out of RAM if its a big object)
## the download type is guessed into an appropriate R object
parsed_download <- gcs_get_object(objects$name[[1]])
## if you want to do your own parsing, set parseObject to FALSE
## use httr::content() to parse afterwards
raw_download <- gcs_get_object(objects$name[[1]],
parseObject = FALSE)
## save directly to a file in your working directory
## parseObject has no effect, it is a httr::content(req, "raw") download
gcs_get_object(objects$name[[1]], saveToDisk = "csv_downloaded.csv")
## save several files
for (i in seq_along(objects$name)){
gcs_get_object(objects$name[[i]], saveToDisk = str_glue("csv_downloaded_{i}.csv"))
}
No site do pacote tem um tutorial mais detalhado: http://code.markedmondson.me/googleCloudStorageR/articles/googleCloudStorageR.html
1 curtida