Amazon Appflow

2020/10/22 - Amazon Appflow - 7 updated api methods

Changes  Salesforce connector creation with customer provided client id and client secret, incremental pull configuration, salesforce upsert write operations and execution ID when on-demand flows are executed.

CreateConnectorProfile (updated) Link ¶
Changes (request)
{'connectorProfileConfig': {'connectorProfileCredentials': {'Salesforce': {'clientCredentialsArn': 'string'}}}}

Creates a new connector profile associated with your AWS account. There is a soft quota of 100 connector profiles per AWS account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel.

See also: AWS API Documentation

Request Syntax

client.create_connector_profile(
    connectorProfileName='string',
    kmsArn='string',
    connectorType='Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge',
    connectionMode='Public'|'Private',
    connectorProfileConfig={
        'connectorProfileProperties': {
            'Amplitude': {}
            ,
            'Datadog': {
                'instanceUrl': 'string'
            },
            'Dynatrace': {
                'instanceUrl': 'string'
            },
            'GoogleAnalytics': {}
            ,
            'InforNexus': {
                'instanceUrl': 'string'
            },
            'Marketo': {
                'instanceUrl': 'string'
            },
            'Redshift': {
                'databaseUrl': 'string',
                'bucketName': 'string',
                'bucketPrefix': 'string',
                'roleArn': 'string'
            },
            'Salesforce': {
                'instanceUrl': 'string',
                'isSandboxEnvironment': True|False
            },
            'ServiceNow': {
                'instanceUrl': 'string'
            },
            'Singular': {}
            ,
            'Slack': {
                'instanceUrl': 'string'
            },
            'Snowflake': {
                'warehouse': 'string',
                'stage': 'string',
                'bucketName': 'string',
                'bucketPrefix': 'string',
                'privateLinkServiceName': 'string',
                'accountName': 'string',
                'region': 'string'
            },
            'Trendmicro': {}
            ,
            'Veeva': {
                'instanceUrl': 'string'
            },
            'Zendesk': {
                'instanceUrl': 'string'
            }
        },
        'connectorProfileCredentials': {
            'Amplitude': {
                'apiKey': 'string',
                'secretKey': 'string'
            },
            'Datadog': {
                'apiKey': 'string',
                'applicationKey': 'string'
            },
            'Dynatrace': {
                'apiToken': 'string'
            },
            'GoogleAnalytics': {
                'clientId': 'string',
                'clientSecret': 'string',
                'accessToken': 'string',
                'refreshToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                }
            },
            'InforNexus': {
                'accessKeyId': 'string',
                'userId': 'string',
                'secretAccessKey': 'string',
                'datakey': 'string'
            },
            'Marketo': {
                'clientId': 'string',
                'clientSecret': 'string',
                'accessToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                }
            },
            'Redshift': {
                'username': 'string',
                'password': 'string'
            },
            'Salesforce': {
                'accessToken': 'string',
                'refreshToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                },
                'clientCredentialsArn': 'string'
            },
            'ServiceNow': {
                'username': 'string',
                'password': 'string'
            },
            'Singular': {
                'apiKey': 'string'
            },
            'Slack': {
                'clientId': 'string',
                'clientSecret': 'string',
                'accessToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                }
            },
            'Snowflake': {
                'username': 'string',
                'password': 'string'
            },
            'Trendmicro': {
                'apiSecretKey': 'string'
            },
            'Veeva': {
                'username': 'string',
                'password': 'string'
            },
            'Zendesk': {
                'clientId': 'string',
                'clientSecret': 'string',
                'accessToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                }
            }
        }
    }
)
type connectorProfileName

string

param connectorProfileName

[REQUIRED]

The name of the connector profile. The name is unique for each ConnectorProfile in your AWS account.

type kmsArn

string

param kmsArn

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.

type connectorType

string

param connectorType

[REQUIRED]

The type of connector, such as Salesforce, Amplitude, and so on.

type connectionMode

string

param connectionMode

[REQUIRED]

Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet.

type connectorProfileConfig

dict

param connectorProfileConfig

[REQUIRED]

Defines the connector-specific configuration and credentials.

  • connectorProfileProperties (dict) -- [REQUIRED]

    The connector-specific properties of the profile configuration.

    • Amplitude (dict) --

      The connector-specific properties required by Amplitude.

    • Datadog (dict) --

      The connector-specific properties required by Datadog.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Datadog resource.

    • Dynatrace (dict) --

      The connector-specific properties required by Dynatrace.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Dynatrace resource.

    • GoogleAnalytics (dict) --

      The connector-specific properties required Google Analytics.

    • InforNexus (dict) --

      The connector-specific properties required by Infor Nexus.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Infor Nexus resource.

    • Marketo (dict) --

      The connector-specific properties required by Marketo.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Marketo resource.

    • Redshift (dict) --

      The connector-specific properties required by Amazon Redshift.

      • databaseUrl (string) -- [REQUIRED]

        The JDBC URL of the Amazon Redshift cluster.

      • bucketName (string) -- [REQUIRED]

        A name for the associated Amazon S3 bucket.

      • bucketPrefix (string) --

        The object key for the destination bucket in which Amazon AppFlow places the files.

      • roleArn (string) -- [REQUIRED]

        The Amazon Resource Name (ARN) of the IAM role.

    • Salesforce (dict) --

      The connector-specific properties required by Salesforce.

      • instanceUrl (string) --

        The location of the Salesforce resource.

      • isSandboxEnvironment (boolean) --

        Indicates whether the connector profile applies to a sandbox or production environment.

    • ServiceNow (dict) --

      The connector-specific properties required by serviceNow.

      • instanceUrl (string) -- [REQUIRED]

        The location of the ServiceNow resource.

    • Singular (dict) --

      The connector-specific properties required by Singular.

    • Slack (dict) --

      The connector-specific properties required by Slack.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Slack resource.

    • Snowflake (dict) --

      The connector-specific properties required by Snowflake.

      • warehouse (string) -- [REQUIRED]

        The name of the Snowflake warehouse.

      • stage (string) -- [REQUIRED]

        The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema><Stage Name>.

      • bucketName (string) -- [REQUIRED]

        The name of the Amazon S3 bucket associated with Snowflake.

      • bucketPrefix (string) --

        The bucket path that refers to the Amazon S3 bucket associated with Snowflake.

      • privateLinkServiceName (string) --

        The Snowflake Private Link service name to be used for private data transfers.

      • accountName (string) --

        The name of the account.

      • region (string) --

        The AWS Region of the Snowflake account.

    • Trendmicro (dict) --

      The connector-specific properties required by Trend Micro.

    • Veeva (dict) --

      The connector-specific properties required by Veeva.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Veeva resource.

    • Zendesk (dict) --

      The connector-specific properties required by Zendesk.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Zendesk resource.

  • connectorProfileCredentials (dict) -- [REQUIRED]

    The connector-specific credentials required by each connector.

    • Amplitude (dict) --

      The connector-specific credentials required when using Amplitude.

      • apiKey (string) -- [REQUIRED]

        A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

      • secretKey (string) -- [REQUIRED]

        The Secret Access Key portion of the credentials.

    • Datadog (dict) --

      The connector-specific credentials required when using Datadog.

      • apiKey (string) -- [REQUIRED]

        A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

      • applicationKey (string) -- [REQUIRED]

        Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.

    • Dynatrace (dict) --

      The connector-specific credentials required when using Dynatrace.

      • apiToken (string) -- [REQUIRED]

        The API tokens used by Dynatrace API to authenticate various API calls.

    • GoogleAnalytics (dict) --

      The connector-specific credentials required when using Google Analytics.

      • clientId (string) -- [REQUIRED]

        The identifier for the desired client.

      • clientSecret (string) -- [REQUIRED]

        The client secret used by the OAuth client to authenticate to the authorization server.

      • accessToken (string) --

        The credentials used to access protected Google Analytics resources.

      • refreshToken (string) --

        The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

    • InforNexus (dict) --

      The connector-specific credentials required when using Infor Nexus.

      • accessKeyId (string) -- [REQUIRED]

        The Access Key portion of the credentials.

      • userId (string) -- [REQUIRED]

        The identifier for the user.

      • secretAccessKey (string) -- [REQUIRED]

        The secret key used to sign requests.

      • datakey (string) -- [REQUIRED]

        The encryption keys used to encrypt data.

    • Marketo (dict) --

      The connector-specific credentials required when using Marketo.

      • clientId (string) -- [REQUIRED]

        The identifier for the desired client.

      • clientSecret (string) -- [REQUIRED]

        The client secret used by the OAuth client to authenticate to the authorization server.

      • accessToken (string) --

        The credentials used to access protected Marketo resources.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

    • Redshift (dict) --

      The connector-specific credentials required when using Amazon Redshift.

      • username (string) -- [REQUIRED]

        The name of the user.

      • password (string) -- [REQUIRED]

        The password that corresponds to the user name.

    • Salesforce (dict) --

      The connector-specific credentials required when using Salesforce.

      • accessToken (string) --

        The credentials used to access protected Salesforce resources.

      • refreshToken (string) --

        The credentials used to acquire new access tokens.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

      • clientCredentialsArn (string) --

        The secret manager ARN, which contains the client ID and client secret of the connected app.

    • ServiceNow (dict) --

      The connector-specific credentials required when using ServiceNow.

      • username (string) -- [REQUIRED]

        The name of the user.

      • password (string) -- [REQUIRED]

        The password that corresponds to the user name.

    • Singular (dict) --

      The connector-specific credentials required when using Singular.

      • apiKey (string) -- [REQUIRED]

        A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

    • Slack (dict) --

      The connector-specific credentials required when using Slack.

      • clientId (string) -- [REQUIRED]

        The identifier for the client.

      • clientSecret (string) -- [REQUIRED]

        The client secret used by the OAuth client to authenticate to the authorization server.

      • accessToken (string) --

        The credentials used to access protected Slack resources.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

    • Snowflake (dict) --

      The connector-specific credentials required when using Snowflake.

      • username (string) -- [REQUIRED]

        The name of the user.

      • password (string) -- [REQUIRED]

        The password that corresponds to the user name.

    • Trendmicro (dict) --

      The connector-specific credentials required when using Trend Micro.

      • apiSecretKey (string) -- [REQUIRED]

        The Secret Access Key portion of the credentials.

    • Veeva (dict) --

      The connector-specific credentials required when using Veeva.

      • username (string) -- [REQUIRED]

        The name of the user.

      • password (string) -- [REQUIRED]

        The password that corresponds to the user name.

    • Zendesk (dict) --

      The connector-specific credentials required when using Zendesk.

      • clientId (string) -- [REQUIRED]

        The identifier for the desired client.

      • clientSecret (string) -- [REQUIRED]

        The client secret used by the OAuth client to authenticate to the authorization server.

      • accessToken (string) --

        The credentials used to access protected Zendesk resources.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

rtype

dict

returns

Response Syntax

{
    'connectorProfileArn': 'string'
}

Response Structure

  • (dict) --

    • connectorProfileArn (string) --

      The Amazon Resource Name (ARN) of the connector profile.

CreateFlow (updated) Link ¶
Changes (request)
{'destinationFlowConfigList': {'destinationConnectorProperties': {'Salesforce': {'idFieldNames': ['string'],
                                                                                 'writeOperationType': 'INSERT '
                                                                                                       '| '
                                                                                                       'UPSERT '
                                                                                                       '| '
                                                                                                       'UPDATE'}}},
 'sourceFlowConfig': {'incrementalPullConfig': {'datetimeTypeFieldName': 'string'}}}

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'
            }
        }
    },
    sourceFlowConfig={
        'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge',
        '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'
            },
            'Salesforce': {
                'object': 'string',
                'enableDynamicFieldUpdate': True|False,
                'includeDeletedRecords': True|False
            },
            'ServiceNow': {
                'object': 'string'
            },
            'Singular': {
                'object': 'string'
            },
            'Slack': {
                'object': 'string'
            },
            'Trendmicro': {
                'object': 'string'
            },
            'Veeva': {
                'object': 'string'
            },
            'Zendesk': {
                'object': 'string'
            }
        },
        'incrementalPullConfig': {
            'datetimeTypeFieldName': 'string'
        }
    },
    destinationFlowConfigList=[
        {
            'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge',
            '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'
                        },
                        'aggregationConfig': {
                            'aggregationType': 'None'|'SingleFile'
                        }
                    }
                },
                'Salesforce': {
                    'object': 'string',
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'
                },
                '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'
                    }
                }
            }
        },
    ],
    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'
            },
            'destinationField': 'string',
            'taskType': 'Arithmetic'|'Filter'|'Map'|'Mask'|'Merge'|'Truncate'|'Validate',
            'taskProperties': {
                'string': 'string'
            }
        },
    ],
    tags={
        'string': 'string'
    }
)
type flowName

string

param flowName

[REQUIRED]

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

type description

string

param description

A description of the flow you want to create.

type kmsArn

string

param kmsArn

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.

type triggerConfig

dict

param triggerConfig

[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 when and how often the rule runs.

      • dataPullMode (string) --

        Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.

      • scheduleStartTime (datetime) --

        Specifies the scheduled start time for a schedule-triggered flow.

      • scheduleEndTime (datetime) --

        Specifies the scheduled end time for a schedule-triggered flow.

      • timezone (string) --

        Specifies the time zone used when referring to the date and time of a scheduled-triggered flow.

type sourceFlowConfig

dict

param sourceFlowConfig

[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.

  • connectorProfileName (string) --

    The name of the connector profile. This name must be unique for each connector profile in the AWS 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.

    • 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.

    • 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.

    • Zendesk (dict) --

      Specifies the information that is required for querying Zendesk.

      • object (string) -- [REQUIRED]

        The object specified in the Zendesk 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.

type destinationFlowConfigList

list

param destinationFlowConfigList

[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.

    • connectorProfileName (string) --

      The name of the connector profile. This name must be unique for each connector profile in the AWS 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 level of granularity that's included in the prefix.

            • prefixFormat (string) --

              Determines the format of the prefix, and whether it applies to the file name, file path, or both.

          • 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.

      • 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.

      • 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.

type tasks

list

param tasks

[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.

    • 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) --

type tags

dict

param tags

The tags used to organize, track, or control access for your flow.

  • (string) --

    • (string) --

rtype

dict

returns

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.

DescribeConnectorEntity (updated) Link ¶
Changes (response)
{'connectorEntityFields': {'destinationProperties': {'isUpdatable': 'boolean',
                                                     'supportedWriteOperations': ['INSERT '
                                                                                  '| '
                                                                                  'UPSERT '
                                                                                  '| '
                                                                                  'UPDATE']}}}

Provides details regarding the entity used with the connector, with a description of the data model for each entity.

See also: AWS API Documentation

Request Syntax

client.describe_connector_entity(
    connectorEntityName='string',
    connectorType='Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge',
    connectorProfileName='string'
)
type connectorEntityName

string

param connectorEntityName

[REQUIRED]

The entity name for that connector.

type connectorType

string

param connectorType

The type of connector application, such as Salesforce, Amplitude, and so on.

type connectorProfileName

string

param connectorProfileName

The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account.

rtype

dict

returns

Response Syntax

{
    'connectorEntityFields': [
        {
            'identifier': 'string',
            'label': 'string',
            'supportedFieldTypeDetails': {
                'v1': {
                    'fieldType': 'string',
                    'filterOperators': [
                        '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',
                    ],
                    'supportedValues': [
                        'string',
                    ]
                }
            },
            'description': 'string',
            'sourceProperties': {
                'isRetrievable': True|False,
                'isQueryable': True|False
            },
            'destinationProperties': {
                'isCreatable': True|False,
                'isNullable': True|False,
                'isUpsertable': True|False,
                'isUpdatable': True|False,
                'supportedWriteOperations': [
                    'INSERT'|'UPSERT'|'UPDATE',
                ]
            }
        },
    ]
}

Response Structure

  • (dict) --

    • connectorEntityFields (list) --

      Describes the fields for that connector entity. For example, for an account entity, the fields would be account name , account ID , and so on.

      • (dict) --

        Describes the data model of a connector field. For example, for an account entity, the fields would be account name , account ID , and so on.

        • identifier (string) --

          The unique identifier of the connector field.

        • label (string) --

          The label applied to a connector entity field.

        • supportedFieldTypeDetails (dict) --

          Contains details regarding the supported FieldType , including the corresponding filterOperators and supportedValues .

          • v1 (dict) --

            The initial supported version for fieldType . If this is later changed to a different version, v2 will be introduced.

            • fieldType (string) --

              The type of field, such as string, integer, date, and so on.

            • filterOperators (list) --

              The list of operators supported by a field.

              • (string) --

            • supportedValues (list) --

              The list of values that a field can contain. For example, a Boolean fieldType can have two values: "true" and "false".

              • (string) --

        • description (string) --

          A description of the connector entity field.

        • sourceProperties (dict) --

          The properties that can be applied to a field when the connector is being used as a source.

          • isRetrievable (boolean) --

            Indicates whether the field can be returned in a search result.

          • isQueryable (boolean) --

            Indicates if the field can be queried.

        • destinationProperties (dict) --

          The properties applied to a field when the connector is being used as a destination.

          • isCreatable (boolean) --

            Specifies if the destination field can be created by the current user.

          • isNullable (boolean) --

            Specifies if the destination field can have a null value.

          • isUpsertable (boolean) --

            Specifies if the flow run can either insert new rows in the destination field if they do not already exist, or update them if they do.

          • isUpdatable (boolean) --

            Specifies whether the field can be updated during an UPDATE or UPSERT write operation.

          • supportedWriteOperations (list) --

            A list of supported write operations. For each write operation listed, this field can be used in idFieldNames when that write operation is present as a destination option.

            • (string) --

              The possible write operations in the destination connector. When this value is not provided, this defaults to the INSERT operation.

DescribeFlow (updated) Link ¶
Changes (response)
{'destinationFlowConfigList': {'destinationConnectorProperties': {'Salesforce': {'idFieldNames': ['string'],
                                                                                 'writeOperationType': 'INSERT '
                                                                                                       '| '
                                                                                                       'UPSERT '
                                                                                                       '| '
                                                                                                       'UPDATE'}}},
 'sourceFlowConfig': {'incrementalPullConfig': {'datetimeTypeFieldName': 'string'}}}

Provides a description of the specified flow.

See also: AWS API Documentation

Request Syntax

client.describe_flow(
    flowName='string'
)
type flowName

string

param flowName

[REQUIRED]

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

rtype

dict

returns

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',
        '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'
            },
            'Salesforce': {
                'object': 'string',
                'enableDynamicFieldUpdate': True|False,
                'includeDeletedRecords': True|False
            },
            'ServiceNow': {
                'object': 'string'
            },
            'Singular': {
                'object': 'string'
            },
            'Slack': {
                'object': 'string'
            },
            'Trendmicro': {
                'object': 'string'
            },
            'Veeva': {
                'object': 'string'
            },
            'Zendesk': {
                'object': 'string'
            }
        },
        'incrementalPullConfig': {
            'datetimeTypeFieldName': 'string'
        }
    },
    'destinationFlowConfigList': [
        {
            'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge',
            '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'
                        },
                        'aggregationConfig': {
                            'aggregationType': 'None'|'SingleFile'
                        }
                    }
                },
                'Salesforce': {
                    'object': 'string',
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'
                },
                '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'
                    }
                }
            }
        },
    ],
    'lastRunExecutionDetails': {
        'mostRecentExecutionMessage': 'string',
        'mostRecentExecutionTime': datetime(2015, 1, 1),
        'mostRecentExecutionStatus': 'InProgress'|'Successful'|'Error'
    },
    'triggerConfig': {
        'triggerType': 'Scheduled'|'Event'|'OnDemand',
        'triggerProperties': {
            'Scheduled': {
                'scheduleExpression': 'string',
                'dataPullMode': 'Incremental'|'Complete',
                'scheduleStartTime': datetime(2015, 1, 1),
                'scheduleEndTime': datetime(2015, 1, 1),
                'timezone': 'string'
            }
        }
    },
    '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'
            },
            'destinationField': 'string',
            'taskType': 'Arithmetic'|'Filter'|'Map'|'Mask'|'Merge'|'Truncate'|'Validate',
            'taskProperties': {
                'string': 'string'
            }
        },
    ],
    'createdAt': datetime(2015, 1, 1),
    'lastUpdatedAt': datetime(2015, 1, 1),
    'createdBy': 'string',
    'lastUpdatedBy': 'string',
    'tags': {
        'string': 'string'
    }
}

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.

      • connectorProfileName (string) --

        The name of the connector profile. This name must be unique for each connector profile in the AWS 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.

        • 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.

        • 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.

        • Zendesk (dict) --

          Specifies the information that is required for querying Zendesk.

          • object (string) --

            The object specified in the Zendesk 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.

        • connectorProfileName (string) --

          The name of the connector profile. This name must be unique for each connector profile in the AWS 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 level of granularity that's included in the prefix.

                • prefixFormat (string) --

                  Determines the format of the prefix, and whether it applies to the file name, file path, or both.

              • 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.

          • 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.

          • 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.

    • 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 when and how often the rule runs.

          • dataPullMode (string) --

            Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.

          • scheduleStartTime (datetime) --

            Specifies the scheduled start time for a schedule-triggered flow.

          • scheduleEndTime (datetime) --

            Specifies the scheduled end time for a schedule-triggered flow.

          • timezone (string) --

            Specifies the time zone used when referring to the date and time of a scheduled-triggered flow.

    • 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.

        • 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) --

StartFlow (updated) Link ¶
Changes (response)
{'executionId': 'string'}

Activates an existing flow. For on-demand flows, this operation runs the flow immediately. For schedule and event-triggered flows, this operation activates the flow.

See also: AWS API Documentation

Request Syntax

client.start_flow(
    flowName='string'
)
type flowName

string

param flowName

[REQUIRED]

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

rtype

dict

returns

Response Syntax

{
    'flowArn': 'string',
    'flowStatus': 'Active'|'Deprecated'|'Deleted'|'Draft'|'Errored'|'Suspended',
    'executionId': 'string'
}

Response Structure

  • (dict) --

    • flowArn (string) --

      The flow's Amazon Resource Name (ARN).

    • flowStatus (string) --

      Indicates the current status of the flow.

    • executionId (string) --

      Returns the internal execution ID of an on-demand flow when the flow is started. For scheduled or event-triggered flows, this value is null.

UpdateConnectorProfile (updated) Link ¶
Changes (request)
{'connectorProfileConfig': {'connectorProfileCredentials': {'Salesforce': {'clientCredentialsArn': 'string'}}}}

Updates a given connector profile associated with your account.

See also: AWS API Documentation

Request Syntax

client.update_connector_profile(
    connectorProfileName='string',
    connectionMode='Public'|'Private',
    connectorProfileConfig={
        'connectorProfileProperties': {
            'Amplitude': {}
            ,
            'Datadog': {
                'instanceUrl': 'string'
            },
            'Dynatrace': {
                'instanceUrl': 'string'
            },
            'GoogleAnalytics': {}
            ,
            'InforNexus': {
                'instanceUrl': 'string'
            },
            'Marketo': {
                'instanceUrl': 'string'
            },
            'Redshift': {
                'databaseUrl': 'string',
                'bucketName': 'string',
                'bucketPrefix': 'string',
                'roleArn': 'string'
            },
            'Salesforce': {
                'instanceUrl': 'string',
                'isSandboxEnvironment': True|False
            },
            'ServiceNow': {
                'instanceUrl': 'string'
            },
            'Singular': {}
            ,
            'Slack': {
                'instanceUrl': 'string'
            },
            'Snowflake': {
                'warehouse': 'string',
                'stage': 'string',
                'bucketName': 'string',
                'bucketPrefix': 'string',
                'privateLinkServiceName': 'string',
                'accountName': 'string',
                'region': 'string'
            },
            'Trendmicro': {}
            ,
            'Veeva': {
                'instanceUrl': 'string'
            },
            'Zendesk': {
                'instanceUrl': 'string'
            }
        },
        'connectorProfileCredentials': {
            'Amplitude': {
                'apiKey': 'string',
                'secretKey': 'string'
            },
            'Datadog': {
                'apiKey': 'string',
                'applicationKey': 'string'
            },
            'Dynatrace': {
                'apiToken': 'string'
            },
            'GoogleAnalytics': {
                'clientId': 'string',
                'clientSecret': 'string',
                'accessToken': 'string',
                'refreshToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                }
            },
            'InforNexus': {
                'accessKeyId': 'string',
                'userId': 'string',
                'secretAccessKey': 'string',
                'datakey': 'string'
            },
            'Marketo': {
                'clientId': 'string',
                'clientSecret': 'string',
                'accessToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                }
            },
            'Redshift': {
                'username': 'string',
                'password': 'string'
            },
            'Salesforce': {
                'accessToken': 'string',
                'refreshToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                },
                'clientCredentialsArn': 'string'
            },
            'ServiceNow': {
                'username': 'string',
                'password': 'string'
            },
            'Singular': {
                'apiKey': 'string'
            },
            'Slack': {
                'clientId': 'string',
                'clientSecret': 'string',
                'accessToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                }
            },
            'Snowflake': {
                'username': 'string',
                'password': 'string'
            },
            'Trendmicro': {
                'apiSecretKey': 'string'
            },
            'Veeva': {
                'username': 'string',
                'password': 'string'
            },
            'Zendesk': {
                'clientId': 'string',
                'clientSecret': 'string',
                'accessToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                }
            }
        }
    }
)
type connectorProfileName

string

param connectorProfileName

[REQUIRED]

The name of the connector profile and is unique for each ConnectorProfile in the AWS Account.

type connectionMode

string

param connectionMode

[REQUIRED]

Indicates the connection mode and if it is public or private.

type connectorProfileConfig

dict

param connectorProfileConfig

[REQUIRED]

Defines the connector-specific profile configuration and credentials.

  • connectorProfileProperties (dict) -- [REQUIRED]

    The connector-specific properties of the profile configuration.

    • Amplitude (dict) --

      The connector-specific properties required by Amplitude.

    • Datadog (dict) --

      The connector-specific properties required by Datadog.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Datadog resource.

    • Dynatrace (dict) --

      The connector-specific properties required by Dynatrace.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Dynatrace resource.

    • GoogleAnalytics (dict) --

      The connector-specific properties required Google Analytics.

    • InforNexus (dict) --

      The connector-specific properties required by Infor Nexus.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Infor Nexus resource.

    • Marketo (dict) --

      The connector-specific properties required by Marketo.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Marketo resource.

    • Redshift (dict) --

      The connector-specific properties required by Amazon Redshift.

      • databaseUrl (string) -- [REQUIRED]

        The JDBC URL of the Amazon Redshift cluster.

      • bucketName (string) -- [REQUIRED]

        A name for the associated Amazon S3 bucket.

      • bucketPrefix (string) --

        The object key for the destination bucket in which Amazon AppFlow places the files.

      • roleArn (string) -- [REQUIRED]

        The Amazon Resource Name (ARN) of the IAM role.

    • Salesforce (dict) --

      The connector-specific properties required by Salesforce.

      • instanceUrl (string) --

        The location of the Salesforce resource.

      • isSandboxEnvironment (boolean) --

        Indicates whether the connector profile applies to a sandbox or production environment.

    • ServiceNow (dict) --

      The connector-specific properties required by serviceNow.

      • instanceUrl (string) -- [REQUIRED]

        The location of the ServiceNow resource.

    • Singular (dict) --

      The connector-specific properties required by Singular.

    • Slack (dict) --

      The connector-specific properties required by Slack.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Slack resource.

    • Snowflake (dict) --

      The connector-specific properties required by Snowflake.

      • warehouse (string) -- [REQUIRED]

        The name of the Snowflake warehouse.

      • stage (string) -- [REQUIRED]

        The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the Snowflake account. This is written in the following format: < Database>< Schema><Stage Name>.

      • bucketName (string) -- [REQUIRED]

        The name of the Amazon S3 bucket associated with Snowflake.

      • bucketPrefix (string) --

        The bucket path that refers to the Amazon S3 bucket associated with Snowflake.

      • privateLinkServiceName (string) --

        The Snowflake Private Link service name to be used for private data transfers.

      • accountName (string) --

        The name of the account.

      • region (string) --

        The AWS Region of the Snowflake account.

    • Trendmicro (dict) --

      The connector-specific properties required by Trend Micro.

    • Veeva (dict) --

      The connector-specific properties required by Veeva.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Veeva resource.

    • Zendesk (dict) --

      The connector-specific properties required by Zendesk.

      • instanceUrl (string) -- [REQUIRED]

        The location of the Zendesk resource.

  • connectorProfileCredentials (dict) -- [REQUIRED]

    The connector-specific credentials required by each connector.

    • Amplitude (dict) --

      The connector-specific credentials required when using Amplitude.

      • apiKey (string) -- [REQUIRED]

        A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

      • secretKey (string) -- [REQUIRED]

        The Secret Access Key portion of the credentials.

    • Datadog (dict) --

      The connector-specific credentials required when using Datadog.

      • apiKey (string) -- [REQUIRED]

        A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

      • applicationKey (string) -- [REQUIRED]

        Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.

    • Dynatrace (dict) --

      The connector-specific credentials required when using Dynatrace.

      • apiToken (string) -- [REQUIRED]

        The API tokens used by Dynatrace API to authenticate various API calls.

    • GoogleAnalytics (dict) --

      The connector-specific credentials required when using Google Analytics.

      • clientId (string) -- [REQUIRED]

        The identifier for the desired client.

      • clientSecret (string) -- [REQUIRED]

        The client secret used by the OAuth client to authenticate to the authorization server.

      • accessToken (string) --

        The credentials used to access protected Google Analytics resources.

      • refreshToken (string) --

        The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

    • InforNexus (dict) --

      The connector-specific credentials required when using Infor Nexus.

      • accessKeyId (string) -- [REQUIRED]

        The Access Key portion of the credentials.

      • userId (string) -- [REQUIRED]

        The identifier for the user.

      • secretAccessKey (string) -- [REQUIRED]

        The secret key used to sign requests.

      • datakey (string) -- [REQUIRED]

        The encryption keys used to encrypt data.

    • Marketo (dict) --

      The connector-specific credentials required when using Marketo.

      • clientId (string) -- [REQUIRED]

        The identifier for the desired client.

      • clientSecret (string) -- [REQUIRED]

        The client secret used by the OAuth client to authenticate to the authorization server.

      • accessToken (string) --

        The credentials used to access protected Marketo resources.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

    • Redshift (dict) --

      The connector-specific credentials required when using Amazon Redshift.

      • username (string) -- [REQUIRED]

        The name of the user.

      • password (string) -- [REQUIRED]

        The password that corresponds to the user name.

    • Salesforce (dict) --

      The connector-specific credentials required when using Salesforce.

      • accessToken (string) --

        The credentials used to access protected Salesforce resources.

      • refreshToken (string) --

        The credentials used to acquire new access tokens.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

      • clientCredentialsArn (string) --

        The secret manager ARN, which contains the client ID and client secret of the connected app.

    • ServiceNow (dict) --

      The connector-specific credentials required when using ServiceNow.

      • username (string) -- [REQUIRED]

        The name of the user.

      • password (string) -- [REQUIRED]

        The password that corresponds to the user name.

    • Singular (dict) --

      The connector-specific credentials required when using Singular.

      • apiKey (string) -- [REQUIRED]

        A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.

    • Slack (dict) --

      The connector-specific credentials required when using Slack.

      • clientId (string) -- [REQUIRED]

        The identifier for the client.

      • clientSecret (string) -- [REQUIRED]

        The client secret used by the OAuth client to authenticate to the authorization server.

      • accessToken (string) --

        The credentials used to access protected Slack resources.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

    • Snowflake (dict) --

      The connector-specific credentials required when using Snowflake.

      • username (string) -- [REQUIRED]

        The name of the user.

      • password (string) -- [REQUIRED]

        The password that corresponds to the user name.

    • Trendmicro (dict) --

      The connector-specific credentials required when using Trend Micro.

      • apiSecretKey (string) -- [REQUIRED]

        The Secret Access Key portion of the credentials.

    • Veeva (dict) --

      The connector-specific credentials required when using Veeva.

      • username (string) -- [REQUIRED]

        The name of the user.

      • password (string) -- [REQUIRED]

        The password that corresponds to the user name.

    • Zendesk (dict) --

      The connector-specific credentials required when using Zendesk.

      • clientId (string) -- [REQUIRED]

        The identifier for the desired client.

      • clientSecret (string) -- [REQUIRED]

        The client secret used by the OAuth client to authenticate to the authorization server.

      • accessToken (string) --

        The credentials used to access protected Zendesk resources.

      • oAuthRequest (dict) --

        The OAuth requirement needed to request security tokens from the connector endpoint.

        • authCode (string) --

          The code provided by the connector when it has been authenticated via the connected app.

        • redirectUri (string) --

          The URL to which the authentication server redirects the browser after authorization has been granted.

rtype

dict

returns

Response Syntax

{
    'connectorProfileArn': 'string'
}

Response Structure

  • (dict) --

    • connectorProfileArn (string) --

      The Amazon Resource Name (ARN) of the connector profile.

UpdateFlow (updated) Link ¶
Changes (request)
{'destinationFlowConfigList': {'destinationConnectorProperties': {'Salesforce': {'idFieldNames': ['string'],
                                                                                 'writeOperationType': 'INSERT '
                                                                                                       '| '
                                                                                                       'UPSERT '
                                                                                                       '| '
                                                                                                       'UPDATE'}}},
 'sourceFlowConfig': {'incrementalPullConfig': {'datetimeTypeFieldName': 'string'}}}

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'
            }
        }
    },
    sourceFlowConfig={
        'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge',
        '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'
            },
            'Salesforce': {
                'object': 'string',
                'enableDynamicFieldUpdate': True|False,
                'includeDeletedRecords': True|False
            },
            'ServiceNow': {
                'object': 'string'
            },
            'Singular': {
                'object': 'string'
            },
            'Slack': {
                'object': 'string'
            },
            'Trendmicro': {
                'object': 'string'
            },
            'Veeva': {
                'object': 'string'
            },
            'Zendesk': {
                'object': 'string'
            }
        },
        'incrementalPullConfig': {
            'datetimeTypeFieldName': 'string'
        }
    },
    destinationFlowConfigList=[
        {
            'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge',
            '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'
                        },
                        'aggregationConfig': {
                            'aggregationType': 'None'|'SingleFile'
                        }
                    }
                },
                'Salesforce': {
                    'object': 'string',
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'
                },
                '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'
                    }
                }
            }
        },
    ],
    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'
            },
            'destinationField': 'string',
            'taskType': 'Arithmetic'|'Filter'|'Map'|'Mask'|'Merge'|'Truncate'|'Validate',
            'taskProperties': {
                'string': 'string'
            }
        },
    ]
)
type flowName

string

param flowName

[REQUIRED]

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

type description

string

param description

A description of the flow.

type triggerConfig

dict

param triggerConfig

[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 when and how often the rule runs.

      • dataPullMode (string) --

        Specifies whether a scheduled flow has an incremental data transfer or a complete data transfer for each flow run.

      • scheduleStartTime (datetime) --

        Specifies the scheduled start time for a schedule-triggered flow.

      • scheduleEndTime (datetime) --

        Specifies the scheduled end time for a schedule-triggered flow.

      • timezone (string) --

        Specifies the time zone used when referring to the date and time of a scheduled-triggered flow.

type sourceFlowConfig

dict

param sourceFlowConfig

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.

  • connectorProfileName (string) --

    The name of the connector profile. This name must be unique for each connector profile in the AWS 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.

    • 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.

    • 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.

    • Zendesk (dict) --

      Specifies the information that is required for querying Zendesk.

      • object (string) -- [REQUIRED]

        The object specified in the Zendesk 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.

type destinationFlowConfigList

list

param destinationFlowConfigList

[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.

    • connectorProfileName (string) --

      The name of the connector profile. This name must be unique for each connector profile in the AWS 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 level of granularity that's included in the prefix.

            • prefixFormat (string) --

              Determines the format of the prefix, and whether it applies to the file name, file path, or both.

          • 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.

      • 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.

      • 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.

type tasks

list

param tasks

[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.

    • 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) --

rtype

dict

returns

Response Syntax

{
    'flowStatus': 'Active'|'Deprecated'|'Deleted'|'Draft'|'Errored'|'Suspended'
}

Response Structure

  • (dict) --

    • flowStatus (string) --

      Indicates the current status of the flow.