Skip to content

Releases: paws-r/paws

paws-v0.7.0

18 Sep 16:25
45ece0e
Compare
Choose a tag to compare
  • Support hostPrefix when building aws api call. This fixes services like omics #804
  • Regenerated service api

paws.common-v0.7.6

04 Sep 13:07
Compare
Choose a tag to compare

Minor patch update, focusing on aws s3 copy functionality:

  • fix handle_copy_source_param encoding redirected calls.
  • fix handle_copy_source_param removing attributes

paws.common-v0.7.5

23 Aug 12:29
2e950ed
Compare
Choose a tag to compare
  • build endpoint with host_prefix (#804), thanks to @joseale2310 and @lyschoening for raising issue.
  • fix unix_time ensure seconds is numeric (#804), thanks to @joseale2310 and @lyschoening for raising issue.
  • fix stop anonymous credentials removing x-amz-* headers (#815) thanks to @cgostic for raising issue
  • fix s3 redirect for download_file
  • fix encode CopySource in operation CopyObject (#819)
  • enable lists to be passed to CopySource for CopyObject operations (#819). This is to align with boto3 implementation.
library(paws)
client <- s3()

bucket = "BUCKET"
key = "%01file%/output.txt"

resp <- client$put_object(
  Bucket = bucket,
  Key = key,
  Body = charToRaw("helloworld")
)

client$copy_object(
  Bucket = bucket,
  Key = "file_out_1.txt",
  CopySource = sprintf("/%s/%s", bucket, key)
)

client$copy_object(
  Bucket = bucket,
  Key = "file_out_2.txt",
  CopySource = list(
    Bucket = bucket,
    Key = key
  )
)
  • convert uuid to cpp for performance improvement.

paws.common-v0.7.4

08 Jul 15:43
cdd996d
Compare
Choose a tag to compare
  • fix transpose to correctly parse lists with empty first elements (#791), thanks to @FMKerckhof for raising issue.
  • support refreshable credentials for sso (#793)
  • fix region redirect for aws s3 buckets (#788) thanks to @payam-delfi for identifying issue
  • enrich error messages to align with boto3 error message template:
# previous error message format
svc <- paws.storage::s3()
response <- svc$get_object(
  Bucket = "<bucket>",
  Key = "<key>",
  IfNoneMatch = "<etag>"
)
#> Error: SerializationError (HTTP 304). failed to read from query HTTP response body
# new error message format
client <- paws.storage::s3()
resp <- client$get_object(
  Bucket = "<bucket>",
  Key = "<key>",
  IfNoneMatch = "<etag>"
)
#> Error: SerializationError (HTTP 304). An error occurred when calling the GetObject operation: Not Modified
  • use s3 head_bucket operation as final resort when redirecting aws s3 call.

paws-v0.6.0

17 May 09:24
6a2acb1
Compare
Choose a tag to compare

Update paws SDK to the latest services for each category, please check out https://www.paws-r-sdk.com/ for full documentation.

paws.common-v0.7.3

16 May 09:52
44a320c
Compare
Choose a tag to compare

Hot fix

  • fix xml_parse to correctly parse empty elements (#783) thanks to @stevepowell99 for raising issue

paws.common-v0.7.2

10 Apr 09:49
b08cc72
Compare
Choose a tag to compare

Performance: 🚀

  • improve performance of restxml_unmarshal up to ~ x3

New Feature: 💡

  • support global endpoint_url in config file and environmental variables (#764), thanks to @James-G-Hill for raising issue

Bug Fix: 🐞

  • fix rest_unmarshal_location_elements only skip header if location is not found (#761)
  • ensure custom endpoints aren't modified

paws.common-v0.7.1

05 Mar 21:09
83a5017
Compare
Choose a tag to compare

Performance: 🚀

  • minor performance enhancements
  • convert json_convert_string to cpp for significant performance improvement (#754)
  • convert components of resolve_endpoint to cpp to get a x2 performance enhancements

New Feature: 💡

  • export locate_credentials (#750), thanks to @tyner for raising request.

Bug Fix: 🐞

  • fix MIME type for AWS BedrockRuntime Client (#749), thanks to @alex23lemm for raising issue.

paws-v0.5.0

15 Jan 14:29
beb8e31
Compare
Choose a tag to compare

New Methods for paws categories:

  • accessanalyzer
  • appfabric
  • apprunner
  • arczonalshift
  • backup
  • bedrock
  • bedrockruntime
  • billingconductor
  • cloudtraildataservice
  • cloudwatchinternetmonitor
  • cloudwatchlogs
  • cloudwatchobservabilityaccessmanager
  • codecatalyst
  • codecommit
  • codegurusecurity
  • codestarconnections
  • comprehend
  • connect
  • connectcases
  • connectwisdomservice
  • controltower
  • costandusagereportservice
  • customerprofiles
  • datazone
  • detective
  • docdbelastic
  • drs
  • ec2
  • ecr
  • efs
  • eks
  • elasticache
  • elbv2
  • emr
  • entityresolution
  • eventbridgepipes
  • eventbridgescheduler
  • finspace
  • fis
  • fsx
  • globalaccelerator
  • glue
  • guardduty
  • Imagebuilder
  • ivsrealtime
  • kafka
  • kendraranking
  • kinesis
  • lakeformation
  • lexmodelsv2
  • licensemanagerlinuxsubscriptions
  • lookoutequipment
  • marketplacecatalog
  • neptunedata
  • omics
  • opensearchingestion
  • opensearchservice
  • opensearchserviceserverless
  • paymentcryptographycontrolplane
  • paymentcryptographydataplane
  • pcaconnectorad
  • personalizeevents
  • personalizeruntime
  • pinpointsmsvoicev2
  • prometheusservice
  • quicksight
  • rds
  • redshift
  • redshiftserverless
  • rekognition
  • resourceexplorer
  • route53recoverycontrolconfig
  • s3
  • s3control
  • sagemaker
  • sagemakergeospatialcapabilities
  • sagemakermetrics
  • secretsmanager
  • securitylake
  • servicediscovery
  • sfn
  • ssm
  • ssmincidents
  • ssmsap
  • ssoadmin
  • supportapp
  • telconetworkbuilder
  • textract
  • transcribeservice
  • verifiedpermissions
  • vpclattice
  • wellarchitected
  • workmail
  • workspaces

Remove Api methods:

  • Macie

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