Class SalesforceDestinationProperties
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<SalesforceDestinationProperties.Builder,
SalesforceDestinationProperties>
The properties that are applied when Salesforce is being used as a destination.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.final String
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final ErrorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the IdFieldNames property.The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.final String
object()
The object specified in the Salesforce flow destination.static Class
<? extends SalesforceDestinationProperties.Builder> Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.final WriteOperationType
This specifies the type of write operation to be performed in Salesforce.final String
This specifies the type of write operation to be performed in Salesforce.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
object
The object specified in the Salesforce flow destination.
- Returns:
- The object specified in the Salesforce flow destination.
-
hasIdFieldNames
public final boolean hasIdFieldNames()For responses, this returns true if the service returned a value for the IdFieldNames property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
idFieldNames
The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasIdFieldNames()
method.- Returns:
- The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.
-
errorHandlingConfig
The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure.
ErrorHandlingConfig
is a part of the destination connector details.- Returns:
- The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce
destination. For example, this setting would determine if the flow should fail after one insertion error,
or continue and attempt to insert every record regardless of the initial failure.
ErrorHandlingConfig
is a part of the destination connector details.
-
writeOperationType
This specifies the type of write operation to be performed in Salesforce. When the value is
UPSERT
, thenidFieldNames
is required.If the service returns an enum value that is not available in the current SDK version,
writeOperationType
will returnWriteOperationType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromwriteOperationTypeAsString()
.- Returns:
- This specifies the type of write operation to be performed in Salesforce. When the value is
UPSERT
, thenidFieldNames
is required. - See Also:
-
writeOperationTypeAsString
This specifies the type of write operation to be performed in Salesforce. When the value is
UPSERT
, thenidFieldNames
is required.If the service returns an enum value that is not available in the current SDK version,
writeOperationType
will returnWriteOperationType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromwriteOperationTypeAsString()
.- Returns:
- This specifies the type of write operation to be performed in Salesforce. When the value is
UPSERT
, thenidFieldNames
is required. - See Also:
-
dataTransferApi
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.
- AUTOMATIC
-
The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.
Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.
By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.
- BULKV2
-
Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.
Note that Bulk API 2.0 does not transfer Salesforce compound fields.
- REST_SYNC
-
Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.
If the service returns an enum value that is not available in the current SDK version,
dataTransferApi
will returnSalesforceDataTransferApi.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromdataTransferApiAsString()
.- Returns:
- Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.
- AUTOMATIC
-
The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.
Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.
By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.
- BULKV2
-
Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.
Note that Bulk API 2.0 does not transfer Salesforce compound fields.
- REST_SYNC
-
Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.
- See Also:
-
dataTransferApiAsString
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.
- AUTOMATIC
-
The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.
Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.
By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.
- BULKV2
-
Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.
Note that Bulk API 2.0 does not transfer Salesforce compound fields.
- REST_SYNC
-
Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.
If the service returns an enum value that is not available in the current SDK version,
dataTransferApi
will returnSalesforceDataTransferApi.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromdataTransferApiAsString()
.- Returns:
- Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.
- AUTOMATIC
-
The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.
Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.
By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.
- BULKV2
-
Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.
Note that Bulk API 2.0 does not transfer Salesforce compound fields.
- REST_SYNC
-
Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.
- See Also:
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<SalesforceDestinationProperties.Builder,
SalesforceDestinationProperties> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value. -
getValueForField
-
sdkFields
-