synCreateExternalS3FileHandle | R Documentation |
Create an external S3 file handle for e.g. a file that has been uploaded directly to an external S3 storage location.
synCreateExternalS3FileHandle(bucket_name, s3_file_key, file_path, parent=NULL, storage_location_id=NULL, mimetype=NULL, md5=NULL)
bucket_name |
Name of the S3 bucket |
s3_file_key |
S3 key of the uploaded object |
file_path |
Local path of the uploaded file |
parent |
Parent entity to create the file handle in, the file handle will be created in the default storage location of the parent. Mutually exclusive with storage_location_id |
storage_location_id |
Explicit storage location id to create the file handle in, mutually exclusive with parent |
mimetype |
Mimetype of the file, if known |
md5 |
MD5 of the file, if known |
If neither parent nor storage_location_id is specified, or if both are specified.
## Not run:
library("aws.s3")
# create a storage location
folder_and_storage_location <- synCreateS3StorageLocation(parent='syn123', folder_name='test_folder', bucket_name='aws-bucket-name', base_key='test', sts_enabled=TRUE)
storage_location <- folder_and_storage_location[[2]]
# get a write permission token
folder <- folder_and_storage_location[[1]]
folder_id <- folder$properties$id
sts_write_token <- synGetStsStorageToken(entity=folder_id, permission='read_write', output_format='json')
# configure the environment with AWS token
Sys.setenv('AWS_ACCESS_KEY_ID'=sts_write_token$accessKeyId, 'AWS_SECRET_ACCESS_KEY'=sts_write_token$secretAccessKey, 'AWS_SESSION_TOKEN'=sts_write_token$sessionToken)
# upload a file directly to s3
put_object(file='/tmp/foo.txt', object='test/foo.txt', bucket='aws-bucket-name', acl= 'bucket-owner-full-control')
# create a file handle for the object
synCreateExternalS3FileHandle(bucket_name='aws-bucket-name', s3_file_key='test/foo.txt', file_path='/tmp/foo.txt', storage_location_id=storage_location$storageLocationId)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.