Short Description |
Ports |
Metadata |
SalesforceWaveWriter Attributes |
Details |
Best Practices |
Compatibility |
See also |
SalesforceWaveWriter writes data to Salesforce Wave Analytics datasets.
Component | Data output | Input ports | Output ports | Transformation | Transf. req. | Java | CTL | Auto-propagated metadata |
---|---|---|---|---|---|---|---|---|
SalesforceWaveWriter | database | 1 | 2 |
Port type | Number | Required | Description | Metadata |
---|---|---|---|---|
Input | 0 | For records to be inserted | Input 0 | |
Output | 0 | Successful load information | Output 0 | |
1 | Unsuccessful load information | Output 1 |
SalesforceWaveWriter does not propagate metadata.
SalesforceWaveWriter has metadata templates on its output ports.
Table 54.8. SalesforceWaveWriter_Wave_Success - Output port 0
Field number | Field name | Data type | Description |
---|---|---|---|
1 | Status | string | Status of successfully finished load |
Table 54.9. SalesforceWaveWriter_Wave_Error - Output port 1
Field number | Field name | Data type | Description |
---|---|---|---|
1 | Status | string | Status of unsuccessfully finished load. |
2 | StatusMessage | string | A more descriptive message. |
Attribute | Req | Description | Possible values |
---|---|---|---|
Basic | |||
Connection | yes | Salesforce connection. | |
Dataset Name | yes |
Name of the data set. The Dataset Name should contain only alpha-numeric characters and underscore, and it should start with a letter. | E.g. flowers |
Dataset Label | Label of data set to be displayed in wave platform. This property is only used when a dataset is initially created. | E.g. Nice flowers | |
Operation | Operation to be performed on data set | Overwrite (default) | Append | Delete | Upsert | |
Unique ID field | (yes) | An input field that is considered as a unique identifier. It will be used to match records in Upsert operation or select records to delete in Delete operation. Mandatory for Delete and Upsert operations. Forbidden for Append operation. | |
Advanced | |||
Metadata JSON | JSON specifying structure of the loaded dataset. | ||
Metadata JSON File URL | External file with the JSON metadata of the dataset. | ||
Metadata JSON File URL Charset | Character set of Metadata JSON File. | E.g. UTF-8 | |
Result polling interval (seconds) | Time between two checks of result of data upload. |
SalesforceWaveWriter loads records into Wave Analytics. See https://help.salesforce.com/articleView?id=bi.htm&language=en_US&type=0
Overwrite - creates a new dataset or overwrites an existing one.
Append - appends records into an existing dataset.
Delete - deletes records from an existing dataset. The records to be deleted are selected using Unique ID field property.
Upsert - inserts or updates records in an existing dataset. The records are matched using Unique ID field property to decide whether to update or insert.
This example shows the basic use case of writing records to Salesforce Wave. A new dataset in Wave Analytics will be created.
Insert data records containing properties on different car types into Wave Analytics as "car properties" data set.
In SalesforceWaveWriter set Connection, Dataset Name, and Dataset Label.
Attribute | Value |
---|---|
Connection | A Salesforce Connection |
Dataset Name | car_properties |
Dataset Label | car properties |
Note that Dataset name contains underscore character as it should not contain space character.
If you use Metadata JSON File URL attribute, explicitly specify Metadata JSON File URL Charset.
Insert all date fields in UTC timezone. If the timezone of the input fields is different, the values are automatically converted to UTC before upload. This is necessary to ensure correct upload.
You can specify format of date fields inserted to Wave by changing Format property on the input metadata field. For a list of supported date formats, see External Data Metadata Format Reference
Metadata JSON is generated automatically based on Clover metadata on input edge. You can override this behavior by specifying the JSON yourself. Documentation on all possible properties usable in the JSON metadata is available here: External Data Metadata Format Reference
The component uses several Salesforce API calls during its run:
Login
Start the upload job.
Upload the data. A single api call is necessary for every 10MB of data.
Close the upload job.
Get job completion status. This call is repeated in interval specified by Result polling interval attribute until the job is completed.
SalesforceWaveWriter is available since CloverETL 4.5.0-M1. It uses Salesforce SOAP API version 37.0.
Since CloverETL 4.5.0-M2, SalesforceWaveWriter uses Salesforce SOAP API version 39.0.