diff --git a/NEWS.md b/NEWS.md index 40d2d8f..a8b418e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -23,7 +23,7 @@ ## Bugfixes * `put_object` now closes its connections properly (#354) - +* `get_bucket` now references NextMarker by name, ensuring increased compatibility (#413) # aws.s3 0.3.21 diff --git a/R/get_bucket.R b/R/get_bucket.R index 0c4ca39..f9f933c 100644 --- a/R/get_bucket.R +++ b/R/get_bucket.R @@ -53,10 +53,11 @@ get_bucket <- function(bucket, prefix = prefix, delimiter = delimiter, "max-keys" = as.integer(pmin(max - as.integer(r[["MaxKeys"]]), 1000)), - marker = tail(r, 1)[["Contents"]][["Key"]] + marker = r$NextMarker ) extra <- s3HTTP(verb = "GET", bucket = bucket, query = query, parse_response = parse_response, ...) - new_r <- c(r, tail(extra, -5)) + new_r <- c(r, extra) + new_r[["NextMarker"]] <- extra$NextMarker new_r[["MaxKeys"]] <- as.character(as.integer(r[["MaxKeys"]]) + as.integer(extra[["MaxKeys"]])) new_r[["IsTruncated"]] <- extra[["IsTruncated"]] attr(new_r, "x-amz-id-2") <- attr(r, "x-amz-id-2")