paws-r / paws

Paws, a package for Amazon Web Services in R
https://www.paws-r-sdk.com
Other
313 stars 37 forks source link

paginate fails to receive argument inputs when called within a function #696

Closed fh-mthomson closed 9 months ago

fh-mthomson commented 10 months ago

I'd like to use paginate() to list more than 1,000 objects (#30, #487) - super cool functionality, thank you!!

However, it fails to pass through arguments when called within a function, which I suspect has to do with the environment level in the stack searched by paginate().

Reprex

with placeholders for a test bucket / prefix:

test_bucket <- "<bucket>"
test_prefix <- "<prefix>"

# Works: Direct call (from Global env) ----
svc <- paws.storage::s3()

paws.common::paginate(
  svc$list_objects_v2(
    Bucket = test_bucket,
    Prefix = test_prefix
  ),
  PageSize = 1000,
  MaxItems = 2000
)

# Fails: calling from within function ----
run_paginate <- function(bucket, prefix = NULL){
  svc <- paws.storage::s3()

  paws.common::paginate(
    svc$list_objects_v2(
      Bucket = bucket,
      Prefix = prefix
    ),
    PageSize = 1000,
    MaxItems = 2000
  )
}

run_paginate(
  bucket = test_bucket,
  prefix = test_prefix
)

Error (with traceback)

image

Package Versions

DyfanJones commented 10 months ago

Sorry about that, I will have a look at it and see if it is a quick fix :)

DyfanJones commented 10 months ago

@fh-mthomson, I believe I have fixed it. Please try it out and let me know

remotes::install_github("dyfanjones/paws/paws.common", ref = "fix_paginate")
library(paws.storage)

test_bucket <- "mybucket"
test_prefix <- "athena-query"

client <- s3()
client$list_objects_v2(
  Bucket = test_bucket,
  Prefix = test_prefix
) |> 
  paginate(
    PageSize = 1,
    MaxItems = 2
  )
#> [[1]]
#> [[1]]$IsTruncated
#> [1] TRUE
#> 
#> [[1]]$Contents
#> [[1]]$Contents[[1]]
#> [[1]]$Contents[[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv"
#> 
#> [[1]]$Contents[[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[1]]$Contents[[1]]$ETag
#> [1] "\"f2849e589122ef3633f67761a75792d0\""
#> 
#> [[1]]$Contents[[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[1]]$Contents[[1]]$Size
#> [1] 16
#> 
#> [[1]]$Contents[[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[1]]$Contents[[1]]$Owner
#> [[1]]$Contents[[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[1]]$Contents[[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[1]]$Contents[[1]]$RestoreStatus
#> [[1]]$Contents[[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[1]]$Contents[[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[1]]$Name
#> [1] "mybucket"
#> 
#> [[1]]$Prefix
#> [1] "athena-query"
#> 
#> [[1]]$Delimiter
#> character(0)
#> 
#> [[1]]$MaxKeys
#> [1] 1
#> 
#> [[1]]$CommonPrefixes
#> list()
#> 
#> [[1]]$EncodingType
#> character(0)
#> 
#> [[1]]$KeyCount
#> [1] 1
#> 
#> [[1]]$ContinuationToken
#> character(0)
#> 
#> [[1]]$NextContinuationToken
#> [1] "18ZZ9e3eKJyK1y2021ujq5l8I7vkZEEeejBpmbjgNZiS5scn8JegpX0YVjodzVcA7Sjku2hOwQ7aqEBkzPV35dU2F1woqnXyjrorRxPtD73YF7RTyw0xEkA=="
#> 
#> [[1]]$StartAfter
#> character(0)
#> 
#> [[1]]$RequestCharged
#> character(0)
#> 
#> 
#> [[2]]
#> [[2]]$IsTruncated
#> [1] TRUE
#> 
#> [[2]]$Contents
#> [[2]]$Contents[[1]]
#> [[2]]$Contents[[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv.metadata"
#> 
#> [[2]]$Contents[[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[2]]$Contents[[1]]$ETag
#> [1] "\"c334831a6e4f929597da86fce347b8ca\""
#> 
#> [[2]]$Contents[[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[2]]$Contents[[1]]$Size
#> [1] 81
#> 
#> [[2]]$Contents[[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[2]]$Contents[[1]]$Owner
#> [[2]]$Contents[[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[2]]$Contents[[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[2]]$Contents[[1]]$RestoreStatus
#> [[2]]$Contents[[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[2]]$Contents[[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[2]]$Name
#> [1] "mybucket"
#> 
#> [[2]]$Prefix
#> [1] "athena-query"
#> 
#> [[2]]$Delimiter
#> character(0)
#> 
#> [[2]]$MaxKeys
#> [1] 1
#> 
#> [[2]]$CommonPrefixes
#> list()
#> 
#> [[2]]$EncodingType
#> character(0)
#> 
#> [[2]]$KeyCount
#> [1] 1
#> 
#> [[2]]$ContinuationToken
#> [1] "18ZZ9e3eKJyK1y2021ujq5l8I7vkZEEeejBpmbjgNZiS5scn8JegpX0YVjodzVcA7Sjku2hOwQ7aqEBkzPV35dU2F1woqnXyjrorRxPtD73YF7RTyw0xEkA=="
#> 
#> [[2]]$NextContinuationToken
#> [1] "1c2PSR9wdJ59KInAnSukBrAo29OyRUWD94cN8+vbPu6T6qd0v9OJIIZZDarrpEYoYCYxqmDukuPCf6ozkBoyU9rkGV3GwwO9ZPpCl5EUcvFU="
#> 
#> [[2]]$StartAfter
#> character(0)
#> 
#> [[2]]$RequestCharged
#> character(0)

run_paginate_v1 <- function(bucket, prefix = NULL){
  svc <- s3()
  paginate(
    svc$list_objects_v2(
      Bucket = bucket,
      Prefix = prefix
    ),
    PageSize = 1,
    MaxItems = 2
  )
}

run_paginate_v2 <- function(bucket, prefix = NULL){
  svc <- s3()
  svc$list_objects_v2(
    Bucket = bucket,
    Prefix = prefix
  ) |> paginate(
    PageSize = 1,
    MaxItems = 2
  )
}

run_paginate_v3 <- function(bucket, prefix = NULL){
  svc <- s3()

  kwargs <- list(
    Bucket = bucket,
    Prefix = prefix
  )

  do.call(svc$list_objects_v2, kwargs) |>
    paginate(PageSize = 1, MaxItems = 2)
}

run_paginate_v4 <- function(bucket, prefix = NULL){
  svc <- s3()

  kwargs <- list(
    Bucket = bucket,
    Prefix = prefix
  )

  do.call(svc$list_objects_v2, kwargs) |>
    paginate_lapply(\(resp) resp$Contents, PageSize = 1, MaxItems = 2)
}

run_paginate_v1(
  bucket = test_bucket,
  prefix = test_prefix
)
#> [[1]]
#> [[1]]$IsTruncated
#> [1] TRUE
#> 
#> [[1]]$Contents
#> [[1]]$Contents[[1]]
#> [[1]]$Contents[[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv"
#> 
#> [[1]]$Contents[[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[1]]$Contents[[1]]$ETag
#> [1] "\"f2849e589122ef3633f67761a75792d0\""
#> 
#> [[1]]$Contents[[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[1]]$Contents[[1]]$Size
#> [1] 16
#> 
#> [[1]]$Contents[[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[1]]$Contents[[1]]$Owner
#> [[1]]$Contents[[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[1]]$Contents[[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[1]]$Contents[[1]]$RestoreStatus
#> [[1]]$Contents[[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[1]]$Contents[[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[1]]$Name
#> [1] "mybucket"
#> 
#> [[1]]$Prefix
#> [1] "athena-query"
#> 
#> [[1]]$Delimiter
#> character(0)
#> 
#> [[1]]$MaxKeys
#> [1] 1
#> 
#> [[1]]$CommonPrefixes
#> list()
#> 
#> [[1]]$EncodingType
#> character(0)
#> 
#> [[1]]$KeyCount
#> [1] 1
#> 
#> [[1]]$ContinuationToken
#> character(0)
#> 
#> [[1]]$NextContinuationToken
#> [1] "1vV1fkf3oZxJvycrz8OHA2FQIiK7G/NoNTFQRxEzcGNAWSInscBI7FQ7vv18rJC90mgpNa9b296IwqmrJsmuC5Qvn26jC/I71PeSMNnpScOWo9OinN//f8g=="
#> 
#> [[1]]$StartAfter
#> character(0)
#> 
#> [[1]]$RequestCharged
#> character(0)
#> 
#> 
#> [[2]]
#> [[2]]$IsTruncated
#> [1] TRUE
#> 
#> [[2]]$Contents
#> [[2]]$Contents[[1]]
#> [[2]]$Contents[[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv.metadata"
#> 
#> [[2]]$Contents[[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[2]]$Contents[[1]]$ETag
#> [1] "\"c334831a6e4f929597da86fce347b8ca\""
#> 
#> [[2]]$Contents[[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[2]]$Contents[[1]]$Size
#> [1] 81
#> 
#> [[2]]$Contents[[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[2]]$Contents[[1]]$Owner
#> [[2]]$Contents[[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[2]]$Contents[[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[2]]$Contents[[1]]$RestoreStatus
#> [[2]]$Contents[[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[2]]$Contents[[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[2]]$Name
#> [1] "mybucket"
#> 
#> [[2]]$Prefix
#> [1] "athena-query"
#> 
#> [[2]]$Delimiter
#> character(0)
#> 
#> [[2]]$MaxKeys
#> [1] 1
#> 
#> [[2]]$CommonPrefixes
#> list()
#> 
#> [[2]]$EncodingType
#> character(0)
#> 
#> [[2]]$KeyCount
#> [1] 1
#> 
#> [[2]]$ContinuationToken
#> [1] "1vV1fkf3oZxJvycrz8OHA2FQIiK7G/NoNTFQRxEzcGNAWSInscBI7FQ7vv18rJC90mgpNa9b296IwqmrJsmuC5Qvn26jC/I71PeSMNnpScOWo9OinN//f8g=="
#> 
#> [[2]]$NextContinuationToken
#> [1] "1WDXfZOspQZDyuXPBj1qvAS8GjNlcMBR/vr2OW/3cpJVRwewkciZ+hmcA52PPBIY6oiP4JGmjL9POs022CB18MuOcDxss30N78rscH9ABLnA="
#> 
#> [[2]]$StartAfter
#> character(0)
#> 
#> [[2]]$RequestCharged
#> character(0)

run_paginate_v2(
  bucket = test_bucket,
  prefix = test_prefix
)
#> [[1]]
#> [[1]]$IsTruncated
#> [1] TRUE
#> 
#> [[1]]$Contents
#> [[1]]$Contents[[1]]
#> [[1]]$Contents[[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv"
#> 
#> [[1]]$Contents[[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[1]]$Contents[[1]]$ETag
#> [1] "\"f2849e589122ef3633f67761a75792d0\""
#> 
#> [[1]]$Contents[[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[1]]$Contents[[1]]$Size
#> [1] 16
#> 
#> [[1]]$Contents[[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[1]]$Contents[[1]]$Owner
#> [[1]]$Contents[[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[1]]$Contents[[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[1]]$Contents[[1]]$RestoreStatus
#> [[1]]$Contents[[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[1]]$Contents[[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[1]]$Name
#> [1] "mybucket"
#> 
#> [[1]]$Prefix
#> [1] "athena-query"
#> 
#> [[1]]$Delimiter
#> character(0)
#> 
#> [[1]]$MaxKeys
#> [1] 1
#> 
#> [[1]]$CommonPrefixes
#> list()
#> 
#> [[1]]$EncodingType
#> character(0)
#> 
#> [[1]]$KeyCount
#> [1] 1
#> 
#> [[1]]$ContinuationToken
#> character(0)
#> 
#> [[1]]$NextContinuationToken
#> [1] "1AdETUUdPlHdF5revctWii3krZBdjRfLrlFIVSPpKxJTmUUpKZUFfx6CCuYUG+Zj4Xc4sbEycxXJrxxSwN6YAZt1VGlqeAb8Y3Seuz3ZgYw+i8eYHq/sBkw=="
#> 
#> [[1]]$StartAfter
#> character(0)
#> 
#> [[1]]$RequestCharged
#> character(0)
#> 
#> 
#> [[2]]
#> [[2]]$IsTruncated
#> [1] TRUE
#> 
#> [[2]]$Contents
#> [[2]]$Contents[[1]]
#> [[2]]$Contents[[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv.metadata"
#> 
#> [[2]]$Contents[[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[2]]$Contents[[1]]$ETag
#> [1] "\"c334831a6e4f929597da86fce347b8ca\""
#> 
#> [[2]]$Contents[[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[2]]$Contents[[1]]$Size
#> [1] 81
#> 
#> [[2]]$Contents[[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[2]]$Contents[[1]]$Owner
#> [[2]]$Contents[[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[2]]$Contents[[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[2]]$Contents[[1]]$RestoreStatus
#> [[2]]$Contents[[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[2]]$Contents[[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[2]]$Name
#> [1] "mybucket"
#> 
#> [[2]]$Prefix
#> [1] "athena-query"
#> 
#> [[2]]$Delimiter
#> character(0)
#> 
#> [[2]]$MaxKeys
#> [1] 1
#> 
#> [[2]]$CommonPrefixes
#> list()
#> 
#> [[2]]$EncodingType
#> character(0)
#> 
#> [[2]]$KeyCount
#> [1] 1
#> 
#> [[2]]$ContinuationToken
#> [1] "1AdETUUdPlHdF5revctWii3krZBdjRfLrlFIVSPpKxJTmUUpKZUFfx6CCuYUG+Zj4Xc4sbEycxXJrxxSwN6YAZt1VGlqeAb8Y3Seuz3ZgYw+i8eYHq/sBkw=="
#> 
#> [[2]]$NextContinuationToken
#> [1] "1J1gIjIJzdbLgJ8JDXL+Zryij1Q9LnujDsO9zW6VLbtGfGvUc2jLbfvvKyHDhARO+hmZZ4v+UUUS1EG+lBALmp6OryQbFKxN9prINVJ7BTNE="
#> 
#> [[2]]$StartAfter
#> character(0)
#> 
#> [[2]]$RequestCharged
#> character(0)

run_paginate_v3(
  bucket = test_bucket,
  prefix = test_prefix
)
#> [[1]]
#> [[1]]$IsTruncated
#> [1] TRUE
#> 
#> [[1]]$Contents
#> [[1]]$Contents[[1]]
#> [[1]]$Contents[[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv"
#> 
#> [[1]]$Contents[[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[1]]$Contents[[1]]$ETag
#> [1] "\"f2849e589122ef3633f67761a75792d0\""
#> 
#> [[1]]$Contents[[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[1]]$Contents[[1]]$Size
#> [1] 16
#> 
#> [[1]]$Contents[[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[1]]$Contents[[1]]$Owner
#> [[1]]$Contents[[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[1]]$Contents[[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[1]]$Contents[[1]]$RestoreStatus
#> [[1]]$Contents[[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[1]]$Contents[[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[1]]$Name
#> [1] "mybucket"
#> 
#> [[1]]$Prefix
#> [1] "athena-query"
#> 
#> [[1]]$Delimiter
#> character(0)
#> 
#> [[1]]$MaxKeys
#> [1] 1
#> 
#> [[1]]$CommonPrefixes
#> list()
#> 
#> [[1]]$EncodingType
#> character(0)
#> 
#> [[1]]$KeyCount
#> [1] 1
#> 
#> [[1]]$ContinuationToken
#> character(0)
#> 
#> [[1]]$NextContinuationToken
#> [1] "1IhnNgE/5lfG0JfH1djiZWAAjIMXrt6EdOVLElRTXfMrwugtTix0PTaCdQe2i/tSelMAW3y2/aNd8xbHGzRwJj/ZU59+lpAKo1bvHpUsyz61LVLPZ1+TnJg=="
#> 
#> [[1]]$StartAfter
#> character(0)
#> 
#> [[1]]$RequestCharged
#> character(0)
#> 
#> 
#> [[2]]
#> [[2]]$IsTruncated
#> [1] TRUE
#> 
#> [[2]]$Contents
#> [[2]]$Contents[[1]]
#> [[2]]$Contents[[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv.metadata"
#> 
#> [[2]]$Contents[[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[2]]$Contents[[1]]$ETag
#> [1] "\"c334831a6e4f929597da86fce347b8ca\""
#> 
#> [[2]]$Contents[[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[2]]$Contents[[1]]$Size
#> [1] 81
#> 
#> [[2]]$Contents[[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[2]]$Contents[[1]]$Owner
#> [[2]]$Contents[[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[2]]$Contents[[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[2]]$Contents[[1]]$RestoreStatus
#> [[2]]$Contents[[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[2]]$Contents[[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[2]]$Name
#> [1] "mybucket"
#> 
#> [[2]]$Prefix
#> [1] "athena-query"
#> 
#> [[2]]$Delimiter
#> character(0)
#> 
#> [[2]]$MaxKeys
#> [1] 1
#> 
#> [[2]]$CommonPrefixes
#> list()
#> 
#> [[2]]$EncodingType
#> character(0)
#> 
#> [[2]]$KeyCount
#> [1] 1
#> 
#> [[2]]$ContinuationToken
#> [1] "1IhnNgE/5lfG0JfH1djiZWAAjIMXrt6EdOVLElRTXfMrwugtTix0PTaCdQe2i/tSelMAW3y2/aNd8xbHGzRwJj/ZU59+lpAKo1bvHpUsyz61LVLPZ1+TnJg=="
#> 
#> [[2]]$NextContinuationToken
#> [1] "1FqfDvecHh+QcwZuaSO8zg0XkPnSwlylnvrgl6fPbK+30Ea70WaHTd1WfxlcPWF4exDsSVMYGiQqrezS6EfPb//9JW7EK2Pp32BZcsMrCZsg="
#> 
#> [[2]]$StartAfter
#> character(0)
#> 
#> [[2]]$RequestCharged
#> character(0)

run_paginate_v4(
  bucket = test_bucket,
  prefix = test_prefix
)
#> [[1]]
#> [[1]][[1]]
#> [[1]][[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv"
#> 
#> [[1]][[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[1]][[1]]$ETag
#> [1] "\"f2849e589122ef3633f67761a75792d0\""
#> 
#> [[1]][[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[1]][[1]]$Size
#> [1] 16
#> 
#> [[1]][[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[1]][[1]]$Owner
#> [[1]][[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[1]][[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[1]][[1]]$RestoreStatus
#> [[1]][[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[1]][[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0
#> 
#> 
#> 
#> 
#> [[2]]
#> [[2]][[1]]
#> [[2]][[1]]$Key
#> [1] "athena-query/00373c26-d3d8-4a32-b9a8-5ba26b422bca.csv.metadata"
#> 
#> [[2]][[1]]$LastModified
#> [1] "2023-07-24 08:40:29 GMT"
#> 
#> [[2]][[1]]$ETag
#> [1] "\"c334831a6e4f929597da86fce347b8ca\""
#> 
#> [[2]][[1]]$ChecksumAlgorithm
#> list()
#> 
#> [[2]][[1]]$Size
#> [1] 81
#> 
#> [[2]][[1]]$StorageClass
#> [1] "STANDARD"
#> 
#> [[2]][[1]]$Owner
#> [[2]][[1]]$Owner$DisplayName
#> character(0)
#> 
#> [[2]][[1]]$Owner$ID
#> character(0)
#> 
#> 
#> [[2]][[1]]$RestoreStatus
#> [[2]][[1]]$RestoreStatus$IsRestoreInProgress
#> logical(0)
#> 
#> [[2]][[1]]$RestoreStatus$RestoreExpiryDate
#> POSIXct of length 0

Created on 2023-10-25 with reprex v2.0.2

fh-mthomson commented 10 months ago

wow, thank you for the quick fix!!

DyfanJones commented 9 months ago

Closing this ticket as paws.common 0.6.3 has been released to the cran.