Pin data to a Google Cloud Storage bucket using the googleCloudStorageR package.
Arguments
- bucket
Bucket name. You can only write to an existing bucket, and you can use
googleCloudStorageR::gcs_get_global_bucket()
here.- prefix
Prefix within this bucket that this board will occupy. You can use this to maintain multiple independent pin boards within a single GCS bucket. Will typically end with
/
to take advantage of Google Cloud Storage's directory-like handling.- versioned
Should this board be registered with support for versions?
- cache
Cache path. Every board requires a local cache to avoid downloading files multiple times. The default stores in a standard cache location for your operating system, but you can override if needed.
Authentication
board_gcs()
is powered by the googleCloudStorageR package which provides
several authentication options, as documented in its
main vignette.
The two main options are to create a service account key (a JSON file) or an
authentication token; you can manage either using the gargle package.
Details
The functions in pins do not create a new bucket. You can create a new bucket from R with
googleCloudStorageR::gcs_create_bucket()
.You can pass arguments for googleCloudStorageR::gcs_upload such as
predefinedAcl
andupload_type
through the dots ofpin_write()
.board_gcs()
is powered by the googleCloudStorageR package, which is a suggested dependency of pins (not required for pins in general). If you run into errors when deploying content to a server like https://www.shinyapps.io or Connect, addrequireNamespace("googleCloudStorageR")
to your app or document for automatic dependency discovery.
Examples
if (FALSE) { # \dontrun{
board <- board_gcs("pins-testing")
board %>% pin_write(mtcars)
board %>% pin_read("mtcars")
# A prefix allows you to have multiple independent boards in the same pin.
board_sales <- board_gcs("company-pins", prefix = "sales/")
board_marketing <- board_gcs("company-pins", prefix = "marketing/")
# You can make the hierarchy arbitrarily deep.
# Pass arguments like `predefinedAcl` through the dots of `pin_write`:
board %>% pin_write(mtcars, predefinedAcl = "publicRead")
} # }