Aperture REST API calls as Datasets within Aperture
Answers
-
Hi @Marco_13112001 , I think it's likely that an error is being written to the Data Studio app log (datastudio.log) at the point when you're trying to view the rows. Could you check and let me know what the error is if you find one?
0 -
Hi @Henry Simms, see below also I've the attached the log extraction related with the error.
2025-04-03 07:56:05,943 ERROR c.e.d.c.e.ErrorLogger [workpool-server-lowmem-executor-worker-8450] Error 66: 4009: Exception thrown by builder
com.experian.datastudio.common.exceptions.ExecutionException: 4009: Exception thrown by builder
at com.experian.datastudio.resource.ExecutorServiceBuilderWorkPool.maybeHandleException(ExecutorServiceBuilderWorkPool.java:385) ~[resource-2.16.2.jar:?]
at com.experian.datastudio.resource.ExecutorServiceBuilderWorkPool.workBuilder(ExecutorServiceBuilderWorkPool.java:373) ~[resource-2.16.2.jar:?]
at com.experian.datastudio.resource.ExecutorServiceBuilderWorkPool.lambda$new$0(ExecutorServiceBuilderWorkPool.java:114) ~[resource-2.16.2.jar:?]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: java.io.IOException: java.sql.SQLException: [ApertureDataStudio][AutoREST JDBC Driver][AutoREST]REST Status 400 Bad Request returned for GET https://experian-dev.surreycc.local/api/1/datasets
Caused by: com.experian.aperturedatastudio.jdbc.autorest.phoenix.api.core.aa: GET https://experian-dev.surreycc.local/api/1/datasets 400 Bad Request in statement [SELECT "ID","UUID","TYPE","NAME","SUMMARY","DESCRIPTION","EXTERNALLABEL","ENABLEDROPZONE","PUBLISHODATA","BATCHSETTINGS","BATCHLIMIT","ALLOWBATCHDELETION","ALLOWAUTOREFRESH","SPACENAME","SPACEID","SOURCE_SOURCETYPE","SOURCE_SYSTEM_ID","SOURCE_SYSTEM_UUID","SOURCE_SYSTEM_NAME","SOURCE_SYSTEM_DESCRIPTION","SOURCE_SYSTEM_TYPE","SOURCE_CREDENTIALS_ID","SOURCE_CREDENTIALS_UUID","SOURCE_CREDENTIALS_NAME" FROM "DATASETS"]
at com.experian.datastudio.common.utility.IOUtils.toIOException(IOUtils.java:25) ~[common-2.16.2.jar:?]
at com.experian.datastudio.datasource.connection.jdbc.JdbcSystemConnection.newRowIteratorCore(JdbcSystemConnection.java:769) ~[datasource-0.1.0.jar:?]
at com.experian.datastudio.datasource.connection.jdbc.JdbcSystemConnection.newRowIterator(JdbcSystemConnection.java:727) ~[datasource-0.1.0.jar:?]
at com.experian.datastudio.workflow.common.LoadDataUtils.lambda$loadDatasetBatches$1(LoadDataUtils.java:317) ~[workflowcommon-2.16.2.jar:?]
at com.experian.datastudio.resource.loader.PooledDatasetLoader.hasWork(PooledDatasetLoader.java:186) ~[resource-2.16.2.jar:?]
at com.experian.datastudio.resource.ExecutorServiceBuilderWorkPool.runWorkLoop(ExecutorServiceBuilderWorkPool.java:397) ~[resource-2.16.2.jar:?]
at com.experian.datastudio.resource.ExecutorServiceBuilderWorkPool.workBuilder(ExecutorServiceBuilderWorkPool.java:356) ~[resource-2.16.2.jar:?]
... 6 more0 -
@Henry Simms I've isolated one the issues, please see below.
[ApertureDataStudio][AutoREST JDBC Driver][AutoREST]REST Status 400 Bad Request returned for GET https://experian-dev.surreycc.local/api/1/datasets Caused by: com.experian.aperturedatastudio.jdbc.autorest.phoenix.api.core.aa: GET https://experian-dev.surreycc.local/api/1/datasets 400 Bad Request in statement [SELECT "ID","UUID","TYPE","NAME","SUMMARY","DESCRIPTION","EXTERNALLABEL","SPACENAME","SPACEID","SOURCE_SOURCETYPE","SOURCE_SYSTEM_ID","SOURCE_SYSTEM_UUID","SOURCE_SYSTEM_NAME","SOURCE_SYSTEM_DESCRIPTION","SOURCE_SYSTEM_TYPE","SOURCE_CREDENTIALS_ID","SOURCE_CREDENTIALS_UUID","SOURCE_CREDENTIALS_NAME" FROM "DATASETS"]
0 -
@Henry Simms @Josh Boxer I've got the same issue when trying to retrieve a dataset list for our Development environment using Swager 'list of Dataset' endpoint. Is this an issue with our local setup configuration?
0 -
I'm still encountering issues with the problem mentioned above and haven’t been able to resolve it. Would it be possible to get some support or guidance on this?
Additionally, I’ve attempted to use the list dataset endpoint(Swagger UI), but it doesn’t appear to be working as expected either.
Any assistance would be greatly appreciated.
0 -
@Marco_13112001 The issue with the SQL error you posted above is that there is no 'DATASETS' table in Data Studio. The correct table name should be 'DATASET'. If I understand correctly, this is using the autoRestJDBC driver which needs a config file. Perhaps you could correct the table name in this config file, and see whether that helps?
As for the swagger endpoint not working - what is the error?
Thanks,
Ian
0 -
@Ian Hayden Thanks for the reply. Please see screenshot containing the details of the API call, including error. Also, I've changed the table name to DATASET as per your your suggestion but still getting the same error, which only occurs when trying to retrieve dataset information i.e., DATASET, DATASETS_TABLES, etc….
0 -
@Marco_13112001 Did you authorise yourself within the swagger API?
The error strongly suggests you didn't. :-)
0 -
@Ian Hayden Yes, I've created a key and applied it
0 -
Hi Marco - The only scenario where I reproduce your issue (400 rather than 401 error where the URL otherwise looks to be constructed correctly) is where the "environment external label" used to authenticate the API calls in the AutoREST External System config is "default", but there are no layouts with this label.
So in your External System config you have:
But your environments do not include the "default" (it's been deleted):
Please can you confirm that in the External System config, the "environment external label" part of the SecurityToken matches the external label of the environment in which the API token was created?
0 -
@Henry Simms Thanks for the reply. Yes, I can confirm that the external label added to the security token matches the external label of the environment in which the API token was created.
0 -
An update on the above error (GET https://experian-dev.surreycc.local/api/1/datasets 400 Bad Request when trying to load a Dataset from the Data Studio API via AutoREST). Some further investigation shows that the REST API Call itself is returning an error, and we're investigating the undelyingcause. The AutoREST External System itself looks to be set up correctly.
If anyone runs into a similar issue, I would suggest testing the REST API call using the interactive API reference is available in Swagger UI.
Here's the error we're seeing:
A successful API call should look like this:
0