Interface SalesforceDestinationProperties.Builder

All Superinterfaces:
Buildable, CopyableBuilder<SalesforceDestinationProperties.Builder,SalesforceDestinationProperties>, SdkBuilder<SalesforceDestinationProperties.Builder,SalesforceDestinationProperties>, SdkPojo
Enclosing class:
SalesforceDestinationProperties

public static interface SalesforceDestinationProperties.Builder extends SdkPojo, CopyableBuilder<SalesforceDestinationProperties.Builder,SalesforceDestinationProperties>
  • Method Details

    • object

      The object specified in the Salesforce flow destination.

      Parameters:
      object - The object specified in the Salesforce flow destination.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • idFieldNames

      The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.

      Parameters:
      idFieldNames - The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • idFieldNames

      SalesforceDestinationProperties.Builder idFieldNames(String... idFieldNames)

      The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.

      Parameters:
      idFieldNames - The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • errorHandlingConfig

      SalesforceDestinationProperties.Builder errorHandlingConfig(ErrorHandlingConfig 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.

      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • errorHandlingConfig

      default SalesforceDestinationProperties.Builder errorHandlingConfig(Consumer<ErrorHandlingConfig.Builder> 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.

      This is a convenience method that creates an instance of the ErrorHandlingConfig.Builder avoiding the need to create one manually via ErrorHandlingConfig.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to errorHandlingConfig(ErrorHandlingConfig).

      Parameters:
      errorHandlingConfig - a consumer that will call methods on ErrorHandlingConfig.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • writeOperationType

      SalesforceDestinationProperties.Builder writeOperationType(String writeOperationType)

      This specifies the type of write operation to be performed in Salesforce. When the value is UPSERT, then idFieldNames is required.

      Parameters:
      writeOperationType - This specifies the type of write operation to be performed in Salesforce. When the value is UPSERT, then idFieldNames is required.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • writeOperationType

      SalesforceDestinationProperties.Builder writeOperationType(WriteOperationType writeOperationType)

      This specifies the type of write operation to be performed in Salesforce. When the value is UPSERT, then idFieldNames is required.

      Parameters:
      writeOperationType - This specifies the type of write operation to be performed in Salesforce. When the value is UPSERT, then idFieldNames is required.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • dataTransferApi

      SalesforceDestinationProperties.Builder dataTransferApi(String 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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      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.

      Parameters:
      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.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also: