Skip to content

Releases: paws-r/paws

paws.common-v0.7.0

09 Jan 10:40
f3a64ae
Compare
Choose a tag to compare

New Features: 💡

  • support sse md5 (#718). Thanks to @odysseu for raising issue.

Example of how to use SSECustomerKey and SSECustomerAlgorithm

library(paws)

KEY <- openssl::rand_bytes(32)
BUCKET <- 'mybucket'

client <- s3()
resp1 <- client$put_object(
  Bucket=BUCKET,
  Key='encrypt-key-1',
  Body=charToRaw('foobar'),
  SSECustomerKey= KEY,
  SSECustomerAlgorithm='AES256'
)

resp2 <- client$get_object(
  Bucket=BUCKET,
  Key='encrypt-key-1',
  SSECustomerKey=KEY,
  SSECustomerAlgorithm='AES256'
)
resp2$Body |> rawToChar()
#> [1] "foobar"

# saving key to file for later use:
temp_file <- tempfile()
writeBin(KEY, temp_file)

resp3 <- client$put_object(
  Bucket=BUCKET,
  Key='encrypt-key-2',
  Body=charToRaw('did it work?'),
  SSECustomerKey=readBin(temp_file, "raw", n = file.size(temp_file)),
  SSECustomerAlgorithm='AES256'
)

resp4 <- client$get_object(
  Bucket=BUCKET,
  Key='encrypt-key-2',
  SSECustomerKey=readBin(temp_file, "raw", n = file.size(temp_file)),
  SSECustomerAlgorithm='AES256'
)
resp4$Body |> rawToChar()
#> [1] "did it work?"

Created on 2024-01-09 with reprex v2.0.2

Example:

library(paws)

client = cloudwatchlogs()

pages <- paws.common::paginate(
  client$get_log_events(
    logGroupName = "/aws/sagemaker/NotebookInstances",
    logStreamName = "paws-demo/jupyter.log",
    startFromHead = TRUE
  ),
  StopOnSameToken = TRUE
)
length(pages)
#> [1] 9

Created on 2024-01-09 with reprex v2.0.2

  • support AWS_CONTAINER_CREDENTIALS_FULL_URI environmental variable. This supports services like sagemaker serverless endpoints (#737). Thanks to @ncullen93 for raising issue and testing.

Bug Fix: 🐞

  • fix aws-global region when resolving endpoint (#730). Thanks to @atheriel for identifying the issue.
  • fix default region for service s3 (#730). Thanks to @atheriel for identifying the issue.

Internal: ⚙️

  • tidy up internal function jmespath_index

paws.common 0.6.4

12 Nov 10:00
6ca494b
Compare
Choose a tag to compare

Build Fixes 🐛

  • ensure xml build structure is correctly flattened (#597)
  • fix cache failing to initialize on certain environments. Restrict scope of cached environment variables to only those starting with AWS_* (#706, @fh-mthomson)
  • fix issue of sorting query mapping causing misalignment (#711). Thanks to @matthias-Q for raising issue.

paws.common 0.6.3

06 Nov 20:12
8dcef09
Compare
Choose a tag to compare
  • minor performance improvement for read_ini
  • cache read_ini for improved performance
  • cache unix os environment variables to improve performance on unix systems.
  • support web_identity_token_file in AWS config file thanks to @liuquinlin for implementation.
  • fix paginate functions failing to receive argument inputs when called within a function (#696). Thanks to @fh-mthomson for identifying issue.
  • fix NULL method as.POSIXct.default for older versions of R (#698). Thanks to @gp-dev-pw for identifying issue
  • fix escape function by removing protocol check (#701)

paws.common-v0.6.2

13 Oct 15:26
596de1a
Compare
Choose a tag to compare

New Features:

  • support service specific endpoints (#667). Thanks to @dpprdan for raising ticket and testing methods

Bug fixes:

  • fix how read_ini reads empty profiles from ini files (#680)
  • fix is.atomic behavior for R v4.4+ (#679)

paws.common-v0.6.1

03 Oct 09:37
Compare
Choose a tag to compare

Feature:

Bug Fix:

  • fix how nested structure are parsed from xml (#675)

paws-v0.4.0

15 Sep 16:06
Compare
Choose a tag to compare

New Features:

  • Helper functions config, credentails, cred . These functions build paws config allowing for code complete (linked issues: #421).
library(paws)
client <- s3(config(credentials(profile = "paws")))
library(paws)

client <- s3()

# list client paginators
list_paginators(client)
#> [1] "list_multipart_uploads" "list_object_versions"   "list_objects"          
#> [4] "list_objects_v2"        "list_parts"

# paginate over
resp <- client$list_objects_v2("my-bucket") |> paginate()

Created on 2023-09-15 with reprex v2.0.2

  • Generating pre-signed using s3v4 signature version (linked issues: #645).
library(paws)
client <- s3(config(signature_version = "s3v4"))

client$generate_presigned_url("list_objects", params = list(Bucket = "my-bucket"))

New methods:

applicationinsights:

appstream:

auditmanager:

backup:

cloudformation:

codecommit:

cognitoidentityprovider:

computeoptimizer:

connect:

connectparticipant:

costexplorer:

customerprofile:

elasticache:

emr:

health:

iam:

inspector2:

ivs:

kafka:

kendra:

lexmodelsv2:

lookoutequipment:

managedgrafana:

mq:

personalize:

pi:

Read more

paws.common-v0.6.0

06 Sep 16:44
61e0fb8
Compare
Choose a tag to compare

Performance:

  • use known interface when parsing xml (#619) improving performance by 3-6x. Thanks to @mgirlich for raising, implementing initial method and testing. 🚀

Enhancements:

  • add expiration parameter to creds
  • add signature_version to config (#645)
  • add the ability to paginate paws methods (#30). Note: this prep work for paws 0.4.0
  • overwrite file destination when writing to disk. This mimics python's boto3 sdk behaviour.
  • add standard retry handler (#520). Thanks to @wlandau for testing.

Example:

install.packages('paws', repos = c(pawsr = 'https://paws-r.r-universe.dev', CRAN = 'https://cloud.r-project.org'))

# Note: using paws v0.4.0 to paginate over AWS call to demonstrate the new retry functionality
library(paws)

client <- sagemaker()
resp <- client$list_processing_jobs() |> paginate()

#> ERROR [2023-08-31 15:44:41.206]: Request failed. Retrying in 0.016 seconds...
#> ERROR [2023-08-31 15:44:41.229]: Request failed. Retrying in 3.026 seconds...
#> ERROR [2023-08-31 15:44:44.289]: Request failed. Retrying in 2.505 seconds...
#> Error: ThrottlingException (HTTP 400). Rate exceeded
library(paws)

# increasing max number of retries from default 3 to 10.
client <- s3(config = list(max_retries =  10))

paws-v0.3.0

04 Jul 20:51
Compare
Choose a tag to compare

Service Update:
To find out more please go to: www.paws-r-sdk.com

Fix:
s3_list_parts and s3_list_multipart_uploads return lists with empty elements #608

paws.common-v0.5.6

06 Mar 13:30
6bae69d
Compare
Choose a tag to compare
  • add logging to credentials (#599 thanks to @jonocarroll for contribution)
  • display log output while code is still running (jupyter notebook issue)

paws-v0.2.0

09 Feb 18:33
614fc9b
Compare
Choose a tag to compare

🍾 🎉 🍾 🎉 🍾 🎉 🍾 🎉 paws 0.2.0 has been released onto the cran 🍾 🎉 🍾 🎉 🍾 🎉 🍾 🎉

Key Differences:

  • Package documentation is split into long and short versions. Short versions are stored within the packages. Whereas long version are stored https://paws-r.github.io/. This is to keep each paws package size down.

New Features:

  • paws/paws.storage: support generate_presigned_url

Bug fixes:

  • paws/paws.storage: method upload_part_copy
  • paws/paws.storage: method download_file preserve AWS Region and download object straight to disk.

Following services available on CRAN: