Open TheFutonEng opened 1 year ago
Hi TheFutonEng,
In short, no. Originally this package was pinned to JDK 7 to enable support of quite old releases of MATLAB, more recent releases use a 1.8 JVM (type ver in MATLAB to check). I agree 7 is pretty old now and the doc should strictly say JDK 7 to JDK X, where X is the last release to support 1.7 as a target or indeed just require JDK 8 as a minimum now. Updating the Software/Java/pom.xml file lines 52 and 53 to 1.8 instead of 1.7 and rebuilding the Jar file (mvn clean package) with a later JDK should work, a very recent JDK may no longer support a 1.8 target but Maven should give a clear message in that case. 8 & 11 are typically used for internal testing of this package. We'll update this in a future release, pending some further testing across the other related AWS packages. If you've any problem with this change contact the support address on the repo home page and we can arrange a call to investigate.
Also be sure to check out if MATLAB's integrated S3 support meets your needs, most of MATLAB's IO functions support an "s3://" style path in recent releases: https://www.mathworks.com/help/matlab/import_export/work-with-remote-data.html
Thanks for the question.
@brownemi, thanks for the quick reply. Below is the output of ver
and the Java version is indeed 1.8.
I'm basically looking to save data from a scenario to an S3 bucket from one machine and then import that same data onto another machine. Will the integrated S3 support permit that? I assume yes, just figured I would ask the question 🙂
>> ver
-----------------------------------------------------------------------------------------------------
MATLAB Version: 9.12.0.2009381 (R2022a) Update 4
MATLAB License Number: DEMO
Operating System: Linux 5.4.0-122-generic #138-Ubuntu SMP Wed Jun 22 15:00:31 UTC 2022 x86_64
Java Version: Java 1.8.0_202-b08 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
-----------------------------------------------------------------------------------------------------
MATLAB Version 9.12 (R2022a)
Simulink Version 10.5 (R2022a)
Aerospace Blockset Version 5.2 (R2022a)
Aerospace Toolbox Version 4.2 (R2022a)
Antenna Toolbox Version 5.2 (R2022a)
Audio Toolbox Version 3.2 (R2022a)
Bioinformatics Toolbox Version 4.16 (R2022a)
Bluetooth Toolbox Version 1.0 (R2022a)
Communications Toolbox Version 7.7 (R2022a)
Computer Vision Toolbox Version 10.2 (R2022a)
Control System Toolbox Version 10.11.1 (R2022a)
Curve Fitting Toolbox Version 3.7 (R2022a)
DSP System Toolbox Version 9.14 (R2022a)
Database Toolbox Version 10.3 (R2022a)
Datafeed Toolbox Version 6.2 (R2022a)
Deep Learning Toolbox Version 14.4 (R2022a)
Econometrics Toolbox Version 6.0 (R2022a)
Financial Instruments Toolbox Version 3.4 (R2022a)
Financial Toolbox Version 6.3 (R2022a)
Fixed-Point Designer Version 7.4 (R2022a)
Fuzzy Logic Toolbox Version 2.9 (R2022a)
Global Optimization Toolbox Version 4.7 (R2022a)
Image Acquisition Toolbox Version 6.6 (R2022a)
Image Processing Toolbox Version 11.5 (R2022a)
Industrial Communication Toolbox Version 6.0 (R2022a)
Instrument Control Toolbox Version 4.6 (R2022a)
Lidar Toolbox Version 2.1 (R2022a)
MATLAB Report Generator Version 5.12 (R2022a)
Mapping Toolbox Version 5.3 (R2022a)
Mixed-Signal Blockset Version 2.2 (R2022a)
Model Predictive Control Toolbox Version 7.3 (R2022a)
Motor Control Blockset Version 1.4 (R2022a)
Navigation Toolbox Version 2.2 (R2022a)
Optimization Toolbox Version 9.3 (R2022a)
Parallel Computing Toolbox Version 7.6 (R2022a)
Partial Differential Equation Toolbox Version 3.8 (R2022a)
Phased Array System Toolbox Version 4.7 (R2022a)
Predictive Maintenance Toolbox Version 2.5 (R2022a)
RF Blockset Version 8.3 (R2022a)
RF PCB Toolbox Version 1.1 (R2022a)
RF Toolbox Version 4.3 (R2022a)
ROS Toolbox Version 1.5 (R2022a)
Radar Toolbox Version 1.2 (R2022a)
Reinforcement Learning Toolbox Version 2.2 (R2022a)
Requirements Toolbox Version 2.0 (R2022a)
Risk Management Toolbox Version 2.0 (R2022a)
Robotics System Toolbox Version 4.0 (R2022a)
Robust Control Toolbox Version 6.11.1 (R2022a)
Satellite Communications Toolbox Version 1.2 (R2022a)
Sensor Fusion and Tracking Toolbox Version 2.3 (R2022a)
Signal Integrity Toolbox Version 1.1 (R2022a)
Signal Processing Toolbox Version 9.0 (R2022a)
SimBiology Version 6.3 (R2022a)
SimEvents Version 5.11 (R2022a)
Simscape Version 5.3 (R2022a)
Simscape Driveline Version 3.5 (R2022a)
Simscape Electrical Version 7.7 (R2022a)
Simscape Fluids Version 3.4 (R2022a)
Simscape Multibody Version 7.5 (R2022a)
Simulink 3D Animation Version 9.4 (R2022a)
Simulink Check Version 6.0 (R2022a)
Simulink Control Design Version 6.1 (R2022a)
Simulink Coverage Version 5.4 (R2022a)
Simulink Design Optimization Version 3.11 (R2022a)
Simulink Report Generator Version 5.12 (R2022a)
Simulink Test Version 3.6 (R2022a)
SoC Blockset Version 1.6 (R2022a)
Stateflow Version 10.6 (R2022a)
Statistics and Machine Learning Toolbox Version 12.3 (R2022a)
Symbolic Math Toolbox Version 9.1 (R2022a)
System Composer Version 2.2 (R2022a)
System Identification Toolbox Version 9.16 (R2022a)
Text Analytics Toolbox Version 1.8.1 (R2022a)
UAV Toolbox Version 1.3 (R2022a)
Vehicle Network Toolbox Version 5.2 (R2022a)
Wavelet Toolbox Version 6.1 (R2022a)
Wireless Testbench Version 1.0 (R2022a)
>>
To clarify the above comment, I'm looking to save data off into an on prem object store provided by MinIO. Does that change the equation here at all? This thread, though old, suggests that integration with MinIO is not possible.
Built in support is currently limited to Amazon S3 however this package can be used connect to MinIO. To do so set the endpoint URI before initializing the client as follows, aside from that for basic operations its behavior is very similar regardless of the backend:
s3 = aws.s3.Client();
s3.endpointURI = 'https//myminio:9000';
s3.initialize();
@brownemi, thanks for the info. We tried to leverage this package and honestly it was too difficult to get going. We decided to leverage the built S3 support and we've pivoted to S3 for the short term. I think Matlab would benefit from built in on prem S3 support. Having to mess around with out of support Java version to get that feature I don't think most folks would be ok with.
Are more recent versions of JDK acceptable? JDK 7 was released in 2011 and just exited extended support last month (July 2022).