Closed MarkEdmondson1234 closed 2 years ago
It won't let you delete the bucket if a versioned object still in there. a few hoops to go through to delete them too
gcp_gcs_delete_bucket <- function(bucket){ # have to delete all objects in a bucket first os <- googleCloudStorageR::gcs_list_objects(bucket, versions = TRUE, detail = "full") safe_delete <- function(x, bucket, version = NULL){ tryCatch({ googleCloudStorageR::gcs_delete_object(x, bucket = bucket, generation = version) }, error = function(ex) { NULL }) } lapply(os$name, safe_delete, bucket = bucket) mapply(safe_delete, x = os$name, version = os$generation, MoreArgs = list(bucket = bucket)) bb <- googleCloudStorageR::gcs_get_bucket(bucket) googleCloudStorageR::gcs_delete_bucket(bb$name) }
Above now in gcs_delete_bucket_objects() and gcs_delete_bucket(force_delete=TRUE)
gcs_delete_bucket_objects()
gcs_delete_bucket(force_delete=TRUE)
It won't let you delete the bucket if a versioned object still in there. a few hoops to go through to delete them too