Pass fileDatastore explicit AWS credentials
1 view (last 30 days)
Show older comments
Hi,
I have two different AWS accounts and ideally I'd like to switch between them. From reading the setenv documentation I understand it overwrites the system's variables, which is something that I want to avoid (variables AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY are used by other non-Matlab applications).
Any workaround for the first line of the following code? Many thanks
setenv('AWS_ACCESS_KEY_ID', getenv('AWS_ACCESS_KEY_ID_PERSONAL'));
ds = fileDatastore(s3_path, 'ReadFcn', @load, 'FileExtensions', {'.mat'});
ds.preview
0 Comments
Answers (1)
Rick Amos
on 14 May 2019
It is currently not possible to pass explicit credentials directly into fileDatastore. Datastore retrieves the credentials in the same way as the Amazon command line interface, either from environment variables or from the Configuration and Credential pair of files as described by Amazon.
With that said, different processes can have their own credentials. The setenv function in MATLAB affects only the MATLAB process itself, as well as any application launched by calling the system function in MATLAB. It is safe to use setenv in MATLAB, all other applications outside of MATLAB will continue to see their own copy of the environment variables and use their own credentials.
0 Comments
See Also
Categories
Find more on Whos in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!