diff --git a/salesforce-analytics-cloud/3.19/modules/ROOT/pages/index.adoc b/salesforce-analytics-cloud/3.19/modules/ROOT/pages/index.adoc index 1bf72281b7..0893e5d29c 100644 --- a/salesforce-analytics-cloud/3.19/modules/ROOT/pages/index.adoc +++ b/salesforce-analytics-cloud/3.19/modules/ROOT/pages/index.adoc @@ -1,5 +1,4 @@ = Salesforce Einstein Analytics Cloud Connector 3.19 -:page-aliases: connectors::salesforce/salesforce-analytics-connector.adoc diff --git a/salesforce-analytics-cloud/3.19/modules/ROOT/pages/salesforce-analytics-connector-reference.adoc b/salesforce-analytics-cloud/3.19/modules/ROOT/pages/salesforce-analytics-connector-reference.adoc index e09fe8f699..2afec35df6 100644 --- a/salesforce-analytics-cloud/3.19/modules/ROOT/pages/salesforce-analytics-connector-reference.adoc +++ b/salesforce-analytics-cloud/3.19/modules/ROOT/pages/salesforce-analytics-connector-reference.adoc @@ -1,7 +1,4 @@ = Salesforce Einstein Analytics Connector 3.19 Reference -:page-aliases: connectors::salesforce/salesforce-analytics-connector-reference.adoc - - == Default Configuration diff --git a/salesforce-analytics-cloud/3.20/antora.yml b/salesforce-analytics-cloud/3.20/antora.yml new file mode 100644 index 0000000000..1a7f38409d --- /dev/null +++ b/salesforce-analytics-cloud/3.20/antora.yml @@ -0,0 +1,18 @@ +name: salesforce-analytics-cloud-connector +version: '3.20' +display_version: 3.20 (Mule 4) +title: Salesforce Einstein Analytics Connector +nav: +- modules/ROOT/nav.adoc +asciidoc: + attributes: + page-component-desc: Enables you to connect to the Salesforce Analytics Cloud application using the Salesforce External Data API. + page-connector-type: Connector + page-connector-level: Select + page-exchange-group-id: com.mulesoft.connectors + page-exchange-asset-id: mule-sfdc-analytics-connector + page-runtime-version: 4.1.1 + page-release-notes-page: release-notes::connector/salesforce-analytics-connector-release-notes-mule-4.adoc + page-vendor-name: salesforce + page-vendor-title: Salesforce + page-notice-banner-message: Standard support for Java 8 and 11 ends in August 2026 for 4.6 LTS. Plan your upgrade path for apps that are running on Java 8 or 11 accordingly. diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-basic.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-basic.png new file mode 100644 index 0000000000..56e06f0cee Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-basic.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-basic-auth.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-basic-auth.png new file mode 100644 index 0000000000..726573ddbd Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-basic-auth.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-jwt.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-jwt.png new file mode 100644 index 0000000000..ceae3e4067 Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-jwt.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-oauth.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-oauth.png new file mode 100644 index 0000000000..30326c2c15 Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-dc-oauth.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-jwt.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-jwt.png new file mode 100644 index 0000000000..2ac0b532c9 Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-jwt.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-oauth.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-oauth.png new file mode 100644 index 0000000000..07b5e09c17 Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-oauth.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-saml.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-saml.png new file mode 100644 index 0000000000..1dcc6afaa0 Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-saml.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-studio-upload-and-start.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-studio-upload-and-start.png new file mode 100644 index 0000000000..251ebd254a Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-studio-upload-and-start.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-studio-use-case.png b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-studio-use-case.png new file mode 100644 index 0000000000..90068aacfa Binary files /dev/null and b/salesforce-analytics-cloud/3.20/modules/ROOT/images/salesforce-analytics-studio-use-case.png differ diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/nav.adoc b/salesforce-analytics-cloud/3.20/modules/ROOT/nav.adoc new file mode 100644 index 0000000000..38490e99d9 --- /dev/null +++ b/salesforce-analytics-cloud/3.20/modules/ROOT/nav.adoc @@ -0,0 +1,3 @@ +.xref:index.adoc[Salesforce Einstein Analytics Connector] +* xref:index.adoc[Salesforce Einstein Analytics Connector Overview] +* xref:salesforce-analytics-connector-reference.adoc[Salesforce Einstein Analytics Connector Reference] diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/pages/index.adoc b/salesforce-analytics-cloud/3.20/modules/ROOT/pages/index.adoc new file mode 100644 index 0000000000..b0f9adf6b4 --- /dev/null +++ b/salesforce-analytics-cloud/3.20/modules/ROOT/pages/index.adoc @@ -0,0 +1,370 @@ += Salesforce Einstein Analytics Cloud Connector 3.20 +:page-aliases: connectors::salesforce/salesforce-analytics-connector.adoc + + + +Anypoint Connector for Salesforce Einstein Analytics Cloud (Salesforce Analytics Connector) enables you to connect to the Salesforce Analytics Cloud application using the Salesforce External Data API. The connector exposes convenient methods for creating, deleting, and populating datasets into the Salesforce Analytics Cloud system. Load data into Salesforce Einstein Analytics Cloud from many different data sources whether they are on-premise or on the cloud. Go beyond .csv files with this connector. + +For software requirements and compatibility information, see xref:release-notes::connector/salesforce-analytics-connector-release-notes-mule-4.adoc[Salesforce Einstein Analytics Connector Release Notes]. + +== Before You Begin + +To use this connector, you must be familiar with: + +* The Salesforce Einstein Analytics API +* Anypoint connectors +* Mule runtime engine (Mule) +* Elements in a Mule flow +* Global elements +* How to create a Mule app using Anypoint Studio + +Before creating an app, you must have login credentials to test your connection to your target resource. + +== POM File Information + +The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies for a Mule app. If you code a Mule app manually, include this XML snippet in your `pom.xml` file to enable access to this connector: + +[source,xml,linenums] +---- + + com.mulesoft.connectors + mule-sfdc-analytics-connector + x.x.x + mule-plugin + +---- + +Replace `x.x.x` with the version that corresponds to the connector you are using. + +To obtain the most up-to-date `pom.xml` file information: + +. Go to https://www.mulesoft.com/exchange/[Anypoint Exchange]. +. In Exchange, click *Login* and supply your Anypoint Platform username and password. +. In Exchange, search for ``. +. Select the connector. +. Click *Dependency Snippets* near the upper right of the screen. + +=== Required Parameters for Basic Username Password Authentication + +* Username + +Salesforce Einstein Analytics username +* Password + +Password that corresponds with the Salesforce Einstein Analytics username +* Security Token + +Corresponding security token + +image::salesforce-analytics-dc-basic-auth.png["Basic Authentication config window"] + +NOTE: The `Username Password` connection type is only supported for Salesforce API v64.0 and earlier versions. + +=== Required Parameters for the OAuth 2.0 Configuration + +* Consumer Key + +Consumer key for the Salesforce connected app. +* Consumer Secret + +Consumer secret for the connector to access Salesforce. + +image::salesforce-analytics-dc-oauth.png["OAuth Authentication config window"] + +=== Required Parameters for the OAuth 2.0 JWT Bearer Configuration + +* Consumer Key + +Consumer key for the Salesforce connected app +* Keystore File + +See <> +* Store Password + +Password for the keystore +* Principal + +Salesforce username + +image::salesforce-analytics-dc-jwt.png["JWT Bearer config window"] + +==== Required Parameters for the OAuth 2.0 SAML Bearer Configuration + +* Consumer Key + +Consumer key for the Salesforce connected app. +* Keystore File + +Path to the keystore used to sign data during authentication. Note that only the Java keystore format is allowed. +* Store Password + +Keystore password. +* Principal + +Salesforce username. + +image::salesforce-analytics-saml.png["SAML Bearer config window"] + +[[generating-keystore]] +==== Generating a Keystore File + +The Keystore is the path to the keystore used to sign data during authentication. The following example shows how to generate a JKS file: + + +. Go to your Mule workspace, and open the command prompt (for Windows) or Terminal (for Mac). +. Type `keytool -genkeypair -alias salesforce-cert -keyalg RSA -keystore salesforce-cert.jks` and press enter. +. Enter the following details: ++ +** Password for the keystore +** Your first name and last name +** Your organization unit +** Name of your city, state, and the two letter code of your county ++ +The system generates a Java keystore file containing a private or public key-pair in your workspace. ++ +. Provide the file path for the keystore in your connector configuration. ++ +Type `keytool -exportcert -alias salesforce-cert -file salesforce-cert.crt -keystore salesforce-cert.jks` and press enter. ++ +The system now exports the public key from the keystore into the workspace. This is the public key that you need to enter in your Salesforce instance. ++ +. Verify that you have both the keystore (`salesforce-cert.jks`) +and the public key (`salesforce-cert.crt`) files in your workspace. + +== Add the Connector in Studio + +. In Studio, create a Mule project. +. In the Mule Palette view, click *(X) Search in Exchange*. +. In *Add Modules to Project*, type "analytics" in the search field. +. Click this connector's name in *Available modules*. +. Click *Add*. +. Click *Finish*. + +=== Configure the Connector in Studio + +. Drag the desired Salesforce Analytics operation to the Studio canvas. +. To create a global element for the connector, on the *General* tab, configure the authentication as described in the authentication sections. ++ +The following authentication connection types are available: + ++ +* <> +* <> +* <> +* <> +. Configure these fields to upload external data into new dataset and start the processing operation: +** Type + +Type of the records to insert. Select a JSON file representing the schema of the dataset to create. +** Records + +DataSense expression; the records to insert. +** Operation + +Specify the operation to use when you’re loading data into a dataset. +** Description +** Label +** Data Set Name ++ +image::salesforce-analytics-studio-upload-and-start.png["Upload external data operation properties window"] + +[[basic-authentication]] +=== Username Password + +On the *General* tab of the *Global Element Properties* screen, enter the following information to configure Basic authentication: + +* *Username* + +Enter the Salesforce username. +* *Password* + +Enter the corresponding password. +* *Security Token* + +Enter the corresponding security token. + +The following screenshot shows an example of configuring Basic authentication: + +.Basic authentication fields +image::salesforce-analytics-basic.png["Username Password global element properties window"] + +NOTE: The `Username Password` connection type is only supported for Salesforce API v64.0 and earlier versions. + +[[oauth2]] +=== OAuth 2.0 + +On the *General* tab of the *Global Element Properties* screen, enter the following information to configure OAuth 2.0 authentication: + +* *Consumer Key* + +Consumer key for the Salesforce connected app. +* *Consumer Secret* + +Consumer secret for the connector to access Salesforce. + +The following screenshot shows an example of configuring the OAuth 2.0 authentication: + +.OAuth 2.0 authentication fields +image::salesforce-analytics-oauth.png["OAuth v2.0 global element properties window"] + +[[oauth2-jwt]] +=== OAuth 2.0 JWT + +On the *General* tab of the *Global Element Properties* screen, enter the following information to configure OAuth 2.0 JWT authentication: + +* *Consumer Key* + +Consumer key for the Salesforce connected app +* *Keystore File* + +See <> +* *Store Password* + +Password for the keystore +* *Principal* + +Salesforce username + +.OAuth 2.0 JWT authentication fields +image::salesforce-analytics-jwt.png["OAuth JWT global element properties window"] + +[[oauth2-saml]] +=== OAuth 2.0 SAML Bearer + +On the *General* tab of the *Global Element Properties* screen, enter the following information to configure OAuth 2.0 SAML Bearer authentication: + +* *Consumer Key* + +Consumer key for the Salesforce connected app +* *Keystore File* + +See <> +** *Store Password* + +Password for the keystore. +** Principal + +Salesforce username + +.OAuth 2.0 SAML Bearer authentication fields +image::salesforce-analytics-saml.png["OAuth 2.0 SAML Bearer global element properties window"] + +== Use Case: Studio + +This use case provides an example of how to use the Salesforce Einstein Analytics Connector and contains this end to end flow: + +* Uses an HTTP Listener as the input source. +* Configures a connection using a username, password, and the security token. +* Uses a Salesforce Analytics operation with the parameters to use. + +The example that follows contains these components: + +* HTTP Listener, which accepts data from HTTP requests. +* Transform Message, which provides the records input data required by Salesforce Einstein Analytics connector. + +[source,dataweave,linenums] +---- +%dw 2.0 +output application/java +--- +[ + { + "Id": 1, + "Country": "Country", + "City": "City", + "Year": 428742153, + "Distance": 284644936, + "Currencies": + [ + "EUR", + "USD" + ], + "CreationDate": "20/12/2017" as Date {format: "dd/MM/yyyy"} + }, + { + "Id": 2, + "Country": "Country", + "City": "City", + "Year": 1432651434, + "Distance": 1336594394, + "Currencies": + [ + "EUR", + "USD", + "HUF" + ], + "CreationDate": "20/12/2017" as Date {format: "dd/MM/yyyy"} + } +] +---- + +* Salesforce Analytics Connector, which connects with Salesforce, and performs an operation to push data into Salesforce Einstein Analytics Cloud. + +image::salesforce-analytics-studio-use-case.png["Studio flow with Listener, Transform Message, and Upload external data into new data set and start processing"] + +== Use Case: XML + +Paste the XML code provided in this example into the Configuration XML tab in Anypoint Studio to experiment with the flow described in the previous section. + +Keep in mind that you must still provide the `metadata.json` file describing the schema of the dataset to be created. + +[source,xml,linenums] +---- + + + + + + + + + + + + + + + + + + + + +---- + +== See Also + +* xref:connectors::introduction/introduction-to-anypoint-connectors.adoc[Introduction to Anypoint Connectors] +* https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-sfdc-analytics-connector/[Salesforce Einstein Analytics Connector on Exchange] +* https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_ext_data.meta/bi_dev_guide_ext_data/[Salesforce External Data API]. +* For Required Parameters for Basic Username Password Authentication see https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_login.htm[Salesforce Basic Authentication] +* For Required Parameters for the OAuth 2.0 Configuration see https://help.salesforce.com/s/articleView?id=remoteaccess_oauth_web_server_flow.htm&language=en_US&type=5[Salesforce OAuth 2.0] +* For Required Parameters for the OAuth 2.0 JWT Bearer Configuration see https://help.salesforce.com/s/articleView?id=remoteaccess_oauth_jwt_flow.htm&language=en_US&type=5[Salesforce OAuth 2.0 JWT Bearer] +* For Required Parameters for the OAuth 2.0 SAML Bearer Configuration see https://help.salesforce.com/s/articleView?id=remoteaccess_oauth_SAML_bearer_flow.htm&language=en_US&type=5[Salesforce OAuth 2.0 SAML Bearer] +* https://help.salesforce.com[Salesforce Help] diff --git a/salesforce-analytics-cloud/3.20/modules/ROOT/pages/salesforce-analytics-connector-reference.adoc b/salesforce-analytics-cloud/3.20/modules/ROOT/pages/salesforce-analytics-connector-reference.adoc new file mode 100644 index 0000000000..8fe238cbc7 --- /dev/null +++ b/salesforce-analytics-cloud/3.20/modules/ROOT/pages/salesforce-analytics-connector-reference.adoc @@ -0,0 +1,636 @@ += Salesforce Einstein Analytics Connector 3.20 Reference +:page-aliases: connectors::salesforce/salesforce-analytics-connector-reference.adoc + + + +== Default Configuration + +=== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +|Name | String | The name for this configuration. Connectors reference the configuration with this name. | |x +| Connection a| * Basic Username and Password +* OAuth v2.0 +* OAuth JWT +* OAuth 2.0 SAML Bearer + | The connection types to provide to this configuration. Note that the `Username Password` connection type is only supported for Salesforce API v64.0 and earlier versions.| |x +| Expiration Policy a| ExpirationPolicy | Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances as appropriate. | | +|=== + +== Connection Types + +[[salesforce-analytics_basic]] +=== Basic Username and Password + +NOTE: The `Username Password` connection type is only supported for Salesforce API v64.0 and earlier versions. + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| TLS configuration a| <> | If the protocol is configured as HTTPS, then you must also configure the keystore configuration. | | +| Username a| String | Username used to initialize the session. | |x +| Password a| String | Password used to authenticate the user. | |x +| Security Token a| String | User's security token. It can be omitted if your IP has been added to the allow list on Salesforce. | | +| Authorization URL a| String | Web service URL responsible for user authentication. This is the URL for the endpoint that is configured to handle SOAP authentication requests. | There is no default value, but if left empty the connector uses the latest API version | +| Reconnection a| Reconnection | When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | | +| Read Timeout a| Number | Specifies the amount of time, in milliseconds, that the consumer waits for a response before it times out. Default value is 0, which means infinite. | 0 | +| Read Timeout Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | Time unit that qualifies the Read Timeout. | MILLISECONDS | +| Connection Timeout a| Number | Specifies the amount of time, in milliseconds, that the consumer attempts to establish a connection before it times out. Default value is 0, which means infinite. | 0 | +| Connection Timeout Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | Time unit that qualifies the Connection Timeout. | MILLISECONDS | +| Host a| String | Host name of the proxy. If this property is not set then no proxy is used, otherwise a proxy is used, but a proxy host must be specified. | | +| Port a| Number | Port of the proxy. If host is set then this property must be set and cannot be a negative number. | | +| Username a| String | Username used to authenticate against the proxy. If this property is not set then no authentication is used against the proxy, otherwise this value must be specified. | | +| Password a| String | Password used to authenticate against the proxy. | | +|=== + +[[salesforce-analytics_config-with-oauth]] +=== OAuth v2.0 + +include::connectors::partial$oauth2-description.adoc[] + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| Display a| Enumeration, one of: + +** PAGE +** POPUP +** TOUCH | | PAGE | +| Immediate a| Enumeration, one of: + +** TRUE +** FALSE | | FALSE | +| Prompt a| Enumeration, one of: + +** LOGIN +** CONSENT | | LOGIN | +| Reconnection a| Reconnection | When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | | +| Read Timeout a| Number | Specifies the amount of time, in milliseconds, that the consumer waits for a response before it times out. Default value is 0, which means infinite. | 0 | +| Read Timeout Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | Time unit that qualifies the Read Timeout. | MILLISECONDS | +| Connection Timeout a| Number | Specifies the amount of time, in milliseconds, that the consumer attempts to establish a connection before it times out. Default value is 0, which means infinite. | 0 | +| Connection Timeout Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | Time unit that qualifies the Connection Timeout. | MILLISECONDS | +| Host a| String | Host name of the proxy. If this property is not set, then no proxy is used, otherwise a proxy is used, and a proxy host must be specified. | | +| Port a| Number | Port of the proxy. If host is set, then this property must be set and cannot be a negative number. | | +| Username a| String | Username used to authenticate against the proxy. If this property is not set, then no authentication is used against the proxy, otherwise this value must be specified. | | +| Password a| String | Password used to authenticate against the proxy. | | +| Consumer Key a| String | The OAuth consumerKey as registered with the service provider. | |x +| Consumer Secret a| String | The OAuth consumerSecret as registered with the service provider. | |x +| Authorization Url a| String | The service provider's authorization endpoint URL. | `+https://login.salesforce.com/services/oauth2/authorize+` | +| Access Token Url a| String | The service provider's accessToken endpoint URL. | `+https://login.salesforce.com/services/oauth2/token+` | +| Scopes a| String | The OAuth scopes to request during the dance. If not provided, it defaults to those in the annotation. | | +| Resource Owner Id a| String | The resourceOwnerId that each component should use if it doesn't reference otherwise. | | +| Before a| String | The name of a flow to execute immediately before starting the OAuth dance. | | +| After a| String | The name of a flow to execute immediately after an accessToken is received. | | +| Listener Config a| String | A reference to a `++` to use to create the listener that catches the access token callback endpoint. | |x +| Callback Path a| String | The path of the access token callback endpoint. | |x +| Authorize Path a| String | The path of the local HTTP endpoint that triggers the OAuth dance. | |x +| External Callback Url a| String | Specify the URL the OAuth provider should use to access the callback if the callback endpoint is behind a proxy or will be accessed through a non-direct URL. | | +| Object Store a| String | A reference to the object store to use to store each resource owner ID's data. If not specified, the Mule automatically provisions the default object store. | | +|=== + +[[salesforce-analytics_oauth-jwt]] +=== OAuth JWT + + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| TLS configuration a| <> | If the protocol is configured as HTTPS, then you must also configure the keystore configuration. | | +| Read Timeout a| Number | Specifies the amount of time, in milliseconds, that the consumer waits for a response before it times out. The default value is `0`, which means infinite. | 0 | +| Read Timeout Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | Time unit that qualifies the Read Timeout. | MILLISECONDS | +| Connection Timeout a| Number | Specifies the amount of time, in milliseconds, that the consumer attempts to establish a connection before it times out. The default value is `0`, which means infinite. | 0 | +| Connection Timeout Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | Time Unit that qualifies the Connection Timeout. | MILLISECONDS | +| Host a| String | Host name of the proxy. Required if a proxy is used. If this property is not set, then no proxy is used. | | +| Port a| Number | Port of the proxy. If a Host is set, this property must also be set, and cannot be a negative number. | | +| Username a| String | Username used to authenticate against the proxy. Required if using authentication against the proxy. If this property is not set, then no authentication is used against the proxy. | | +| Password a| String | Password used to authenticate against the proxy. | | +| Consumer Key a| String | Consumer key for the Salesforce-connected app. | | *x* +| Key Store a| String | Path to the keystore used to sign data during authentication. | | *x* +| Store Password a| String | Password of the keystore. | | *x* +| Principal a| String | Username of the Salesforce user on whose behalf to take action. | | *x* +| Token Endpoint a| String | URL pointing to the server responsible for providing the authentication token. According to Salesforce, this URL is `+https://login.salesforce.com/services/oauth2/token+`. If implementing for a community, the URL is `+https://acme.force.com/customers/services/oauth2/token+`, where `acme.force.com/customers` is your own community URL. | `+https://login.salesforce.com/services/oauth2/token+` | +| Audience Url a| String | Identifies the authorization server as an intended audience. The authorization server must verify that it is an intended audience for the token. + +Use the authorization server's URL for the audience value, for example: `+https://login.salesforce.com+`, `+https://test.salesforce.com+`, or `+https://community.force.com/customers=` if implementing for a community. | | +| Reconnection a| <> | When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | | +|=== + +[[salesforce-analytics_oauth-saml]] +=== OAuth 2.0 SAML Bearer + + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| TLS configuration a| <> | If the protocol is configured as HTTPS, then you must also configure the keystore configuration. | | +| Read Timeout a| Number | Specifies the amount of time, in milliseconds, that the consumer waits for a response before it times out. The default value is `0`, which means infinite. | 0 | +| Read Timeout Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | Time Unit that qualifies the Read Timeout. | MILLISECONDS | +| Connection Timeout a| Number | Specifies the amount of time, in milliseconds, that the consumer attempts to establish a connection before it times out. The default value is `0`, which means infinite. | 0 | +| Connection Timeout Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | Time Unit that qualifies the Connection Timeout. | MILLISECONDS | +| Host a| String | Host name of the proxy. Required if a proxy is used. If this property is not set, then no proxy is used. | | +| Port a| Number | Port of the proxy. If a Host is set, this property must also be set, and cannot be a negative number. | | +| Username a| String | Username used to authenticate against the proxy. If this property is not set then no authentication is used against the proxy, otherwise this value must be specified. | | +| Password a| String | Password used to authenticate against the proxy. | | +| Consumer Key a| String | Consumer key for Salesforce-connected app. | | *x* +| Key Store a| String | Path to the keystore used to sign data during authentication. | | *x* +| Store Password a| String | Password of the keystore. | | *x* +| Principal a| String | Username of the Salesforce user on whose behalf to take action. | | *x* +| Token Endpoint a| String | URL pointing to the server responsible for providing the authentication token. According to Salesforce, this URL is `+https://login.salesforce.com/services/oauth2/token+`. If implementing for a community, the URL is `+https://acme.force.com/customers/services/oauth2/token+`, where `acme.force.com/customers` is your own community URL. | `+https://login.salesforce.com/services/oauth2/token+` | +| Reconnection a| <> | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | | +|=== + +==== List of Operations + +* createDataSet +* deleteDataSet +* startDataProcessing +* unauthorize +* uploadExternalData +* uploadExternalDataIntoNewDataSetAndStartProcessing + + +== Operations + +[[createDataSet]] +=== Create Data Set + +`` + +Creates a new dataset (InsightsExternalData record) in the Salesforce Analytics Cloud system and returns the identifier (InsightsExternalData ID) of the created dataset within the Salesforce Analytics Cloud system. + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| Configuration | String | The name of the configuration to use. | |x +| Type a| String | Represents the type of the dataset to be created | |x +| Operation a| Enumeration, one of: + +** APPEND +** OVERWRITE +** UPSERT +** DELETE | | |x +| Description a| String | | |x +| Label a| String | | |x +| Data Set Name a| String | | |x +| Edgemart Container a| String | | | +| Notification Sent a| Enumeration, one of: + +** ALWAYS +** FAILURES +** NEVER +** WARNINGS | | | +| Notification Email a| String | | | +| Mode a| Enumeration, one of: + +** INCREMENTAL +** NONE | Mode. | `NONE` | +| Target Variable a| String | The variable name where to store the operation's output. | | +| Target Value a| String | An expression to evaluate against the operation's output. The outcome of that expression is stored in the target variable. | `#[payload]` | +| Reconnection Strategy a| * reconnect +* reconnect-forever | A retry strategy in case of connectivity errors. | | +|=== + +==== Output + +[%autowidth.spread] +|=== +| Type a| String +|=== + +==== For Configurations + +* salesforce-analytics + +==== Throws + +* SALESFORCE-ANALYTICS:CONNECTIVITY +* SALESFORCE-ANALYTICS:ERROR_RESPONSE +* SALESFORCE-ANALYTICS:INVALID_SESSION +* SALESFORCE-ANALYTICS:INVALID_REQUEST_DATA +* SALESFORCE-ANALYTICS:RETRY_EXHAUSTED +* SALESFORCE-ANALYTICS:TRANSACTION +* SALESFORCE-ANALYTICS:UNKNOWN + + +[[deleteDataSet]] +=== Delete Data Set + +`` + +Deletes the specified dataset (InsightsExternalData record) from the Salesforce Analytics Cloud system. For more information about limitations, refer to https://developer.salesforce.com/docs/atlas.en-us.bi_dev_guide_ext_data.meta/bi_dev_guide_ext_data/bi_ext_data_object_externaldata.htm[The InsightsExternalData Object^]. + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| Configuration | String | The name of the configuration to use | |x +| Data Set Id a| String | Identifier of the dataset (InsightsExternalData ID) to delete. | |x +| Reconnection Strategy a| * reconnect +* reconnect-forever | A retry strategy in case of connectivity errors | | +|=== + +==== For Configurations + +* salesforce-analytics + +==== Throws + +* SALESFORCE-ANALYTICS:CONNECTIVITY +* SALESFORCE-ANALYTICS:ERROR_RESPONSE +* SALESFORCE-ANALYTICS:INVALID_SESSION +* SALESFORCE-ANALYTICS:INVALID_REQUEST_DATA +* SALESFORCE-ANALYTICS:RETRY_EXHAUSTED +* SALESFORCE-ANALYTICS:TRANSACTION +* SALESFORCE-ANALYTICS:UNKNOWN + + +[[startDataProcessing]] +=== Start Data Processing + +`` + +Tells the Salesforce Analytics Cloud system to start processing the records uploaded at this point into a dataset. + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| Configuration | String | The name of the configuration to use | |x +| Data Set Id a| String | Identifier of the dataset (InsightsExternalData ID) to process. | |x +| Reconnection Strategy a| * reconnect +* reconnect-forever | A retry strategy in case of connectivity errors | | +|=== + +==== For Configurations + +* salesforce-analytics + +==== Throws + +* SALESFORCE-ANALYTICS:CONNECTIVITY +* SALESFORCE-ANALYTICS:ERROR_RESPONSE +* SALESFORCE-ANALYTICS:INVALID_SESSION +* SALESFORCE-ANALYTICS:INVALID_REQUEST_DATA +* SALESFORCE-ANALYTICS:RETRY_EXHAUSTED +* SALESFORCE-ANALYTICS:TRANSACTION +* SALESFORCE-ANALYTICS:UNKNOWN + + +[[unauthorize]] +=== Unauthorize + +`` + +Deletes all the access token information of a given resource owner ID so that it's impossible to execute any operation for the user without repeating the authorization dance. + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| Configuration | String | The name of the configuration to use | |x +| Resource Owner Id a| String | The ID of the resource owner for whom to invalidate access | | +|=== + +==== For Configurations + +* salesforce-analytics + + +[[uploadExternalData]] +=== Upload External Data + +`` + +Creates an InsightsExternalDataPart record. The InsightsExternalDataPart object works with the InsightsExternalData ID. After you insert a row into the InsightsExternalData object, you can create part objects to split up your data into parts. + + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| Configuration | String | The name of the configuration to use. | |x +| Data Set Id a| String | Identifier of a dataset (InsightsExternalData ID) within the Salesforce Analytics Cloud system. | |x +| Records a| Array of Object | List of records to insert. | `#[payload]` | +| Target Variable a| String | The variable name where to store the operation's output. | | +| Target Value a| String | An expression to evaluate against the operation's output. The outcome of that expression is stored in the target variable. | `#[payload]` | +| Reconnection Strategy a| * reconnect +* reconnect-forever | A retry strategy in case of connectivity errors. | | +|=== + +==== Output + +[%autowidth.spread] +|=== +| Type a| BulkOperationResult +|=== + +==== For Configurations + +* salesforce-analytics + +==== Throws + +* SALESFORCE-ANALYTICS:CONNECTIVITY +* SALESFORCE-ANALYTICS:ERROR_RESPONSE +* SALESFORCE-ANALYTICS:INVALID_SESSION +* SALESFORCE-ANALYTICS:INVALID_REQUEST_DATA +* SALESFORCE-ANALYTICS:RETRY_EXHAUSTED +* SALESFORCE-ANALYTICS:TRANSACTION +* SALESFORCE-ANALYTICS:UNKNOWN + + +[[uploadExternalDataIntoNewDataSetAndStartProcessing]] +=== Upload External Data Into New Dataset And Start Processing + +`` + +Creates a dataset (InsightsExternalData), uploads data into InsightsExternalDataPart records, and tells the Salesforce Analytics Cloud system to start processing the uploaded data to create the Salesforce dataset. + +==== Parameters + +[%header%autowidth.spread] +|=== +| Name | Type | Description | Default Value | Required +| Configuration | String | The name of the configuration to use. | |x +| Type a| String | Type of the records to insert. This automatically computes based on metadata extracted from the provided file that contains the configuration element. | |x +| Records a| Array of Object | List of records to insert. | `#[payload]` | +| Operation a| Enumeration, one of: + +** APPEND +** DELETE +** OVERWRITE +** UPSERT | | |x +| Description a| String | | |x +| Label a| String | | |x +| Data Set Name a| String | | |x +| Edgemart Container a| String | | | +| Notification Sent a| Enumeration, one of: + +** ALWAYS +** FAILURES +** NEVER +** WARNINGS | | | +| Notification Email a| String | | | +| Mode a| Enumeration, one of: + +** INCREMENTAL +** NONE | Mode. | `NONE` | +| Target Variable a| String | The variable name where to store the operation's output. | | +| Target Value a| String | An expression to evaluate against the operation's output. The outcome of that expression is stored in the target variable. | `#[payload]` | +| Reconnection Strategy a| * reconnect +* reconnect-forever | A retry strategy in case of connectivity errors. | | +|=== + +==== Output + +[%autowidth.spread] +|=== +| Type a| String +|=== + +==== For Configurations + +* salesforce-analytics + +==== Throws + +* SALESFORCE-ANALYTICS:CONNECTIVITY +* SALESFORCE-ANALYTICS:ERROR_RESPONSE +* SALESFORCE-ANALYTICS:INVALID_SESSION +* SALESFORCE-ANALYTICS:INVALID_REQUEST_DATA +* SALESFORCE-ANALYTICS:RETRY_EXHAUSTED +* SALESFORCE-ANALYTICS:TRANSACTION +* SALESFORCE-ANALYTICS:UNKNOWN + + +== Types + +[[Tls]] +=== Tls + +[cols=".^20%,.^25%,.^30%,.^15%,.^10%", options="header"] +|====================== +| Field | Type | Description | Default Value | Required +| Enabled Protocols a| String | A comma-separated list of protocols enabled for this context. | | +| Enabled Cipher Suites a| String | A comma-separated list of cipher suites enabled for this context. | | +| Trust Store a| <> | | | +| Key Store a| <> | | | +| Revocation Check a| * <> +* <> +* <> | | | +|====================== + +[[TrustStore]] +=== Trust Store + +[cols=".^20%,.^25%,.^30%,.^15%,.^10%", options="header"] +|====================== +| Field | Type | Description | Default Value | Required +| Path a| String | The location of the trust store, which will be resolved relative to the current classpath and file system, if possible. | | +| Password a| String | The password used to protect the trust store. | | +| Type a| String | The type of store used. | | +| Algorithm a| String | The algorithm used by the trust store. | | +| Insecure a| Boolean | If true, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk. | | +|====================== + +[[KeyStore]] +=== Key Store + +[cols=".^20%,.^25%,.^30%,.^15%,.^10%", options="header"] +|====================== +| Field | Type | Description | Default Value | Required +| Path a| String | The location of the trust store, which will be resolved relative to the current classpath and file system, if possible. | | +| Type a| String | The type of store used. | | +| Alias a| String | When the keystore contains many private keys, this attribute indicates the alias of the key to use. If not defined, the first key in the file is used by default. | | +| Key Password a| String | The password used to protect the private key. | | +| Password a| String | The password used to protect the keystore. | | +| Algorithm a| String | The algorithm used by the keystore. | | +|====================== + +[[standard-revocation-check]] +=== Standard Revocation Check + +[cols=".^20%,.^25%,.^30%,.^15%,.^10%", options="header"] +|====================== +| Field | Type | Description | Default Value | Required +| Only End Entities a| Boolean | Only verify the last element of the certificate chain. | | +| Prefer Crls a| Boolean | Try CRL instead of OCSP first. | | +| No Fallback a| Boolean | Do not use the secondary checking method (the one not selected before). | | +| Soft Fail a| Boolean | Avoid verification failure when the revocation server can not be reached or is busy. | | +|====================== + +[[custom-ocsp-responder]] +=== Custom OCSP Responder + +[cols=".^20%,.^25%,.^30%,.^15%,.^10%", options="header"] +|====================== +| Field | Type | Description | Default Value | Required +| Url a| String | The URL of the OCSP responder. | | +| Cert Alias a| String | Alias of the signing certificate for the OCSP response (must be in the trust store), if present. | | +|====================== + +[[crl-file]] +=== CRL File + +[cols=".^20%,.^25%,.^30%,.^15%,.^10%", options="header"] +|====================== +| Field | Type | Description | Default Value | Required +| Path a| String | The path to the CRL file. | | +|====================== + +[[Reconnection]] +=== Reconnection + +[%header%autowidth.spread] +|=== +| Field | Type | Description | Default Value | Required +| Fails Deployment a| Boolean | When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | | +| Reconnection Strategy a| * reconnect +* reconnect-forever | The reconnection strategy to use | | +|=== + +[[reconnect]] +=== Reconnect + +[%header,cols="20s,25a,30a,15a,10a"] +|=== +| Field | Type | Description | Default Value | Required +| Frequency a| Number | How often to reconnect (in milliseconds) | | +| Count a| Number | The number of reconnection attempts to make | | +|=== + +[[reconnect-forever]] +=== Reconnect Forever + +[%header,cols="20s,25a,30a,15a,10a"] +|=== +| Field | Type | Description | Default Value | Required +| Frequency a| Number | How often in milliseconds to reconnect | | +|=== + +[[ExpirationPolicy]] +=== Expiration Policy + +[%header%autowidth.spread] +|=== +| Field | Type | Description | Default Value | Required +| Max Idle Time a| Number | A scalar time value for the maximum amount of time a dynamic configuration instance is allowed to be idle before it's considered eligible for expiration. | | +| Time Unit a| Enumeration, one of: + +** NANOSECONDS +** MICROSECONDS +** MILLISECONDS +** SECONDS +** MINUTES +** HOURS +** DAYS | A time unit that qualifies the maxIdleTime attribute. | | +|=== + +[[BulkOperationResult]] +=== Bulk Operation Result + +[%header%autowidth.spread] +|=== +| Field | Type | Description | Default Value | Required +| Id a| Any | | | +| Items a| Array of BulkItem | | | +| Successful a| Boolean | | | +|=== + +[[BulkItem]] +=== Bulk Item + +[%header%autowidth.spread] +|=== +| Field | Type | Description | Default Value | Required +| Exception a| Any | | | +| Id a| Any | | | +| Message a| String | | | +| Payload a| Object | | | +| Status Code a| String | | | +| Successful a| Boolean | | | +|=== + +== See Also + +https://help.salesforce.com[Salesforce Help]