Class: AWSCDK::AppFlow::CfnFlow::SalesforceSourcePropertiesProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::AppFlow::CfnFlow::SalesforceSourcePropertiesProperty
- Defined in:
- app_flow/cfn_flow.rb
Overview
The properties that are applied when Salesforce is being used as a source.
Instance Attribute Summary collapse
-
#data_transfer_api ⇒ String?
readonly
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.
-
#enable_dynamic_field_update ⇒ Boolean, ...
readonly
The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.
-
#include_deleted_records ⇒ Boolean, ...
readonly
Indicates whether Amazon AppFlow includes deleted files in the flow run.
-
#object ⇒ String
readonly
The object specified in the Salesforce flow source.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(object:, data_transfer_api: nil, enable_dynamic_field_update: nil, include_deleted_records: nil) ⇒ SalesforceSourcePropertiesProperty
constructor
A new instance of SalesforceSourcePropertiesProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(object:, data_transfer_api: nil, enable_dynamic_field_update: nil, include_deleted_records: nil) ⇒ SalesforceSourcePropertiesProperty
Returns a new instance of SalesforceSourcePropertiesProperty.
2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 |
# File 'app_flow/cfn_flow.rb', line 2431 def initialize(object:, data_transfer_api: nil, enable_dynamic_field_update: nil, include_deleted_records: nil) @object = object Jsii::Type.check_type(@object, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "object") @data_transfer_api = data_transfer_api Jsii::Type.check_type(@data_transfer_api, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataTransferApi") unless @data_transfer_api.nil? @enable_dynamic_field_update = enable_dynamic_field_update Jsii::Type.check_type(@enable_dynamic_field_update, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enableDynamicFieldUpdate") unless @enable_dynamic_field_update.nil? @include_deleted_records = include_deleted_records Jsii::Type.check_type(@include_deleted_records, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "includeDeletedRecords") unless @include_deleted_records.nil? end |
Instance Attribute Details
#data_transfer_api ⇒ String? (readonly)
Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.
- AUTOMATIC - The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,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,000 records, and it might use Bulk API 2.0 on the next day to transfer 1,100,000 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 wituh a timed out error.
2463 2464 2465 |
# File 'app_flow/cfn_flow.rb', line 2463 def data_transfer_api @data_transfer_api end |
#enable_dynamic_field_update ⇒ Boolean, ... (readonly)
The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.
2468 2469 2470 |
# File 'app_flow/cfn_flow.rb', line 2468 def enable_dynamic_field_update @enable_dynamic_field_update end |
#include_deleted_records ⇒ Boolean, ... (readonly)
Indicates whether Amazon AppFlow includes deleted files in the flow run.
2473 2474 2475 |
# File 'app_flow/cfn_flow.rb', line 2473 def include_deleted_records @include_deleted_records end |
#object ⇒ String (readonly)
The object specified in the Salesforce flow source.
2446 2447 2448 |
# File 'app_flow/cfn_flow.rb', line 2446 def object @object end |
Class Method Details
.jsii_properties ⇒ Object
2475 2476 2477 2478 2479 2480 2481 2482 |
# File 'app_flow/cfn_flow.rb', line 2475 def self.jsii_properties { :object => "object", :data_transfer_api => "dataTransferApi", :enable_dynamic_field_update => "enableDynamicFieldUpdate", :include_deleted_records => "includeDeletedRecords", } end |
Instance Method Details
#to_jsii ⇒ Object
2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 |
# File 'app_flow/cfn_flow.rb', line 2484 def to_jsii result = {} result.merge!({ "object" => @object, "dataTransferApi" => @data_transfer_api, "enableDynamicFieldUpdate" => @enable_dynamic_field_update, "includeDeletedRecords" => @include_deleted_records, }) result.compact end |