2023/06/01 - Amazon Appflow - 6 updated api methods
Changes Added ability to select DataTransferApiType for DescribeConnector and CreateFlow requests when using Async supported connectors. Added supportedDataTransferType to DescribeConnector/DescribeConnectors/ListConnector response.
{'sourceFlowConfig': {'sourceConnectorProperties': {'CustomConnector': {'dataTransferApi': {'Name': 'string', 'Type': 'SYNC ' '| ' 'ASYNC ' '| ' 'AUTOMATIC'}}}}}
Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once.
See also: AWS API Documentation
Request Syntax
client.create_flow( flowName='string', description='string', kmsArn='string', triggerConfig={ 'triggerType': 'Scheduled'|'Event'|'OnDemand', 'triggerProperties': { 'Scheduled': { 'scheduleExpression': 'string', 'dataPullMode': 'Incremental'|'Complete', 'scheduleStartTime': datetime(2015, 1, 1), 'scheduleEndTime': datetime(2015, 1, 1), 'timezone': 'string', 'scheduleOffset': 123, 'firstExecutionFrom': datetime(2015, 1, 1), 'flowErrorDeactivationThreshold': 123 } } }, sourceFlowConfig={ 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'apiVersion': 'string', 'connectorProfileName': 'string', 'sourceConnectorProperties': { 'Amplitude': { 'object': 'string' }, 'Datadog': { 'object': 'string' }, 'Dynatrace': { 'object': 'string' }, 'GoogleAnalytics': { 'object': 'string' }, 'InforNexus': { 'object': 'string' }, 'Marketo': { 'object': 'string' }, 'S3': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3InputFormatConfig': { 's3InputFileType': 'CSV'|'JSON' } }, 'Salesforce': { 'object': 'string', 'enableDynamicFieldUpdate': True|False, 'includeDeletedRecords': True|False, 'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC' }, 'ServiceNow': { 'object': 'string' }, 'Singular': { 'object': 'string' }, 'Slack': { 'object': 'string' }, 'Trendmicro': { 'object': 'string' }, 'Veeva': { 'object': 'string', 'documentType': 'string', 'includeSourceFiles': True|False, 'includeRenditions': True|False, 'includeAllVersions': True|False }, 'Zendesk': { 'object': 'string' }, 'SAPOData': { 'objectPath': 'string' }, 'CustomConnector': { 'entityName': 'string', 'customProperties': { 'string': 'string' }, 'dataTransferApi': { 'Name': 'string', 'Type': 'SYNC'|'ASYNC'|'AUTOMATIC' } }, 'Pardot': { 'object': 'string' } }, 'incrementalPullConfig': { 'datetimeTypeFieldName': 'string' } }, destinationFlowConfigList=[ { 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'apiVersion': 'string', 'connectorProfileName': 'string', 'destinationConnectorProperties': { 'Redshift': { 'object': 'string', 'intermediateBucketName': 'string', 'bucketPrefix': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'S3': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3OutputFormatConfig': { 'fileType': 'CSV'|'JSON'|'PARQUET', 'prefixConfig': { 'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME', 'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE', 'pathPrefixHierarchy': [ 'EXECUTION_ID'|'SCHEMA_VERSION', ] }, 'aggregationConfig': { 'aggregationType': 'None'|'SingleFile', 'targetFileSize': 123 }, 'preserveSourceDataTyping': True|False } }, 'Salesforce': { 'object': 'string', 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE', 'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC' }, 'Snowflake': { 'object': 'string', 'intermediateBucketName': 'string', 'bucketPrefix': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'EventBridge': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'LookoutMetrics': {} , 'Upsolver': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3OutputFormatConfig': { 'fileType': 'CSV'|'JSON'|'PARQUET', 'prefixConfig': { 'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME', 'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE', 'pathPrefixHierarchy': [ 'EXECUTION_ID'|'SCHEMA_VERSION', ] }, 'aggregationConfig': { 'aggregationType': 'None'|'SingleFile', 'targetFileSize': 123 } } }, 'Honeycode': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'CustomerProfiles': { 'domainName': 'string', 'objectTypeName': 'string' }, 'Zendesk': { 'object': 'string', 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE' }, 'Marketo': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'CustomConnector': { 'entityName': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE', 'idFieldNames': [ 'string', ], 'customProperties': { 'string': 'string' } }, 'SAPOData': { 'objectPath': 'string', 'successResponseHandlingConfig': { 'bucketPrefix': 'string', 'bucketName': 'string' }, 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE' } } }, ], tasks=[ { 'sourceFields': [ 'string', ], 'connectorOperator': { 'Amplitude': 'BETWEEN', 'Datadog': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Dynatrace': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'GoogleAnalytics': 'PROJECTION'|'BETWEEN', 'InforNexus': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Marketo': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'S3': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Salesforce': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'ServiceNow': 'PROJECTION'|'CONTAINS'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Singular': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Slack': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Trendmicro': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Veeva': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Zendesk': 'PROJECTION'|'GREATER_THAN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'SAPOData': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'CustomConnector': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Pardot': 'PROJECTION'|'EQUAL_TO'|'NO_OP'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC' }, 'destinationField': 'string', 'taskType': 'Arithmetic'|'Filter'|'Map'|'Map_all'|'Mask'|'Merge'|'Passthrough'|'Truncate'|'Validate'|'Partition', 'taskProperties': { 'string': 'string' } }, ], tags={ 'string': 'string' }, metadataCatalogConfig={ 'glueDataCatalog': { 'roleArn': 'string', 'databaseName': 'string', 'tablePrefix': 'string' } }, clientToken='string' )
string
[REQUIRED]
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
string
A description of the flow you want to create.
string
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
dict
[REQUIRED]
The trigger settings that determine how and when the flow runs.
triggerType (string) -- [REQUIRED]
Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.
triggerProperties (dict) --
Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type.
Scheduled (dict) --
Specifies the configuration details of a schedule-triggered flow as defined by the user.
scheduleExpression (string) -- [REQUIRED]
The scheduling expression that determines the rate at which the schedule will run, for example rate(5minutes).
dataPullMode (string) --
Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.
scheduleStartTime (datetime) --
The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00.
scheduleEndTime (datetime) --
The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00.
timezone (string) --
Specifies the time zone used when referring to the dates and times of a scheduled flow, such as America/New_York. This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.
If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the America/New_York timezone are -04:00 EDT and -05:00 EST.
scheduleOffset (integer) --
Specifies the optional offset that is added to the time interval for a schedule-triggered flow.
firstExecutionFrom (datetime) --
Specifies the date range for the records to import from the connector in the first flow run.
flowErrorDeactivationThreshold (integer) --
Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.
dict
[REQUIRED]
The configuration that controls how Amazon AppFlow retrieves data from the source connector.
connectorType (string) -- [REQUIRED]
The type of connector, such as Salesforce, Amplitude, and so on.
apiVersion (string) --
The API version of the connector when it's used as a source in the flow.
connectorProfileName (string) --
The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.
sourceConnectorProperties (dict) -- [REQUIRED]
Specifies the information that is required to query a particular source connector.
Amplitude (dict) --
Specifies the information that is required for querying Amplitude.
object (string) -- [REQUIRED]
The object specified in the Amplitude flow source.
Datadog (dict) --
Specifies the information that is required for querying Datadog.
object (string) -- [REQUIRED]
The object specified in the Datadog flow source.
Dynatrace (dict) --
Specifies the information that is required for querying Dynatrace.
object (string) -- [REQUIRED]
The object specified in the Dynatrace flow source.
GoogleAnalytics (dict) --
Specifies the information that is required for querying Google Analytics.
object (string) -- [REQUIRED]
The object specified in the Google Analytics flow source.
InforNexus (dict) --
Specifies the information that is required for querying Infor Nexus.
object (string) -- [REQUIRED]
The object specified in the Infor Nexus flow source.
Marketo (dict) --
Specifies the information that is required for querying Marketo.
object (string) -- [REQUIRED]
The object specified in the Marketo flow source.
S3 (dict) --
Specifies the information that is required for querying Amazon S3.
bucketName (string) -- [REQUIRED]
The Amazon S3 bucket name where the source files are stored.
bucketPrefix (string) --
The object key for the Amazon S3 bucket in which the source files are stored.
s3InputFormatConfig (dict) --
When you use Amazon S3 as the source, the configuration format that you provide the flow input data.
s3InputFileType (string) --
The file type that Amazon AppFlow gets from your Amazon S3 bucket.
Salesforce (dict) --
Specifies the information that is required for querying Salesforce.
object (string) -- [REQUIRED]
The object specified in the Salesforce flow source.
enableDynamicFieldUpdate (boolean) --
The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.
includeDeletedRecords (boolean) --
Indicates whether Amazon AppFlow includes deleted files in the flow run.
dataTransferApi (string) --
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.
ServiceNow (dict) --
Specifies the information that is required for querying ServiceNow.
object (string) -- [REQUIRED]
The object specified in the ServiceNow flow source.
Singular (dict) --
Specifies the information that is required for querying Singular.
object (string) -- [REQUIRED]
The object specified in the Singular flow source.
Slack (dict) --
Specifies the information that is required for querying Slack.
object (string) -- [REQUIRED]
The object specified in the Slack flow source.
Trendmicro (dict) --
Specifies the information that is required for querying Trend Micro.
object (string) -- [REQUIRED]
The object specified in the Trend Micro flow source.
Veeva (dict) --
Specifies the information that is required for querying Veeva.
object (string) -- [REQUIRED]
The object specified in the Veeva flow source.
documentType (string) --
The document type specified in the Veeva document extract flow.
includeSourceFiles (boolean) --
Boolean value to include source files in Veeva document extract flow.
includeRenditions (boolean) --
Boolean value to include file renditions in Veeva document extract flow.
includeAllVersions (boolean) --
Boolean value to include All Versions of files in Veeva document extract flow.
Zendesk (dict) --
Specifies the information that is required for querying Zendesk.
object (string) -- [REQUIRED]
The object specified in the Zendesk flow source.
SAPOData (dict) --
The properties that are applied when using SAPOData as a flow source.
objectPath (string) --
The object path specified in the SAPOData flow source.
CustomConnector (dict) --
The properties that are applied when the custom connector is being used as a source.
entityName (string) -- [REQUIRED]
The entity specified in the custom connector as a source in the flow.
customProperties (dict) --
Custom properties that are required to use the custom connector as a source.
(string) --
(string) --
dataTransferApi (dict) --
The API of the connector application that Amazon AppFlow uses to transfer your data.
Name (string) --
The name of the connector application API.
Type (string) --
You can specify one of the following types:
AUTOMATIC
The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.
SYNC
A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.
ASYNC
An asynchronous API. This type of API optimizes a flow for large datasets.
Pardot (dict) --
Specifies the information that is required for querying Salesforce Pardot.
object (string) -- [REQUIRED]
The object specified in the Salesforce Pardot flow source.
incrementalPullConfig (dict) --
Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.
datetimeTypeFieldName (string) --
A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.
list
[REQUIRED]
The configuration that controls how Amazon AppFlow places data in the destination connector.
(dict) --
Contains information about the configuration of destination connectors present in the flow.
connectorType (string) -- [REQUIRED]
The type of connector, such as Salesforce, Amplitude, and so on.
apiVersion (string) --
The API version that the destination connector uses.
connectorProfileName (string) --
The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.
destinationConnectorProperties (dict) -- [REQUIRED]
This stores the information that is required to query a particular connector.
Redshift (dict) --
The properties required to query Amazon Redshift.
object (string) -- [REQUIRED]
The object specified in the Amazon Redshift flow destination.
intermediateBucketName (string) -- [REQUIRED]
The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.
bucketPrefix (string) --
The object key for the bucket in which Amazon AppFlow places the destination files.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
S3 (dict) --
The properties required to query Amazon S3.
bucketName (string) -- [REQUIRED]
The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
bucketPrefix (string) --
The object key for the destination bucket in which Amazon AppFlow places the files.
s3OutputFormatConfig (dict) --
The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.
fileType (string) --
Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.
prefixConfig (dict) --
Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.
prefixType (string) --
Determines the format of the prefix, and whether it applies to the file name, file path, or both.
prefixFormat (string) --
Determines the level of granularity for the date and time that's included in the prefix.
pathPrefixHierarchy (list) --
Specifies whether the destination file path includes either or both of the following elements:
EXECUTION_ID
The ID that Amazon AppFlow assigns to the flow run.
SCHEMA_VERSION
The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:
Source-to-destination field mappings
Field data types
Partition keys
(string) --
aggregationConfig (dict) --
The aggregation settings that you can use to customize the output format of your flow data.
aggregationType (string) --
Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.
targetFileSize (integer) --
The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.
preserveSourceDataTyping (boolean) --
If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.
true: Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or 1 in your source data is still an integer in your output.
false: Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of 1 in your source data becomes the string "1" in the output.
Salesforce (dict) --
The properties required to query Salesforce.
object (string) -- [REQUIRED]
The object specified in the Salesforce flow destination.
idFieldNames (list) --
The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.
(string) --
errorHandlingConfig (dict) --
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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
This specifies the type of write operation to be performed in Salesforce. When the value is UPSERT, then idFieldNames is required.
dataTransferApi (string) --
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.
Snowflake (dict) --
The properties required to query Snowflake.
object (string) -- [REQUIRED]
The object specified in the Snowflake flow destination.
intermediateBucketName (string) -- [REQUIRED]
The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.
bucketPrefix (string) --
The object key for the destination bucket in which Amazon AppFlow places the files.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
EventBridge (dict) --
The properties required to query Amazon EventBridge.
object (string) -- [REQUIRED]
The object specified in the Amazon EventBridge flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
LookoutMetrics (dict) --
The properties required to query Amazon Lookout for Metrics.
Upsolver (dict) --
The properties required to query Upsolver.
bucketName (string) -- [REQUIRED]
The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
bucketPrefix (string) --
The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.
s3OutputFormatConfig (dict) -- [REQUIRED]
The configuration that determines how data is formatted when Upsolver is used as the flow destination.
fileType (string) --
Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.
prefixConfig (dict) -- [REQUIRED]
Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.
prefixType (string) --
Determines the format of the prefix, and whether it applies to the file name, file path, or both.
prefixFormat (string) --
Determines the level of granularity for the date and time that's included in the prefix.
pathPrefixHierarchy (list) --
Specifies whether the destination file path includes either or both of the following elements:
EXECUTION_ID
The ID that Amazon AppFlow assigns to the flow run.
SCHEMA_VERSION
The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:
Source-to-destination field mappings
Field data types
Partition keys
(string) --
aggregationConfig (dict) --
The aggregation settings that you can use to customize the output format of your flow data.
aggregationType (string) --
Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.
targetFileSize (integer) --
The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.
Honeycode (dict) --
The properties required to query Amazon Honeycode.
object (string) -- [REQUIRED]
The object specified in the Amazon Honeycode flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
CustomerProfiles (dict) --
The properties required to query Amazon Connect Customer Profiles.
domainName (string) -- [REQUIRED]
The unique name of the Amazon Connect Customer Profiles domain.
objectTypeName (string) --
The object specified in the Amazon Connect Customer Profiles flow destination.
Zendesk (dict) --
The properties required to query Zendesk.
object (string) -- [REQUIRED]
The object specified in the Zendesk flow destination.
idFieldNames (list) --
A list of field names that can be used as an ID field when performing a write operation.
(string) --
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.
Marketo (dict) --
The properties required to query Marketo.
object (string) -- [REQUIRED]
The object specified in the Marketo flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
CustomConnector (dict) --
The properties that are required to query the custom Connector.
entityName (string) -- [REQUIRED]
The entity specified in the custom connector as a destination in the flow.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
Specifies the type of write operation to be performed in the custom connector when it's used as destination.
idFieldNames (list) --
The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update, delete, or upsert.
(string) --
customProperties (dict) --
The custom properties that are specific to the connector when it's used as a destination in the flow.
(string) --
(string) --
SAPOData (dict) --
The properties required to query SAPOData.
objectPath (string) -- [REQUIRED]
The object path specified in the SAPOData flow destination.
successResponseHandlingConfig (dict) --
Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.
For example, this setting would determine where to write the response from a destination connector upon a successful insert operation.
bucketPrefix (string) --
The Amazon S3 bucket prefix.
bucketName (string) --
The name of the Amazon S3 bucket.
idFieldNames (list) --
A list of field names that can be used as an ID field when performing a write operation.
(string) --
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.
list
[REQUIRED]
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
(dict) --
A class for modeling different type of tasks. Task implementation varies based on the TaskType.
sourceFields (list) -- [REQUIRED]
The source fields to which a particular task is applied.
(string) --
connectorOperator (dict) --
The operation to be performed on the provided source fields.
Amplitude (string) --
The operation to be performed on the provided Amplitude source fields.
Datadog (string) --
The operation to be performed on the provided Datadog source fields.
Dynatrace (string) --
The operation to be performed on the provided Dynatrace source fields.
GoogleAnalytics (string) --
The operation to be performed on the provided Google Analytics source fields.
InforNexus (string) --
The operation to be performed on the provided Infor Nexus source fields.
Marketo (string) --
The operation to be performed on the provided Marketo source fields.
S3 (string) --
The operation to be performed on the provided Amazon S3 source fields.
Salesforce (string) --
The operation to be performed on the provided Salesforce source fields.
ServiceNow (string) --
The operation to be performed on the provided ServiceNow source fields.
Singular (string) --
The operation to be performed on the provided Singular source fields.
Slack (string) --
The operation to be performed on the provided Slack source fields.
Trendmicro (string) --
The operation to be performed on the provided Trend Micro source fields.
Veeva (string) --
The operation to be performed on the provided Veeva source fields.
Zendesk (string) --
The operation to be performed on the provided Zendesk source fields.
SAPOData (string) --
The operation to be performed on the provided SAPOData source fields.
CustomConnector (string) --
Operators supported by the custom connector.
Pardot (string) --
The operation to be performed on the provided Salesforce Pardot source fields.
destinationField (string) --
A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.
taskType (string) -- [REQUIRED]
Specifies the particular task implementation that Amazon AppFlow performs.
taskProperties (dict) --
A map used to store task-related information. The execution service looks for particular information based on the TaskType.
(string) --
(string) --
dict
The tags used to organize, track, or control access for your flow.
(string) --
(string) --
dict
Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.
glueDataCatalog (dict) --
Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog.
roleArn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.
For an example IAM policy that has the required permissions, see Identity-based policy examples for Amazon AppFlow.
databaseName (string) -- [REQUIRED]
The name of the Data Catalog database that stores the metadata tables that Amazon AppFlow creates in your Amazon Web Services account. These tables contain metadata for the data that's transferred by the flow that you configure with this parameter.
tablePrefix (string) -- [REQUIRED]
A naming prefix for each Data Catalog table that Amazon AppFlow creates for the flow that you configure with this setting. Amazon AppFlow adds the prefix to the beginning of the each table name.
string
The clientToken parameter is an idempotency token. It ensures that your CreateFlow request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.
If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to CreateFlow. The token is active for 8 hours.
This field is autopopulated if not provided.
dict
Response Syntax
{ 'flowArn': 'string', 'flowStatus': 'Active'|'Deprecated'|'Deleted'|'Draft'|'Errored'|'Suspended' }
Response Structure
(dict) --
flowArn (string) --
The flow's Amazon Resource Name (ARN).
flowStatus (string) --
Indicates the current status of the flow.
{'connectorConfiguration': {'supportedDataTransferApis': [{'Name': 'string', 'Type': 'SYNC | ' 'ASYNC | ' 'AUTOMATIC'}], 'supportedDataTransferTypes': ['RECORD | FILE']}}
Describes the given custom connector registered in your Amazon Web Services account. This API can be used for custom connectors that are registered in your account and also for Amazon authored connectors.
See also: AWS API Documentation
Request Syntax
client.describe_connector( connectorType='Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', connectorLabel='string' )
string
[REQUIRED]
The connector type, such as CUSTOMCONNECTOR, Saleforce, Marketo. Please choose CUSTOMCONNECTOR for Lambda based custom connectors.
string
The label of the connector. The label is unique for each ConnectorRegistration in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR connector type/.
dict
Response Syntax
{ 'connectorConfiguration': { 'canUseAsSource': True|False, 'canUseAsDestination': True|False, 'supportedDestinationConnectors': [ 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', ], 'supportedSchedulingFrequencies': [ 'BYMINUTE'|'HOURLY'|'DAILY'|'WEEKLY'|'MONTHLY'|'ONCE', ], 'isPrivateLinkEnabled': True|False, 'isPrivateLinkEndpointUrlRequired': True|False, 'supportedTriggerTypes': [ 'Scheduled'|'Event'|'OnDemand', ], 'connectorMetadata': { 'Amplitude': {}, 'Datadog': {}, 'Dynatrace': {}, 'GoogleAnalytics': { 'oAuthScopes': [ 'string', ] }, 'InforNexus': {}, 'Marketo': {}, 'Redshift': {}, 'S3': {}, 'Salesforce': { 'oAuthScopes': [ 'string', ], 'dataTransferApis': [ 'AUTOMATIC'|'BULKV2'|'REST_SYNC', ], 'oauth2GrantTypesSupported': [ 'CLIENT_CREDENTIALS'|'AUTHORIZATION_CODE'|'JWT_BEARER', ] }, 'ServiceNow': {}, 'Singular': {}, 'Slack': { 'oAuthScopes': [ 'string', ] }, 'Snowflake': { 'supportedRegions': [ 'string', ] }, 'Trendmicro': {}, 'Veeva': {}, 'Zendesk': { 'oAuthScopes': [ 'string', ] }, 'EventBridge': {}, 'Upsolver': {}, 'CustomerProfiles': {}, 'Honeycode': { 'oAuthScopes': [ 'string', ] }, 'SAPOData': {}, 'Pardot': {} }, 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'connectorLabel': 'string', 'connectorDescription': 'string', 'connectorOwner': 'string', 'connectorName': 'string', 'connectorVersion': 'string', 'connectorArn': 'string', 'connectorModes': [ 'string', ], 'authenticationConfig': { 'isBasicAuthSupported': True|False, 'isApiKeyAuthSupported': True|False, 'isOAuth2Supported': True|False, 'isCustomAuthSupported': True|False, 'oAuth2Defaults': { 'oauthScopes': [ 'string', ], 'tokenUrls': [ 'string', ], 'authCodeUrls': [ 'string', ], 'oauth2GrantTypesSupported': [ 'CLIENT_CREDENTIALS'|'AUTHORIZATION_CODE'|'JWT_BEARER', ], 'oauth2CustomProperties': [ { 'key': 'string', 'isRequired': True|False, 'label': 'string', 'description': 'string', 'isSensitiveField': True|False, 'connectorSuppliedValues': [ 'string', ], 'type': 'TOKEN_URL'|'AUTH_URL' }, ] }, 'customAuthConfigs': [ { 'customAuthenticationType': 'string', 'authParameters': [ { 'key': 'string', 'isRequired': True|False, 'label': 'string', 'description': 'string', 'isSensitiveField': True|False, 'connectorSuppliedValues': [ 'string', ] }, ] }, ] }, 'connectorRuntimeSettings': [ { 'key': 'string', 'dataType': 'string', 'isRequired': True|False, 'label': 'string', 'description': 'string', 'scope': 'string', 'connectorSuppliedValueOptions': [ 'string', ] }, ], 'supportedApiVersions': [ 'string', ], 'supportedOperators': [ 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', ], 'supportedWriteOperations': [ 'INSERT'|'UPSERT'|'UPDATE'|'DELETE', ], 'connectorProvisioningType': 'LAMBDA', 'connectorProvisioningConfig': { 'lambda': { 'lambdaArn': 'string' } }, 'logoURL': 'string', 'registeredAt': datetime(2015, 1, 1), 'registeredBy': 'string', 'supportedDataTransferTypes': [ 'RECORD'|'FILE', ], 'supportedDataTransferApis': [ { 'Name': 'string', 'Type': 'SYNC'|'ASYNC'|'AUTOMATIC' }, ] } }
Response Structure
(dict) --
connectorConfiguration (dict) --
Configuration info of all the connectors that the user requested.
canUseAsSource (boolean) --
Specifies whether the connector can be used as a source.
canUseAsDestination (boolean) --
Specifies whether the connector can be used as a destination.
supportedDestinationConnectors (list) --
Lists the connectors that are available for use as destinations.
(string) --
supportedSchedulingFrequencies (list) --
Specifies the supported flow frequency for that connector.
(string) --
isPrivateLinkEnabled (boolean) --
Specifies if PrivateLink is enabled for that connector.
isPrivateLinkEndpointUrlRequired (boolean) --
Specifies if a PrivateLink endpoint URL is required.
supportedTriggerTypes (list) --
Specifies the supported trigger types for the flow.
(string) --
connectorMetadata (dict) --
Specifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on.
Amplitude (dict) --
The connector metadata specific to Amplitude.
Datadog (dict) --
The connector metadata specific to Datadog.
Dynatrace (dict) --
The connector metadata specific to Dynatrace.
GoogleAnalytics (dict) --
The connector metadata specific to Google Analytics.
oAuthScopes (list) --
The desired authorization scope for the Google Analytics account.
(string) --
InforNexus (dict) --
The connector metadata specific to Infor Nexus.
Marketo (dict) --
The connector metadata specific to Marketo.
Redshift (dict) --
The connector metadata specific to Amazon Redshift.
S3 (dict) --
The connector metadata specific to Amazon S3.
Salesforce (dict) --
The connector metadata specific to Salesforce.
oAuthScopes (list) --
The desired authorization scope for the Salesforce account.
(string) --
dataTransferApis (list) --
The Salesforce APIs that you can have Amazon AppFlow use when your flows transfers data to or from Salesforce.
(string) --
oauth2GrantTypesSupported (list) --
The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an access token from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your Salesforce records.
AUTHORIZATION_CODE
Amazon AppFlow passes an authorization code when it requests the access token from Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in to your Salesforce account and authorize Amazon AppFlow to access your records.
CLIENT_CREDENTIALS
Amazon AppFlow passes client credentials (a client ID and client secret) when it requests the access token from Salesforce. You provide these credentials to Amazon AppFlow when you define the connection to your Salesforce account.
JWT_BEARER
Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to your Salesforce account. When you use this grant type, you don't need to log in to your Salesforce account to authorize Amazon AppFlow to access your records.
(string) --
ServiceNow (dict) --
The connector metadata specific to ServiceNow.
Singular (dict) --
The connector metadata specific to Singular.
Slack (dict) --
The connector metadata specific to Slack.
oAuthScopes (list) --
The desired authorization scope for the Slack account.
(string) --
Snowflake (dict) --
The connector metadata specific to Snowflake.
supportedRegions (list) --
Specifies the supported Amazon Web Services Regions when using Snowflake.
(string) --
Trendmicro (dict) --
The connector metadata specific to Trend Micro.
Veeva (dict) --
The connector metadata specific to Veeva.
Zendesk (dict) --
The connector metadata specific to Zendesk.
oAuthScopes (list) --
The desired authorization scope for the Zendesk account.
(string) --
EventBridge (dict) --
The connector metadata specific to Amazon EventBridge.
Upsolver (dict) --
The connector metadata specific to Upsolver.
CustomerProfiles (dict) --
The connector metadata specific to Amazon Connect Customer Profiles.
Honeycode (dict) --
The connector metadata specific to Amazon Honeycode.
oAuthScopes (list) --
The desired authorization scope for the Amazon Honeycode account.
(string) --
SAPOData (dict) --
The connector metadata specific to SAPOData.
Pardot (dict) --
The connector metadata specific to Salesforce Pardot.
connectorType (string) --
The connector type.
connectorLabel (string) --
The label used for registering the connector.
connectorDescription (string) --
A description about the connector.
connectorOwner (string) --
The owner who developed the connector.
connectorName (string) --
The connector name.
connectorVersion (string) --
The connector version.
connectorArn (string) --
The Amazon Resource Name (ARN) for the registered connector.
connectorModes (list) --
The connection modes that the connector supports.
(string) --
authenticationConfig (dict) --
The authentication config required for the connector.
isBasicAuthSupported (boolean) --
Indicates whether basic authentication is supported by the connector.
isApiKeyAuthSupported (boolean) --
Indicates whether API key authentication is supported by the connector
isOAuth2Supported (boolean) --
Indicates whether OAuth 2.0 authentication is supported by the connector.
isCustomAuthSupported (boolean) --
Indicates whether custom authentication is supported by the connector
oAuth2Defaults (dict) --
Contains the default values required for OAuth 2.0 authentication.
oauthScopes (list) --
OAuth 2.0 scopes that the connector supports.
(string) --
tokenUrls (list) --
Token URLs that can be used for OAuth 2.0 authentication.
(string) --
authCodeUrls (list) --
Auth code URLs that can be used for OAuth 2.0 authentication.
(string) --
oauth2GrantTypesSupported (list) --
OAuth 2.0 grant types supported by the connector.
(string) --
oauth2CustomProperties (list) --
List of custom parameters required for OAuth 2.0 authentication.
(dict) --
Custom parameter required for OAuth 2.0 authentication.
key (string) --
The key of the custom parameter required for OAuth 2.0 authentication.
isRequired (boolean) --
Indicates whether the custom parameter for OAuth 2.0 authentication is required.
label (string) --
The label of the custom parameter used for OAuth 2.0 authentication.
description (string) --
A description about the custom parameter used for OAuth 2.0 authentication.
isSensitiveField (boolean) --
Indicates whether this authentication custom parameter is a sensitive field.
connectorSuppliedValues (list) --
Contains default values for this authentication parameter that are supplied by the connector.
(string) --
type (string) --
Indicates whether custom parameter is used with TokenUrl or AuthUrl.
customAuthConfigs (list) --
Contains information required for custom authentication.
(dict) --
Configuration information required for custom authentication.
customAuthenticationType (string) --
The authentication type that the custom connector uses.
authParameters (list) --
Information about authentication parameters required for authentication.
(dict) --
Information about required authentication parameters.
key (string) --
The authentication key required to authenticate with the connector.
isRequired (boolean) --
Indicates whether this authentication parameter is required.
label (string) --
Label used for authentication parameter.
description (string) --
A description about the authentication parameter.
isSensitiveField (boolean) --
Indicates whether this authentication parameter is a sensitive field.
connectorSuppliedValues (list) --
Contains default values for this authentication parameter that are supplied by the connector.
(string) --
connectorRuntimeSettings (list) --
The required connector runtime settings.
(dict) --
Contains information about the connector runtime settings that are required for flow execution.
key (string) --
Contains value information about the connector runtime setting.
dataType (string) --
Data type of the connector runtime setting.
isRequired (boolean) --
Indicates whether this connector runtime setting is required.
label (string) --
A label used for connector runtime setting.
description (string) --
A description about the connector runtime setting.
scope (string) --
Indicates the scope of the connector runtime setting.
connectorSuppliedValueOptions (list) --
Contains default values for the connector runtime setting that are supplied by the connector.
(string) --
supportedApiVersions (list) --
A list of API versions that are supported by the connector.
(string) --
supportedOperators (list) --
A list of operators supported by the connector.
(string) --
supportedWriteOperations (list) --
A list of write operations supported by the connector.
(string) --
The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.
connectorProvisioningType (string) --
The provisioning type used to register the connector.
connectorProvisioningConfig (dict) --
The configuration required for registering the connector.
lambda (dict) --
Contains information about the configuration of the lambda which is being registered as the connector.
lambdaArn (string) --
Lambda ARN of the connector being registered.
logoURL (string) --
Logo URL of the connector.
registeredAt (datetime) --
The date on which the connector was registered.
registeredBy (string) --
Information about who registered the connector.
supportedDataTransferTypes (list) --
The data transfer types that the connector supports.
RECORD
Structured records.
FILE
Files or binary data.
(string) --
supportedDataTransferApis (list) --
The APIs of the connector application that Amazon AppFlow can use to transfer your data.
(dict) --
The API of the connector application that Amazon AppFlow uses to transfer your data.
Name (string) --
The name of the connector application API.
Type (string) --
You can specify one of the following types:
AUTOMATIC
The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.
SYNC
A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.
ASYNC
An asynchronous API. This type of API optimizes a flow for large datasets.
{'connectorConfigurations': {'supportedDataTransferApis': [{'Name': 'string', 'Type': 'SYNC | ' 'ASYNC | ' 'AUTOMATIC'}], 'supportedDataTransferTypes': ['RECORD | FILE']}, 'connectors': {'supportedDataTransferTypes': ['RECORD | FILE']}}
Describes the connectors vended by Amazon AppFlow for specified connector types. If you don't specify a connector type, this operation describes all connectors vended by Amazon AppFlow. If there are more connectors than can be returned in one page, the response contains a nextToken object, which can be be passed in to the next call to the DescribeConnectors API operation to retrieve the next page.
See also: AWS API Documentation
Request Syntax
client.describe_connectors( connectorTypes=[ 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', ], maxResults=123, nextToken='string' )
list
The type of connector, such as Salesforce, Amplitude, and so on.
(string) --
integer
The maximum number of items that should be returned in the result set. The default is 20.
string
The pagination token for the next page of data.
dict
Response Syntax
{ 'connectorConfigurations': { 'string': { 'canUseAsSource': True|False, 'canUseAsDestination': True|False, 'supportedDestinationConnectors': [ 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', ], 'supportedSchedulingFrequencies': [ 'BYMINUTE'|'HOURLY'|'DAILY'|'WEEKLY'|'MONTHLY'|'ONCE', ], 'isPrivateLinkEnabled': True|False, 'isPrivateLinkEndpointUrlRequired': True|False, 'supportedTriggerTypes': [ 'Scheduled'|'Event'|'OnDemand', ], 'connectorMetadata': { 'Amplitude': {}, 'Datadog': {}, 'Dynatrace': {}, 'GoogleAnalytics': { 'oAuthScopes': [ 'string', ] }, 'InforNexus': {}, 'Marketo': {}, 'Redshift': {}, 'S3': {}, 'Salesforce': { 'oAuthScopes': [ 'string', ], 'dataTransferApis': [ 'AUTOMATIC'|'BULKV2'|'REST_SYNC', ], 'oauth2GrantTypesSupported': [ 'CLIENT_CREDENTIALS'|'AUTHORIZATION_CODE'|'JWT_BEARER', ] }, 'ServiceNow': {}, 'Singular': {}, 'Slack': { 'oAuthScopes': [ 'string', ] }, 'Snowflake': { 'supportedRegions': [ 'string', ] }, 'Trendmicro': {}, 'Veeva': {}, 'Zendesk': { 'oAuthScopes': [ 'string', ] }, 'EventBridge': {}, 'Upsolver': {}, 'CustomerProfiles': {}, 'Honeycode': { 'oAuthScopes': [ 'string', ] }, 'SAPOData': {}, 'Pardot': {} }, 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'connectorLabel': 'string', 'connectorDescription': 'string', 'connectorOwner': 'string', 'connectorName': 'string', 'connectorVersion': 'string', 'connectorArn': 'string', 'connectorModes': [ 'string', ], 'authenticationConfig': { 'isBasicAuthSupported': True|False, 'isApiKeyAuthSupported': True|False, 'isOAuth2Supported': True|False, 'isCustomAuthSupported': True|False, 'oAuth2Defaults': { 'oauthScopes': [ 'string', ], 'tokenUrls': [ 'string', ], 'authCodeUrls': [ 'string', ], 'oauth2GrantTypesSupported': [ 'CLIENT_CREDENTIALS'|'AUTHORIZATION_CODE'|'JWT_BEARER', ], 'oauth2CustomProperties': [ { 'key': 'string', 'isRequired': True|False, 'label': 'string', 'description': 'string', 'isSensitiveField': True|False, 'connectorSuppliedValues': [ 'string', ], 'type': 'TOKEN_URL'|'AUTH_URL' }, ] }, 'customAuthConfigs': [ { 'customAuthenticationType': 'string', 'authParameters': [ { 'key': 'string', 'isRequired': True|False, 'label': 'string', 'description': 'string', 'isSensitiveField': True|False, 'connectorSuppliedValues': [ 'string', ] }, ] }, ] }, 'connectorRuntimeSettings': [ { 'key': 'string', 'dataType': 'string', 'isRequired': True|False, 'label': 'string', 'description': 'string', 'scope': 'string', 'connectorSuppliedValueOptions': [ 'string', ] }, ], 'supportedApiVersions': [ 'string', ], 'supportedOperators': [ 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', ], 'supportedWriteOperations': [ 'INSERT'|'UPSERT'|'UPDATE'|'DELETE', ], 'connectorProvisioningType': 'LAMBDA', 'connectorProvisioningConfig': { 'lambda': { 'lambdaArn': 'string' } }, 'logoURL': 'string', 'registeredAt': datetime(2015, 1, 1), 'registeredBy': 'string', 'supportedDataTransferTypes': [ 'RECORD'|'FILE', ], 'supportedDataTransferApis': [ { 'Name': 'string', 'Type': 'SYNC'|'ASYNC'|'AUTOMATIC' }, ] } }, 'connectors': [ { 'connectorDescription': 'string', 'connectorName': 'string', 'connectorOwner': 'string', 'connectorVersion': 'string', 'applicationType': 'string', 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'connectorLabel': 'string', 'registeredAt': datetime(2015, 1, 1), 'registeredBy': 'string', 'connectorProvisioningType': 'LAMBDA', 'connectorModes': [ 'string', ], 'supportedDataTransferTypes': [ 'RECORD'|'FILE', ] }, ], 'nextToken': 'string' }
Response Structure
(dict) --
connectorConfigurations (dict) --
The configuration that is applied to the connectors used in the flow.
(string) --
(dict) --
The configuration settings related to a given connector.
canUseAsSource (boolean) --
Specifies whether the connector can be used as a source.
canUseAsDestination (boolean) --
Specifies whether the connector can be used as a destination.
supportedDestinationConnectors (list) --
Lists the connectors that are available for use as destinations.
(string) --
supportedSchedulingFrequencies (list) --
Specifies the supported flow frequency for that connector.
(string) --
isPrivateLinkEnabled (boolean) --
Specifies if PrivateLink is enabled for that connector.
isPrivateLinkEndpointUrlRequired (boolean) --
Specifies if a PrivateLink endpoint URL is required.
supportedTriggerTypes (list) --
Specifies the supported trigger types for the flow.
(string) --
connectorMetadata (dict) --
Specifies connector-specific metadata such as oAuthScopes, supportedRegions, privateLinkServiceUrl, and so on.
Amplitude (dict) --
The connector metadata specific to Amplitude.
Datadog (dict) --
The connector metadata specific to Datadog.
Dynatrace (dict) --
The connector metadata specific to Dynatrace.
GoogleAnalytics (dict) --
The connector metadata specific to Google Analytics.
oAuthScopes (list) --
The desired authorization scope for the Google Analytics account.
(string) --
InforNexus (dict) --
The connector metadata specific to Infor Nexus.
Marketo (dict) --
The connector metadata specific to Marketo.
Redshift (dict) --
The connector metadata specific to Amazon Redshift.
S3 (dict) --
The connector metadata specific to Amazon S3.
Salesforce (dict) --
The connector metadata specific to Salesforce.
oAuthScopes (list) --
The desired authorization scope for the Salesforce account.
(string) --
dataTransferApis (list) --
The Salesforce APIs that you can have Amazon AppFlow use when your flows transfers data to or from Salesforce.
(string) --
oauth2GrantTypesSupported (list) --
The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an access token from Salesforce. Amazon AppFlow requires an access token each time it attempts to access your Salesforce records.
AUTHORIZATION_CODE
Amazon AppFlow passes an authorization code when it requests the access token from Salesforce. Amazon AppFlow receives the authorization code from Salesforce after you log in to your Salesforce account and authorize Amazon AppFlow to access your records.
CLIENT_CREDENTIALS
Amazon AppFlow passes client credentials (a client ID and client secret) when it requests the access token from Salesforce. You provide these credentials to Amazon AppFlow when you define the connection to your Salesforce account.
JWT_BEARER
Amazon AppFlow passes a JSON web token (JWT) when it requests the access token from Salesforce. You provide the JWT to Amazon AppFlow when you define the connection to your Salesforce account. When you use this grant type, you don't need to log in to your Salesforce account to authorize Amazon AppFlow to access your records.
(string) --
ServiceNow (dict) --
The connector metadata specific to ServiceNow.
Singular (dict) --
The connector metadata specific to Singular.
Slack (dict) --
The connector metadata specific to Slack.
oAuthScopes (list) --
The desired authorization scope for the Slack account.
(string) --
Snowflake (dict) --
The connector metadata specific to Snowflake.
supportedRegions (list) --
Specifies the supported Amazon Web Services Regions when using Snowflake.
(string) --
Trendmicro (dict) --
The connector metadata specific to Trend Micro.
Veeva (dict) --
The connector metadata specific to Veeva.
Zendesk (dict) --
The connector metadata specific to Zendesk.
oAuthScopes (list) --
The desired authorization scope for the Zendesk account.
(string) --
EventBridge (dict) --
The connector metadata specific to Amazon EventBridge.
Upsolver (dict) --
The connector metadata specific to Upsolver.
CustomerProfiles (dict) --
The connector metadata specific to Amazon Connect Customer Profiles.
Honeycode (dict) --
The connector metadata specific to Amazon Honeycode.
oAuthScopes (list) --
The desired authorization scope for the Amazon Honeycode account.
(string) --
SAPOData (dict) --
The connector metadata specific to SAPOData.
Pardot (dict) --
The connector metadata specific to Salesforce Pardot.
connectorType (string) --
The connector type.
connectorLabel (string) --
The label used for registering the connector.
connectorDescription (string) --
A description about the connector.
connectorOwner (string) --
The owner who developed the connector.
connectorName (string) --
The connector name.
connectorVersion (string) --
The connector version.
connectorArn (string) --
The Amazon Resource Name (ARN) for the registered connector.
connectorModes (list) --
The connection modes that the connector supports.
(string) --
authenticationConfig (dict) --
The authentication config required for the connector.
isBasicAuthSupported (boolean) --
Indicates whether basic authentication is supported by the connector.
isApiKeyAuthSupported (boolean) --
Indicates whether API key authentication is supported by the connector
isOAuth2Supported (boolean) --
Indicates whether OAuth 2.0 authentication is supported by the connector.
isCustomAuthSupported (boolean) --
Indicates whether custom authentication is supported by the connector
oAuth2Defaults (dict) --
Contains the default values required for OAuth 2.0 authentication.
oauthScopes (list) --
OAuth 2.0 scopes that the connector supports.
(string) --
tokenUrls (list) --
Token URLs that can be used for OAuth 2.0 authentication.
(string) --
authCodeUrls (list) --
Auth code URLs that can be used for OAuth 2.0 authentication.
(string) --
oauth2GrantTypesSupported (list) --
OAuth 2.0 grant types supported by the connector.
(string) --
oauth2CustomProperties (list) --
List of custom parameters required for OAuth 2.0 authentication.
(dict) --
Custom parameter required for OAuth 2.0 authentication.
key (string) --
The key of the custom parameter required for OAuth 2.0 authentication.
isRequired (boolean) --
Indicates whether the custom parameter for OAuth 2.0 authentication is required.
label (string) --
The label of the custom parameter used for OAuth 2.0 authentication.
description (string) --
A description about the custom parameter used for OAuth 2.0 authentication.
isSensitiveField (boolean) --
Indicates whether this authentication custom parameter is a sensitive field.
connectorSuppliedValues (list) --
Contains default values for this authentication parameter that are supplied by the connector.
(string) --
type (string) --
Indicates whether custom parameter is used with TokenUrl or AuthUrl.
customAuthConfigs (list) --
Contains information required for custom authentication.
(dict) --
Configuration information required for custom authentication.
customAuthenticationType (string) --
The authentication type that the custom connector uses.
authParameters (list) --
Information about authentication parameters required for authentication.
(dict) --
Information about required authentication parameters.
key (string) --
The authentication key required to authenticate with the connector.
isRequired (boolean) --
Indicates whether this authentication parameter is required.
label (string) --
Label used for authentication parameter.
description (string) --
A description about the authentication parameter.
isSensitiveField (boolean) --
Indicates whether this authentication parameter is a sensitive field.
connectorSuppliedValues (list) --
Contains default values for this authentication parameter that are supplied by the connector.
(string) --
connectorRuntimeSettings (list) --
The required connector runtime settings.
(dict) --
Contains information about the connector runtime settings that are required for flow execution.
key (string) --
Contains value information about the connector runtime setting.
dataType (string) --
Data type of the connector runtime setting.
isRequired (boolean) --
Indicates whether this connector runtime setting is required.
label (string) --
A label used for connector runtime setting.
description (string) --
A description about the connector runtime setting.
scope (string) --
Indicates the scope of the connector runtime setting.
connectorSuppliedValueOptions (list) --
Contains default values for the connector runtime setting that are supplied by the connector.
(string) --
supportedApiVersions (list) --
A list of API versions that are supported by the connector.
(string) --
supportedOperators (list) --
A list of operators supported by the connector.
(string) --
supportedWriteOperations (list) --
A list of write operations supported by the connector.
(string) --
The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.
connectorProvisioningType (string) --
The provisioning type used to register the connector.
connectorProvisioningConfig (dict) --
The configuration required for registering the connector.
lambda (dict) --
Contains information about the configuration of the lambda which is being registered as the connector.
lambdaArn (string) --
Lambda ARN of the connector being registered.
logoURL (string) --
Logo URL of the connector.
registeredAt (datetime) --
The date on which the connector was registered.
registeredBy (string) --
Information about who registered the connector.
supportedDataTransferTypes (list) --
The data transfer types that the connector supports.
RECORD
Structured records.
FILE
Files or binary data.
(string) --
supportedDataTransferApis (list) --
The APIs of the connector application that Amazon AppFlow can use to transfer your data.
(dict) --
The API of the connector application that Amazon AppFlow uses to transfer your data.
Name (string) --
The name of the connector application API.
Type (string) --
You can specify one of the following types:
AUTOMATIC
The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.
SYNC
A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.
ASYNC
An asynchronous API. This type of API optimizes a flow for large datasets.
connectors (list) --
Information about the connectors supported in Amazon AppFlow.
(dict) --
Information about the registered connector.
connectorDescription (string) --
A description about the registered connector.
connectorName (string) --
The name of the connector.
connectorOwner (string) --
The owner of the connector.
connectorVersion (string) --
The connector version.
applicationType (string) --
The application type of the connector.
connectorType (string) --
The connector type.
connectorLabel (string) --
A label used for the connector.
registeredAt (datetime) --
The time at which the connector was registered.
registeredBy (string) --
The user who registered the connector.
connectorProvisioningType (string) --
The provisioning type that the connector uses.
connectorModes (list) --
The connection mode that the connector supports.
(string) --
supportedDataTransferTypes (list) --
The data transfer types that the connector supports.
RECORD
Structured records.
FILE
Files or binary data.
(string) --
nextToken (string) --
The pagination token for the next page of data.
{'sourceFlowConfig': {'sourceConnectorProperties': {'CustomConnector': {'dataTransferApi': {'Name': 'string', 'Type': 'SYNC ' '| ' 'ASYNC ' '| ' 'AUTOMATIC'}}}}}
Provides a description of the specified flow.
See also: AWS API Documentation
Request Syntax
client.describe_flow( flowName='string' )
string
[REQUIRED]
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
dict
Response Syntax
{ 'flowArn': 'string', 'description': 'string', 'flowName': 'string', 'kmsArn': 'string', 'flowStatus': 'Active'|'Deprecated'|'Deleted'|'Draft'|'Errored'|'Suspended', 'flowStatusMessage': 'string', 'sourceFlowConfig': { 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'apiVersion': 'string', 'connectorProfileName': 'string', 'sourceConnectorProperties': { 'Amplitude': { 'object': 'string' }, 'Datadog': { 'object': 'string' }, 'Dynatrace': { 'object': 'string' }, 'GoogleAnalytics': { 'object': 'string' }, 'InforNexus': { 'object': 'string' }, 'Marketo': { 'object': 'string' }, 'S3': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3InputFormatConfig': { 's3InputFileType': 'CSV'|'JSON' } }, 'Salesforce': { 'object': 'string', 'enableDynamicFieldUpdate': True|False, 'includeDeletedRecords': True|False, 'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC' }, 'ServiceNow': { 'object': 'string' }, 'Singular': { 'object': 'string' }, 'Slack': { 'object': 'string' }, 'Trendmicro': { 'object': 'string' }, 'Veeva': { 'object': 'string', 'documentType': 'string', 'includeSourceFiles': True|False, 'includeRenditions': True|False, 'includeAllVersions': True|False }, 'Zendesk': { 'object': 'string' }, 'SAPOData': { 'objectPath': 'string' }, 'CustomConnector': { 'entityName': 'string', 'customProperties': { 'string': 'string' }, 'dataTransferApi': { 'Name': 'string', 'Type': 'SYNC'|'ASYNC'|'AUTOMATIC' } }, 'Pardot': { 'object': 'string' } }, 'incrementalPullConfig': { 'datetimeTypeFieldName': 'string' } }, 'destinationFlowConfigList': [ { 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'apiVersion': 'string', 'connectorProfileName': 'string', 'destinationConnectorProperties': { 'Redshift': { 'object': 'string', 'intermediateBucketName': 'string', 'bucketPrefix': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'S3': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3OutputFormatConfig': { 'fileType': 'CSV'|'JSON'|'PARQUET', 'prefixConfig': { 'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME', 'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE', 'pathPrefixHierarchy': [ 'EXECUTION_ID'|'SCHEMA_VERSION', ] }, 'aggregationConfig': { 'aggregationType': 'None'|'SingleFile', 'targetFileSize': 123 }, 'preserveSourceDataTyping': True|False } }, 'Salesforce': { 'object': 'string', 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE', 'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC' }, 'Snowflake': { 'object': 'string', 'intermediateBucketName': 'string', 'bucketPrefix': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'EventBridge': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'LookoutMetrics': {}, 'Upsolver': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3OutputFormatConfig': { 'fileType': 'CSV'|'JSON'|'PARQUET', 'prefixConfig': { 'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME', 'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE', 'pathPrefixHierarchy': [ 'EXECUTION_ID'|'SCHEMA_VERSION', ] }, 'aggregationConfig': { 'aggregationType': 'None'|'SingleFile', 'targetFileSize': 123 } } }, 'Honeycode': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'CustomerProfiles': { 'domainName': 'string', 'objectTypeName': 'string' }, 'Zendesk': { 'object': 'string', 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE' }, 'Marketo': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'CustomConnector': { 'entityName': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE', 'idFieldNames': [ 'string', ], 'customProperties': { 'string': 'string' } }, 'SAPOData': { 'objectPath': 'string', 'successResponseHandlingConfig': { 'bucketPrefix': 'string', 'bucketName': 'string' }, 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE' } } }, ], 'lastRunExecutionDetails': { 'mostRecentExecutionMessage': 'string', 'mostRecentExecutionTime': datetime(2015, 1, 1), 'mostRecentExecutionStatus': 'InProgress'|'Successful'|'Error'|'CancelStarted'|'Canceled' }, 'triggerConfig': { 'triggerType': 'Scheduled'|'Event'|'OnDemand', 'triggerProperties': { 'Scheduled': { 'scheduleExpression': 'string', 'dataPullMode': 'Incremental'|'Complete', 'scheduleStartTime': datetime(2015, 1, 1), 'scheduleEndTime': datetime(2015, 1, 1), 'timezone': 'string', 'scheduleOffset': 123, 'firstExecutionFrom': datetime(2015, 1, 1), 'flowErrorDeactivationThreshold': 123 } } }, 'tasks': [ { 'sourceFields': [ 'string', ], 'connectorOperator': { 'Amplitude': 'BETWEEN', 'Datadog': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Dynatrace': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'GoogleAnalytics': 'PROJECTION'|'BETWEEN', 'InforNexus': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Marketo': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'S3': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Salesforce': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'ServiceNow': 'PROJECTION'|'CONTAINS'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Singular': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Slack': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Trendmicro': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Veeva': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Zendesk': 'PROJECTION'|'GREATER_THAN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'SAPOData': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'CustomConnector': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Pardot': 'PROJECTION'|'EQUAL_TO'|'NO_OP'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC' }, 'destinationField': 'string', 'taskType': 'Arithmetic'|'Filter'|'Map'|'Map_all'|'Mask'|'Merge'|'Passthrough'|'Truncate'|'Validate'|'Partition', 'taskProperties': { 'string': 'string' } }, ], 'createdAt': datetime(2015, 1, 1), 'lastUpdatedAt': datetime(2015, 1, 1), 'createdBy': 'string', 'lastUpdatedBy': 'string', 'tags': { 'string': 'string' }, 'metadataCatalogConfig': { 'glueDataCatalog': { 'roleArn': 'string', 'databaseName': 'string', 'tablePrefix': 'string' } }, 'lastRunMetadataCatalogDetails': [ { 'catalogType': 'GLUE', 'tableName': 'string', 'tableRegistrationOutput': { 'message': 'string', 'result': 'string', 'status': 'InProgress'|'Successful'|'Error'|'CancelStarted'|'Canceled' }, 'partitionRegistrationOutput': { 'message': 'string', 'result': 'string', 'status': 'InProgress'|'Successful'|'Error'|'CancelStarted'|'Canceled' } }, ], 'schemaVersion': 123 }
Response Structure
(dict) --
flowArn (string) --
The flow's Amazon Resource Name (ARN).
description (string) --
A description of the flow.
flowName (string) --
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
kmsArn (string) --
The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
flowStatus (string) --
Indicates the current status of the flow.
flowStatusMessage (string) --
Contains an error message if the flow status is in a suspended or error state. This applies only to scheduled or event-triggered flows.
sourceFlowConfig (dict) --
The configuration that controls how Amazon AppFlow retrieves data from the source connector.
connectorType (string) --
The type of connector, such as Salesforce, Amplitude, and so on.
apiVersion (string) --
The API version of the connector when it's used as a source in the flow.
connectorProfileName (string) --
The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.
sourceConnectorProperties (dict) --
Specifies the information that is required to query a particular source connector.
Amplitude (dict) --
Specifies the information that is required for querying Amplitude.
object (string) --
The object specified in the Amplitude flow source.
Datadog (dict) --
Specifies the information that is required for querying Datadog.
object (string) --
The object specified in the Datadog flow source.
Dynatrace (dict) --
Specifies the information that is required for querying Dynatrace.
object (string) --
The object specified in the Dynatrace flow source.
GoogleAnalytics (dict) --
Specifies the information that is required for querying Google Analytics.
object (string) --
The object specified in the Google Analytics flow source.
InforNexus (dict) --
Specifies the information that is required for querying Infor Nexus.
object (string) --
The object specified in the Infor Nexus flow source.
Marketo (dict) --
Specifies the information that is required for querying Marketo.
object (string) --
The object specified in the Marketo flow source.
S3 (dict) --
Specifies the information that is required for querying Amazon S3.
bucketName (string) --
The Amazon S3 bucket name where the source files are stored.
bucketPrefix (string) --
The object key for the Amazon S3 bucket in which the source files are stored.
s3InputFormatConfig (dict) --
When you use Amazon S3 as the source, the configuration format that you provide the flow input data.
s3InputFileType (string) --
The file type that Amazon AppFlow gets from your Amazon S3 bucket.
Salesforce (dict) --
Specifies the information that is required for querying Salesforce.
object (string) --
The object specified in the Salesforce flow source.
enableDynamicFieldUpdate (boolean) --
The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.
includeDeletedRecords (boolean) --
Indicates whether Amazon AppFlow includes deleted files in the flow run.
dataTransferApi (string) --
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.
ServiceNow (dict) --
Specifies the information that is required for querying ServiceNow.
object (string) --
The object specified in the ServiceNow flow source.
Singular (dict) --
Specifies the information that is required for querying Singular.
object (string) --
The object specified in the Singular flow source.
Slack (dict) --
Specifies the information that is required for querying Slack.
object (string) --
The object specified in the Slack flow source.
Trendmicro (dict) --
Specifies the information that is required for querying Trend Micro.
object (string) --
The object specified in the Trend Micro flow source.
Veeva (dict) --
Specifies the information that is required for querying Veeva.
object (string) --
The object specified in the Veeva flow source.
documentType (string) --
The document type specified in the Veeva document extract flow.
includeSourceFiles (boolean) --
Boolean value to include source files in Veeva document extract flow.
includeRenditions (boolean) --
Boolean value to include file renditions in Veeva document extract flow.
includeAllVersions (boolean) --
Boolean value to include All Versions of files in Veeva document extract flow.
Zendesk (dict) --
Specifies the information that is required for querying Zendesk.
object (string) --
The object specified in the Zendesk flow source.
SAPOData (dict) --
The properties that are applied when using SAPOData as a flow source.
objectPath (string) --
The object path specified in the SAPOData flow source.
CustomConnector (dict) --
The properties that are applied when the custom connector is being used as a source.
entityName (string) --
The entity specified in the custom connector as a source in the flow.
customProperties (dict) --
Custom properties that are required to use the custom connector as a source.
(string) --
(string) --
dataTransferApi (dict) --
The API of the connector application that Amazon AppFlow uses to transfer your data.
Name (string) --
The name of the connector application API.
Type (string) --
You can specify one of the following types:
AUTOMATIC
The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.
SYNC
A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.
ASYNC
An asynchronous API. This type of API optimizes a flow for large datasets.
Pardot (dict) --
Specifies the information that is required for querying Salesforce Pardot.
object (string) --
The object specified in the Salesforce Pardot flow source.
incrementalPullConfig (dict) --
Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.
datetimeTypeFieldName (string) --
A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.
destinationFlowConfigList (list) --
The configuration that controls how Amazon AppFlow transfers data to the destination connector.
(dict) --
Contains information about the configuration of destination connectors present in the flow.
connectorType (string) --
The type of connector, such as Salesforce, Amplitude, and so on.
apiVersion (string) --
The API version that the destination connector uses.
connectorProfileName (string) --
The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.
destinationConnectorProperties (dict) --
This stores the information that is required to query a particular connector.
Redshift (dict) --
The properties required to query Amazon Redshift.
object (string) --
The object specified in the Amazon Redshift flow destination.
intermediateBucketName (string) --
The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.
bucketPrefix (string) --
The object key for the bucket in which Amazon AppFlow places the destination files.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
S3 (dict) --
The properties required to query Amazon S3.
bucketName (string) --
The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
bucketPrefix (string) --
The object key for the destination bucket in which Amazon AppFlow places the files.
s3OutputFormatConfig (dict) --
The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.
fileType (string) --
Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.
prefixConfig (dict) --
Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.
prefixType (string) --
Determines the format of the prefix, and whether it applies to the file name, file path, or both.
prefixFormat (string) --
Determines the level of granularity for the date and time that's included in the prefix.
pathPrefixHierarchy (list) --
Specifies whether the destination file path includes either or both of the following elements:
EXECUTION_ID
The ID that Amazon AppFlow assigns to the flow run.
SCHEMA_VERSION
The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:
Source-to-destination field mappings
Field data types
Partition keys
(string) --
aggregationConfig (dict) --
The aggregation settings that you can use to customize the output format of your flow data.
aggregationType (string) --
Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.
targetFileSize (integer) --
The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.
preserveSourceDataTyping (boolean) --
If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.
true: Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or 1 in your source data is still an integer in your output.
false: Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of 1 in your source data becomes the string "1" in the output.
Salesforce (dict) --
The properties required to query Salesforce.
object (string) --
The object specified in the Salesforce flow destination.
idFieldNames (list) --
The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.
(string) --
errorHandlingConfig (dict) --
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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
This specifies the type of write operation to be performed in Salesforce. When the value is UPSERT, then idFieldNames is required.
dataTransferApi (string) --
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.
Snowflake (dict) --
The properties required to query Snowflake.
object (string) --
The object specified in the Snowflake flow destination.
intermediateBucketName (string) --
The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.
bucketPrefix (string) --
The object key for the destination bucket in which Amazon AppFlow places the files.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
EventBridge (dict) --
The properties required to query Amazon EventBridge.
object (string) --
The object specified in the Amazon EventBridge flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
LookoutMetrics (dict) --
The properties required to query Amazon Lookout for Metrics.
Upsolver (dict) --
The properties required to query Upsolver.
bucketName (string) --
The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
bucketPrefix (string) --
The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.
s3OutputFormatConfig (dict) --
The configuration that determines how data is formatted when Upsolver is used as the flow destination.
fileType (string) --
Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.
prefixConfig (dict) --
Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.
prefixType (string) --
Determines the format of the prefix, and whether it applies to the file name, file path, or both.
prefixFormat (string) --
Determines the level of granularity for the date and time that's included in the prefix.
pathPrefixHierarchy (list) --
Specifies whether the destination file path includes either or both of the following elements:
EXECUTION_ID
The ID that Amazon AppFlow assigns to the flow run.
SCHEMA_VERSION
The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:
Source-to-destination field mappings
Field data types
Partition keys
(string) --
aggregationConfig (dict) --
The aggregation settings that you can use to customize the output format of your flow data.
aggregationType (string) --
Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.
targetFileSize (integer) --
The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.
Honeycode (dict) --
The properties required to query Amazon Honeycode.
object (string) --
The object specified in the Amazon Honeycode flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
CustomerProfiles (dict) --
The properties required to query Amazon Connect Customer Profiles.
domainName (string) --
The unique name of the Amazon Connect Customer Profiles domain.
objectTypeName (string) --
The object specified in the Amazon Connect Customer Profiles flow destination.
Zendesk (dict) --
The properties required to query Zendesk.
object (string) --
The object specified in the Zendesk flow destination.
idFieldNames (list) --
A list of field names that can be used as an ID field when performing a write operation.
(string) --
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.
Marketo (dict) --
The properties required to query Marketo.
object (string) --
The object specified in the Marketo flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
CustomConnector (dict) --
The properties that are required to query the custom Connector.
entityName (string) --
The entity specified in the custom connector as a destination in the flow.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
Specifies the type of write operation to be performed in the custom connector when it's used as destination.
idFieldNames (list) --
The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update, delete, or upsert.
(string) --
customProperties (dict) --
The custom properties that are specific to the connector when it's used as a destination in the flow.
(string) --
(string) --
SAPOData (dict) --
The properties required to query SAPOData.
objectPath (string) --
The object path specified in the SAPOData flow destination.
successResponseHandlingConfig (dict) --
Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.
For example, this setting would determine where to write the response from a destination connector upon a successful insert operation.
bucketPrefix (string) --
The Amazon S3 bucket prefix.
bucketName (string) --
The name of the Amazon S3 bucket.
idFieldNames (list) --
A list of field names that can be used as an ID field when performing a write operation.
(string) --
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.
lastRunExecutionDetails (dict) --
Describes the details of the most recent flow run.
mostRecentExecutionMessage (string) --
Describes the details of the most recent flow run.
mostRecentExecutionTime (datetime) --
Specifies the time of the most recent flow run.
mostRecentExecutionStatus (string) --
Specifies the status of the most recent flow run.
triggerConfig (dict) --
The trigger settings that determine how and when the flow runs.
triggerType (string) --
Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.
triggerProperties (dict) --
Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type.
Scheduled (dict) --
Specifies the configuration details of a schedule-triggered flow as defined by the user.
scheduleExpression (string) --
The scheduling expression that determines the rate at which the schedule will run, for example rate(5minutes).
dataPullMode (string) --
Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.
scheduleStartTime (datetime) --
The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00.
scheduleEndTime (datetime) --
The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00.
timezone (string) --
Specifies the time zone used when referring to the dates and times of a scheduled flow, such as America/New_York. This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.
If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the America/New_York timezone are -04:00 EDT and -05:00 EST.
scheduleOffset (integer) --
Specifies the optional offset that is added to the time interval for a schedule-triggered flow.
firstExecutionFrom (datetime) --
Specifies the date range for the records to import from the connector in the first flow run.
flowErrorDeactivationThreshold (integer) --
Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.
tasks (list) --
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
(dict) --
A class for modeling different type of tasks. Task implementation varies based on the TaskType.
sourceFields (list) --
The source fields to which a particular task is applied.
(string) --
connectorOperator (dict) --
The operation to be performed on the provided source fields.
Amplitude (string) --
The operation to be performed on the provided Amplitude source fields.
Datadog (string) --
The operation to be performed on the provided Datadog source fields.
Dynatrace (string) --
The operation to be performed on the provided Dynatrace source fields.
GoogleAnalytics (string) --
The operation to be performed on the provided Google Analytics source fields.
InforNexus (string) --
The operation to be performed on the provided Infor Nexus source fields.
Marketo (string) --
The operation to be performed on the provided Marketo source fields.
S3 (string) --
The operation to be performed on the provided Amazon S3 source fields.
Salesforce (string) --
The operation to be performed on the provided Salesforce source fields.
ServiceNow (string) --
The operation to be performed on the provided ServiceNow source fields.
Singular (string) --
The operation to be performed on the provided Singular source fields.
Slack (string) --
The operation to be performed on the provided Slack source fields.
Trendmicro (string) --
The operation to be performed on the provided Trend Micro source fields.
Veeva (string) --
The operation to be performed on the provided Veeva source fields.
Zendesk (string) --
The operation to be performed on the provided Zendesk source fields.
SAPOData (string) --
The operation to be performed on the provided SAPOData source fields.
CustomConnector (string) --
Operators supported by the custom connector.
Pardot (string) --
The operation to be performed on the provided Salesforce Pardot source fields.
destinationField (string) --
A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.
taskType (string) --
Specifies the particular task implementation that Amazon AppFlow performs.
taskProperties (dict) --
A map used to store task-related information. The execution service looks for particular information based on the TaskType.
(string) --
(string) --
createdAt (datetime) --
Specifies when the flow was created.
lastUpdatedAt (datetime) --
Specifies when the flow was last updated.
createdBy (string) --
The ARN of the user who created the flow.
lastUpdatedBy (string) --
Specifies the user name of the account that performed the most recent update.
tags (dict) --
The tags used to organize, track, or control access for your flow.
(string) --
(string) --
metadataCatalogConfig (dict) --
Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.
glueDataCatalog (dict) --
Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog.
roleArn (string) --
The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.
For an example IAM policy that has the required permissions, see Identity-based policy examples for Amazon AppFlow.
databaseName (string) --
The name of the Data Catalog database that stores the metadata tables that Amazon AppFlow creates in your Amazon Web Services account. These tables contain metadata for the data that's transferred by the flow that you configure with this parameter.
tablePrefix (string) --
A naming prefix for each Data Catalog table that Amazon AppFlow creates for the flow that you configure with this setting. Amazon AppFlow adds the prefix to the beginning of the each table name.
lastRunMetadataCatalogDetails (list) --
Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.
(dict) --
Describes the metadata catalog, metadata table, and data partitions that Amazon AppFlow used for the associated flow run.
catalogType (string) --
The type of metadata catalog that Amazon AppFlow used for the associated flow run. This parameter returns the following value:
GLUE
The metadata catalog is provided by the Glue Data Catalog. Glue includes the Glue Data Catalog as a component.
tableName (string) --
The name of the table that stores the metadata for the associated flow run. The table stores metadata that represents the data that the flow transferred. Amazon AppFlow stores the table in the metadata catalog.
tableRegistrationOutput (dict) --
Describes the status of the attempt from Amazon AppFlow to register the metadata table with the metadata catalog. Amazon AppFlow creates or updates this table for the associated flow run.
message (string) --
Explains the status of the registration attempt from Amazon AppFlow. If the attempt fails, the message explains why.
result (string) --
Indicates the number of resources that Amazon AppFlow created or updated. Possible resources include metadata tables and data partitions.
status (string) --
Indicates the status of the registration attempt from Amazon AppFlow.
partitionRegistrationOutput (dict) --
Describes the status of the attempt from Amazon AppFlow to register the data partitions with the metadata catalog. The data partitions organize the flow output into a hierarchical path, such as a folder path in an S3 bucket. Amazon AppFlow creates the partitions (if they don't already exist) based on your flow configuration.
message (string) --
Explains the status of the registration attempt from Amazon AppFlow. If the attempt fails, the message explains why.
result (string) --
Indicates the number of resources that Amazon AppFlow created or updated. Possible resources include metadata tables and data partitions.
status (string) --
Indicates the status of the registration attempt from Amazon AppFlow.
schemaVersion (integer) --
The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:
Source-to-destination field mappings
Field data types
Partition keys
{'connectors': {'supportedDataTransferTypes': ['RECORD | FILE']}}
Returns the list of all registered custom connectors in your Amazon Web Services account. This API lists only custom connectors registered in this account, not the Amazon Web Services authored connectors.
See also: AWS API Documentation
Request Syntax
client.list_connectors( maxResults=123, nextToken='string' )
integer
Specifies the maximum number of items that should be returned in the result set. The default for maxResults is 20 (for all paginated API operations).
string
The pagination token for the next page of data.
dict
Response Syntax
{ 'connectors': [ { 'connectorDescription': 'string', 'connectorName': 'string', 'connectorOwner': 'string', 'connectorVersion': 'string', 'applicationType': 'string', 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'connectorLabel': 'string', 'registeredAt': datetime(2015, 1, 1), 'registeredBy': 'string', 'connectorProvisioningType': 'LAMBDA', 'connectorModes': [ 'string', ], 'supportedDataTransferTypes': [ 'RECORD'|'FILE', ] }, ], 'nextToken': 'string' }
Response Structure
(dict) --
connectors (list) --
Contains information about the connectors supported by Amazon AppFlow.
(dict) --
Information about the registered connector.
connectorDescription (string) --
A description about the registered connector.
connectorName (string) --
The name of the connector.
connectorOwner (string) --
The owner of the connector.
connectorVersion (string) --
The connector version.
applicationType (string) --
The application type of the connector.
connectorType (string) --
The connector type.
connectorLabel (string) --
A label used for the connector.
registeredAt (datetime) --
The time at which the connector was registered.
registeredBy (string) --
The user who registered the connector.
connectorProvisioningType (string) --
The provisioning type that the connector uses.
connectorModes (list) --
The connection mode that the connector supports.
(string) --
supportedDataTransferTypes (list) --
The data transfer types that the connector supports.
RECORD
Structured records.
FILE
Files or binary data.
(string) --
nextToken (string) --
The pagination token for the next page of data. If nextToken=null, this means that all records have been fetched.
{'sourceFlowConfig': {'sourceConnectorProperties': {'CustomConnector': {'dataTransferApi': {'Name': 'string', 'Type': 'SYNC ' '| ' 'ASYNC ' '| ' 'AUTOMATIC'}}}}}
Updates an existing flow.
See also: AWS API Documentation
Request Syntax
client.update_flow( flowName='string', description='string', triggerConfig={ 'triggerType': 'Scheduled'|'Event'|'OnDemand', 'triggerProperties': { 'Scheduled': { 'scheduleExpression': 'string', 'dataPullMode': 'Incremental'|'Complete', 'scheduleStartTime': datetime(2015, 1, 1), 'scheduleEndTime': datetime(2015, 1, 1), 'timezone': 'string', 'scheduleOffset': 123, 'firstExecutionFrom': datetime(2015, 1, 1), 'flowErrorDeactivationThreshold': 123 } } }, sourceFlowConfig={ 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'apiVersion': 'string', 'connectorProfileName': 'string', 'sourceConnectorProperties': { 'Amplitude': { 'object': 'string' }, 'Datadog': { 'object': 'string' }, 'Dynatrace': { 'object': 'string' }, 'GoogleAnalytics': { 'object': 'string' }, 'InforNexus': { 'object': 'string' }, 'Marketo': { 'object': 'string' }, 'S3': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3InputFormatConfig': { 's3InputFileType': 'CSV'|'JSON' } }, 'Salesforce': { 'object': 'string', 'enableDynamicFieldUpdate': True|False, 'includeDeletedRecords': True|False, 'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC' }, 'ServiceNow': { 'object': 'string' }, 'Singular': { 'object': 'string' }, 'Slack': { 'object': 'string' }, 'Trendmicro': { 'object': 'string' }, 'Veeva': { 'object': 'string', 'documentType': 'string', 'includeSourceFiles': True|False, 'includeRenditions': True|False, 'includeAllVersions': True|False }, 'Zendesk': { 'object': 'string' }, 'SAPOData': { 'objectPath': 'string' }, 'CustomConnector': { 'entityName': 'string', 'customProperties': { 'string': 'string' }, 'dataTransferApi': { 'Name': 'string', 'Type': 'SYNC'|'ASYNC'|'AUTOMATIC' } }, 'Pardot': { 'object': 'string' } }, 'incrementalPullConfig': { 'datetimeTypeFieldName': 'string' } }, destinationFlowConfigList=[ { 'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot', 'apiVersion': 'string', 'connectorProfileName': 'string', 'destinationConnectorProperties': { 'Redshift': { 'object': 'string', 'intermediateBucketName': 'string', 'bucketPrefix': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'S3': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3OutputFormatConfig': { 'fileType': 'CSV'|'JSON'|'PARQUET', 'prefixConfig': { 'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME', 'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE', 'pathPrefixHierarchy': [ 'EXECUTION_ID'|'SCHEMA_VERSION', ] }, 'aggregationConfig': { 'aggregationType': 'None'|'SingleFile', 'targetFileSize': 123 }, 'preserveSourceDataTyping': True|False } }, 'Salesforce': { 'object': 'string', 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE', 'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC' }, 'Snowflake': { 'object': 'string', 'intermediateBucketName': 'string', 'bucketPrefix': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'EventBridge': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'LookoutMetrics': {} , 'Upsolver': { 'bucketName': 'string', 'bucketPrefix': 'string', 's3OutputFormatConfig': { 'fileType': 'CSV'|'JSON'|'PARQUET', 'prefixConfig': { 'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME', 'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE', 'pathPrefixHierarchy': [ 'EXECUTION_ID'|'SCHEMA_VERSION', ] }, 'aggregationConfig': { 'aggregationType': 'None'|'SingleFile', 'targetFileSize': 123 } } }, 'Honeycode': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'CustomerProfiles': { 'domainName': 'string', 'objectTypeName': 'string' }, 'Zendesk': { 'object': 'string', 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE' }, 'Marketo': { 'object': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' } }, 'CustomConnector': { 'entityName': 'string', 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE', 'idFieldNames': [ 'string', ], 'customProperties': { 'string': 'string' } }, 'SAPOData': { 'objectPath': 'string', 'successResponseHandlingConfig': { 'bucketPrefix': 'string', 'bucketName': 'string' }, 'idFieldNames': [ 'string', ], 'errorHandlingConfig': { 'failOnFirstDestinationError': True|False, 'bucketPrefix': 'string', 'bucketName': 'string' }, 'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE' } } }, ], tasks=[ { 'sourceFields': [ 'string', ], 'connectorOperator': { 'Amplitude': 'BETWEEN', 'Datadog': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Dynatrace': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'GoogleAnalytics': 'PROJECTION'|'BETWEEN', 'InforNexus': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Marketo': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'S3': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Salesforce': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'ServiceNow': 'PROJECTION'|'CONTAINS'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Singular': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Slack': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Trendmicro': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Veeva': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Zendesk': 'PROJECTION'|'GREATER_THAN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'SAPOData': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'CustomConnector': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP', 'Pardot': 'PROJECTION'|'EQUAL_TO'|'NO_OP'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC' }, 'destinationField': 'string', 'taskType': 'Arithmetic'|'Filter'|'Map'|'Map_all'|'Mask'|'Merge'|'Passthrough'|'Truncate'|'Validate'|'Partition', 'taskProperties': { 'string': 'string' } }, ], metadataCatalogConfig={ 'glueDataCatalog': { 'roleArn': 'string', 'databaseName': 'string', 'tablePrefix': 'string' } }, clientToken='string' )
string
[REQUIRED]
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
string
A description of the flow.
dict
[REQUIRED]
The trigger settings that determine how and when the flow runs.
triggerType (string) -- [REQUIRED]
Specifies the type of flow trigger. This can be OnDemand, Scheduled, or Event.
triggerProperties (dict) --
Specifies the configuration details of a schedule-triggered flow as defined by the user. Currently, these settings only apply to the Scheduled trigger type.
Scheduled (dict) --
Specifies the configuration details of a schedule-triggered flow as defined by the user.
scheduleExpression (string) -- [REQUIRED]
The scheduling expression that determines the rate at which the schedule will run, for example rate(5minutes).
dataPullMode (string) --
Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.
scheduleStartTime (datetime) --
The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00.
scheduleEndTime (datetime) --
The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00.
timezone (string) --
Specifies the time zone used when referring to the dates and times of a scheduled flow, such as America/New_York. This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.
If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the America/New_York timezone are -04:00 EDT and -05:00 EST.
scheduleOffset (integer) --
Specifies the optional offset that is added to the time interval for a schedule-triggered flow.
firstExecutionFrom (datetime) --
Specifies the date range for the records to import from the connector in the first flow run.
flowErrorDeactivationThreshold (integer) --
Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.
dict
[REQUIRED]
Contains information about the configuration of the source connector used in the flow.
connectorType (string) -- [REQUIRED]
The type of connector, such as Salesforce, Amplitude, and so on.
apiVersion (string) --
The API version of the connector when it's used as a source in the flow.
connectorProfileName (string) --
The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.
sourceConnectorProperties (dict) -- [REQUIRED]
Specifies the information that is required to query a particular source connector.
Amplitude (dict) --
Specifies the information that is required for querying Amplitude.
object (string) -- [REQUIRED]
The object specified in the Amplitude flow source.
Datadog (dict) --
Specifies the information that is required for querying Datadog.
object (string) -- [REQUIRED]
The object specified in the Datadog flow source.
Dynatrace (dict) --
Specifies the information that is required for querying Dynatrace.
object (string) -- [REQUIRED]
The object specified in the Dynatrace flow source.
GoogleAnalytics (dict) --
Specifies the information that is required for querying Google Analytics.
object (string) -- [REQUIRED]
The object specified in the Google Analytics flow source.
InforNexus (dict) --
Specifies the information that is required for querying Infor Nexus.
object (string) -- [REQUIRED]
The object specified in the Infor Nexus flow source.
Marketo (dict) --
Specifies the information that is required for querying Marketo.
object (string) -- [REQUIRED]
The object specified in the Marketo flow source.
S3 (dict) --
Specifies the information that is required for querying Amazon S3.
bucketName (string) -- [REQUIRED]
The Amazon S3 bucket name where the source files are stored.
bucketPrefix (string) --
The object key for the Amazon S3 bucket in which the source files are stored.
s3InputFormatConfig (dict) --
When you use Amazon S3 as the source, the configuration format that you provide the flow input data.
s3InputFileType (string) --
The file type that Amazon AppFlow gets from your Amazon S3 bucket.
Salesforce (dict) --
Specifies the information that is required for querying Salesforce.
object (string) -- [REQUIRED]
The object specified in the Salesforce flow source.
enableDynamicFieldUpdate (boolean) --
The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.
includeDeletedRecords (boolean) --
Indicates whether Amazon AppFlow includes deleted files in the flow run.
dataTransferApi (string) --
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.
ServiceNow (dict) --
Specifies the information that is required for querying ServiceNow.
object (string) -- [REQUIRED]
The object specified in the ServiceNow flow source.
Singular (dict) --
Specifies the information that is required for querying Singular.
object (string) -- [REQUIRED]
The object specified in the Singular flow source.
Slack (dict) --
Specifies the information that is required for querying Slack.
object (string) -- [REQUIRED]
The object specified in the Slack flow source.
Trendmicro (dict) --
Specifies the information that is required for querying Trend Micro.
object (string) -- [REQUIRED]
The object specified in the Trend Micro flow source.
Veeva (dict) --
Specifies the information that is required for querying Veeva.
object (string) -- [REQUIRED]
The object specified in the Veeva flow source.
documentType (string) --
The document type specified in the Veeva document extract flow.
includeSourceFiles (boolean) --
Boolean value to include source files in Veeva document extract flow.
includeRenditions (boolean) --
Boolean value to include file renditions in Veeva document extract flow.
includeAllVersions (boolean) --
Boolean value to include All Versions of files in Veeva document extract flow.
Zendesk (dict) --
Specifies the information that is required for querying Zendesk.
object (string) -- [REQUIRED]
The object specified in the Zendesk flow source.
SAPOData (dict) --
The properties that are applied when using SAPOData as a flow source.
objectPath (string) --
The object path specified in the SAPOData flow source.
CustomConnector (dict) --
The properties that are applied when the custom connector is being used as a source.
entityName (string) -- [REQUIRED]
The entity specified in the custom connector as a source in the flow.
customProperties (dict) --
Custom properties that are required to use the custom connector as a source.
(string) --
(string) --
dataTransferApi (dict) --
The API of the connector application that Amazon AppFlow uses to transfer your data.
Name (string) --
The name of the connector application API.
Type (string) --
You can specify one of the following types:
AUTOMATIC
The default. Optimizes a flow for datasets that fluctuate in size from small to large. For each flow run, Amazon AppFlow chooses to use the SYNC or ASYNC API type based on the amount of data that the run transfers.
SYNC
A synchronous API. This type of API optimizes a flow for small to medium-sized datasets.
ASYNC
An asynchronous API. This type of API optimizes a flow for large datasets.
Pardot (dict) --
Specifies the information that is required for querying Salesforce Pardot.
object (string) -- [REQUIRED]
The object specified in the Salesforce Pardot flow source.
incrementalPullConfig (dict) --
Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.
datetimeTypeFieldName (string) --
A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.
list
[REQUIRED]
The configuration that controls how Amazon AppFlow transfers data to the destination connector.
(dict) --
Contains information about the configuration of destination connectors present in the flow.
connectorType (string) -- [REQUIRED]
The type of connector, such as Salesforce, Amplitude, and so on.
apiVersion (string) --
The API version that the destination connector uses.
connectorProfileName (string) --
The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.
destinationConnectorProperties (dict) -- [REQUIRED]
This stores the information that is required to query a particular connector.
Redshift (dict) --
The properties required to query Amazon Redshift.
object (string) -- [REQUIRED]
The object specified in the Amazon Redshift flow destination.
intermediateBucketName (string) -- [REQUIRED]
The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.
bucketPrefix (string) --
The object key for the bucket in which Amazon AppFlow places the destination files.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
S3 (dict) --
The properties required to query Amazon S3.
bucketName (string) -- [REQUIRED]
The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
bucketPrefix (string) --
The object key for the destination bucket in which Amazon AppFlow places the files.
s3OutputFormatConfig (dict) --
The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.
fileType (string) --
Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.
prefixConfig (dict) --
Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.
prefixType (string) --
Determines the format of the prefix, and whether it applies to the file name, file path, or both.
prefixFormat (string) --
Determines the level of granularity for the date and time that's included in the prefix.
pathPrefixHierarchy (list) --
Specifies whether the destination file path includes either or both of the following elements:
EXECUTION_ID
The ID that Amazon AppFlow assigns to the flow run.
SCHEMA_VERSION
The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:
Source-to-destination field mappings
Field data types
Partition keys
(string) --
aggregationConfig (dict) --
The aggregation settings that you can use to customize the output format of your flow data.
aggregationType (string) --
Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.
targetFileSize (integer) --
The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.
preserveSourceDataTyping (boolean) --
If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.
true: Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or 1 in your source data is still an integer in your output.
false: Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of 1 in your source data becomes the string "1" in the output.
Salesforce (dict) --
The properties required to query Salesforce.
object (string) -- [REQUIRED]
The object specified in the Salesforce flow destination.
idFieldNames (list) --
The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update or delete.
(string) --
errorHandlingConfig (dict) --
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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
This specifies the type of write operation to be performed in Salesforce. When the value is UPSERT, then idFieldNames is required.
dataTransferApi (string) --
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.
Snowflake (dict) --
The properties required to query Snowflake.
object (string) -- [REQUIRED]
The object specified in the Snowflake flow destination.
intermediateBucketName (string) -- [REQUIRED]
The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.
bucketPrefix (string) --
The object key for the destination bucket in which Amazon AppFlow places the files.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
EventBridge (dict) --
The properties required to query Amazon EventBridge.
object (string) -- [REQUIRED]
The object specified in the Amazon EventBridge flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
LookoutMetrics (dict) --
The properties required to query Amazon Lookout for Metrics.
Upsolver (dict) --
The properties required to query Upsolver.
bucketName (string) -- [REQUIRED]
The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.
bucketPrefix (string) --
The object key for the destination Upsolver Amazon S3 bucket in which Amazon AppFlow places the files.
s3OutputFormatConfig (dict) -- [REQUIRED]
The configuration that determines how data is formatted when Upsolver is used as the flow destination.
fileType (string) --
Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.
prefixConfig (dict) -- [REQUIRED]
Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.
prefixType (string) --
Determines the format of the prefix, and whether it applies to the file name, file path, or both.
prefixFormat (string) --
Determines the level of granularity for the date and time that's included in the prefix.
pathPrefixHierarchy (list) --
Specifies whether the destination file path includes either or both of the following elements:
EXECUTION_ID
The ID that Amazon AppFlow assigns to the flow run.
SCHEMA_VERSION
The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:
Source-to-destination field mappings
Field data types
Partition keys
(string) --
aggregationConfig (dict) --
The aggregation settings that you can use to customize the output format of your flow data.
aggregationType (string) --
Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.
targetFileSize (integer) --
The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.
Honeycode (dict) --
The properties required to query Amazon Honeycode.
object (string) -- [REQUIRED]
The object specified in the Amazon Honeycode flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
CustomerProfiles (dict) --
The properties required to query Amazon Connect Customer Profiles.
domainName (string) -- [REQUIRED]
The unique name of the Amazon Connect Customer Profiles domain.
objectTypeName (string) --
The object specified in the Amazon Connect Customer Profiles flow destination.
Zendesk (dict) --
The properties required to query Zendesk.
object (string) -- [REQUIRED]
The object specified in the Zendesk flow destination.
idFieldNames (list) --
A list of field names that can be used as an ID field when performing a write operation.
(string) --
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.
Marketo (dict) --
The properties required to query Marketo.
object (string) -- [REQUIRED]
The object specified in the Marketo flow destination.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
CustomConnector (dict) --
The properties that are required to query the custom Connector.
entityName (string) -- [REQUIRED]
The entity specified in the custom connector as a destination in the flow.
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
Specifies the type of write operation to be performed in the custom connector when it's used as destination.
idFieldNames (list) --
The name of the field that Amazon AppFlow uses as an ID when performing a write operation such as update, delete, or upsert.
(string) --
customProperties (dict) --
The custom properties that are specific to the connector when it's used as a destination in the flow.
(string) --
(string) --
SAPOData (dict) --
The properties required to query SAPOData.
objectPath (string) -- [REQUIRED]
The object path specified in the SAPOData flow destination.
successResponseHandlingConfig (dict) --
Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.
For example, this setting would determine where to write the response from a destination connector upon a successful insert operation.
bucketPrefix (string) --
The Amazon S3 bucket prefix.
bucketName (string) --
The name of the Amazon S3 bucket.
idFieldNames (list) --
A list of field names that can be used as an ID field when performing a write operation.
(string) --
errorHandlingConfig (dict) --
The settings that determine how Amazon AppFlow handles an error when placing data in the 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.
failOnFirstDestinationError (boolean) --
Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.
bucketPrefix (string) --
Specifies the Amazon S3 bucket prefix.
bucketName (string) --
Specifies the name of the Amazon S3 bucket.
writeOperationType (string) --
The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.
list
[REQUIRED]
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
(dict) --
A class for modeling different type of tasks. Task implementation varies based on the TaskType.
sourceFields (list) -- [REQUIRED]
The source fields to which a particular task is applied.
(string) --
connectorOperator (dict) --
The operation to be performed on the provided source fields.
Amplitude (string) --
The operation to be performed on the provided Amplitude source fields.
Datadog (string) --
The operation to be performed on the provided Datadog source fields.
Dynatrace (string) --
The operation to be performed on the provided Dynatrace source fields.
GoogleAnalytics (string) --
The operation to be performed on the provided Google Analytics source fields.
InforNexus (string) --
The operation to be performed on the provided Infor Nexus source fields.
Marketo (string) --
The operation to be performed on the provided Marketo source fields.
S3 (string) --
The operation to be performed on the provided Amazon S3 source fields.
Salesforce (string) --
The operation to be performed on the provided Salesforce source fields.
ServiceNow (string) --
The operation to be performed on the provided ServiceNow source fields.
Singular (string) --
The operation to be performed on the provided Singular source fields.
Slack (string) --
The operation to be performed on the provided Slack source fields.
Trendmicro (string) --
The operation to be performed on the provided Trend Micro source fields.
Veeva (string) --
The operation to be performed on the provided Veeva source fields.
Zendesk (string) --
The operation to be performed on the provided Zendesk source fields.
SAPOData (string) --
The operation to be performed on the provided SAPOData source fields.
CustomConnector (string) --
Operators supported by the custom connector.
Pardot (string) --
The operation to be performed on the provided Salesforce Pardot source fields.
destinationField (string) --
A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.
taskType (string) -- [REQUIRED]
Specifies the particular task implementation that Amazon AppFlow performs.
taskProperties (dict) --
A map used to store task-related information. The execution service looks for particular information based on the TaskType.
(string) --
(string) --
dict
Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.
glueDataCatalog (dict) --
Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog.
roleArn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.
For an example IAM policy that has the required permissions, see Identity-based policy examples for Amazon AppFlow.
databaseName (string) -- [REQUIRED]
The name of the Data Catalog database that stores the metadata tables that Amazon AppFlow creates in your Amazon Web Services account. These tables contain metadata for the data that's transferred by the flow that you configure with this parameter.
tablePrefix (string) -- [REQUIRED]
A naming prefix for each Data Catalog table that Amazon AppFlow creates for the flow that you configure with this setting. Amazon AppFlow adds the prefix to the beginning of the each table name.
string
The clientToken parameter is an idempotency token. It ensures that your UpdateFlow request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.
If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.
If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken, Amazon AppFlow considers it a new call to UpdateFlow. The token is active for 8 hours.
This field is autopopulated if not provided.
dict
Response Syntax
{ 'flowStatus': 'Active'|'Deprecated'|'Deleted'|'Draft'|'Errored'|'Suspended' }
Response Structure
(dict) --
flowStatus (string) --
Indicates the current status of the flow.