DatasetUtils is a reference implementation of the Einstein Analytics External Data API. This tool is free to use, but it is not officially supported by Salesforce. This is a community project that have not been officially tested or documented. Please do not contact Salesforce for support when using this application.
Download the latest version from releases and follow the examples below:
Download and install Java JDK (not JRE) from Zulu Open JDK
After installation is complete. Different versions of DatasetUtils require different versions of JDK, the latest release API 47 requires JDK 11. Open a console and check that the java version is correct for your DatasetUtils version by running the following command:
java -version
Windows:
Unzip datasetutils.zip to a local folder. To start the jar in server mode: Double click on run.bat
Mac:
Install datasetutils.dmg by double clicking it and dragging and dropping it into applications folder.
Run datasetutils.app by double clicking it
Best is to run in interactive mode. open a terminal and type in the following command and follow the prompts on the console:
java -jar datasetutil-<version>.jar --server false
Or you can pass in all the param in the command line and let it run uninterrupted.
java -jar datasetutil-<version>.jar --action <action> --u <[email protected]> --dataset <dataset> --app <app> --inputFile <inputFile> --endpoint <endPoint>
Input Parameter
--action :"load" OR "defineExtractFlow" OR "defineAugmentFlow" OR "downloadxmd" OR "uploadxmd" OR "detectEncoding" OR "downloadErrorFile"
load: for loading csv
defineAugmentFlow: for augmenting existing datasets
downloadxmd: to download existing xmd files
uploadxmd: for uploading user.xmd.json
defineExtractFlow: for extracting data from Salesforce
detectEncoding: To detect the encoding of the inputFile
downloadErrorFile: To downloading the error file for csv upload jobs
--u : Salesforce.com login
--p : (Optional) Salesforce.com password,if omitted you will be prompted
--token : (Optional) Salesforce.com token
--endpoint: (Optional) The Salesforce soap api endpoint (test/prod) Default: https://login.salesforce.com
--dataset : (Optional) the dataset alias. required if action=load
--datasetLabel : (Optional) the dataset label, Defaults to dataset alias.
--app : (Optional) the app/folder name for the dataset
--operation : (Optional) the operation for load (Overwrite/Upsert/Append/Delete) Default is Overwrite
--inputFile : (Optional) the input csv file. required if action=load
--rootObject: (Optional) the root SObject for the extract
--rowLimit: (Optional) the number of rows to extract, -1=all, default=1000
--sessionId : (Optional) the Salesforce sessionId. if specified,specify endpoint
--fileEncoding : (Optional) the encoding of the inputFile default UTF-8
--CodingErrorAction:(optional) What to do in case input characters are not UTF8: IGNORE|REPORT|REPLACE. Default REPORT. If you change this option you risk importing garbage characters
--uploadFormat : (Optional) the whether to upload as binary or csv. default binary");
OR
--server : set this to true if you want to run this in server mode and use the UI. If you give this param all other params will be ignored
java -jar datasetutils-32.0.0.jar --server true
java -jar datasetutils-32.0.0.jar --action load --u [email protected] --p @#@#@# --inputFile Opportunity.csv --dataset puntest
java -jar datasetutils-32.0.0.jar --action downloadxmd --u [email protected] --p @#@#@# --dataset puntest
java -jar datasetutils-32.0.0.jar --action uploadxmd --u [email protected] --p @#@#@# --inputFile user.xmd.json --dataset puntest
java -jar datasetutils-32.0.0.jar --action defineAugmentFlow --u [email protected] --p @#@#@#
java -jar datasetutils-32.0.0.jar --action defineExtractFlow --u [email protected] --p @#@#@# --rootObject OpportunityLineItem
java -jar datasetutils-32.0.0.jar --action detectEncoding --inputFile Opportunity.csv
java -jar datasetutils-32.0.0.jar --action downloadErrorFile --u [email protected] --p @#@#@# --dataset puntest
git clone [email protected]:timbezold/datasetutils.git
mvn clean install