Amazon Appflow

2023/04/17 - Amazon Appflow - 7 updated api methods

Changes  This release adds a Client Token parameter to the following AppFlow APIs: Create/Update Connector Profile, Create/Update Flow, Start Flow, Register Connector, Update Connector Registration. The Client Token parameter allows idempotent operations for these APIs.

CreateConnectorProfile (updated) Link ¶
Changes (request)
{'clientToken': 'string'}

Creates a new connector profile associated with your Amazon Web Services account. There is a soft quota of 100 connector profiles per Amazon Web Services 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. In each connector profile that you create, you can provide the credentials and properties for only one connector.

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'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot',
    connectorLabel='string',
    connectionMode='Public'|'Private',
    connectorProfileConfig={
        'connectorProfileProperties': {
            'Amplitude': {}
            ,
            'Datadog': {
                'instanceUrl': 'string'
            },
            'Dynatrace': {
                'instanceUrl': 'string'
            },
            'GoogleAnalytics': {}
            ,
            'Honeycode': {}
            ,
            'InforNexus': {
                'instanceUrl': 'string'
            },
            'Marketo': {
                'instanceUrl': 'string'
            },
            'Redshift': {
                'databaseUrl': 'string',
                'bucketName': 'string',
                'bucketPrefix': 'string',
                'roleArn': 'string',
                'dataApiRoleArn': 'string',
                'isRedshiftServerless': True|False,
                'clusterIdentifier': 'string',
                'workgroupName': 'string',
                'databaseName': 'string'
            },
            'Salesforce': {
                'instanceUrl': 'string',
                'isSandboxEnvironment': True|False,
                'usePrivateLinkForMetadataAndAuthorization': 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'
            },
            'SAPOData': {
                'applicationHostUrl': 'string',
                'applicationServicePath': 'string',
                'portNumber': 123,
                'clientNumber': 'string',
                'logonLanguage': 'string',
                'privateLinkServiceName': 'string',
                'oAuthProperties': {
                    'tokenUrl': 'string',
                    'authCodeUrl': 'string',
                    'oAuthScopes': [
                        'string',
                    ]
                }
            },
            'CustomConnector': {
                'profileProperties': {
                    'string': 'string'
                },
                'oAuth2Properties': {
                    'tokenUrl': 'string',
                    'oAuth2GrantType': 'CLIENT_CREDENTIALS'|'AUTHORIZATION_CODE',
                    'tokenUrlCustomProperties': {
                        'string': 'string'
                    }
                }
            },
            'Pardot': {
                'instanceUrl': 'string',
                'isSandboxEnvironment': True|False,
                'businessUnitId': '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'
                }
            },
            'Honeycode': {
                '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'
                }
            },
            'SAPOData': {
                'basicAuthCredentials': {
                    'username': 'string',
                    'password': 'string'
                },
                'oAuthCredentials': {
                    'clientId': 'string',
                    'clientSecret': 'string',
                    'accessToken': 'string',
                    'refreshToken': 'string',
                    'oAuthRequest': {
                        'authCode': 'string',
                        'redirectUri': 'string'
                    }
                }
            },
            'CustomConnector': {
                'authenticationType': 'OAUTH2'|'APIKEY'|'BASIC'|'CUSTOM',
                'basic': {
                    'username': 'string',
                    'password': 'string'
                },
                'oauth2': {
                    'clientId': 'string',
                    'clientSecret': 'string',
                    'accessToken': 'string',
                    'refreshToken': 'string',
                    'oAuthRequest': {
                        'authCode': 'string',
                        'redirectUri': 'string'
                    }
                },
                'apiKey': {
                    'apiKey': 'string',
                    'apiSecretKey': 'string'
                },
                'custom': {
                    'customAuthenticationType': 'string',
                    'credentialsMap': {
                        'string': 'string'
                    }
                }
            },
            'Pardot': {
                'accessToken': 'string',
                'refreshToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                },
                'clientCredentialsArn': 'string'
            }
        }
    },
    clientToken='string'
)
type connectorProfileName

string

param connectorProfileName

[REQUIRED]

The name of the connector profile. The name is unique for each ConnectorProfile in your Amazon Web Services 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 connectorLabel

string

param connectorLabel

The label of the connector. The label is unique for each ConnectorRegistration in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR connector type/.

type connectionMode

string

param connectionMode

[REQUIRED]

Indicates the connection mode and specifies whether it is public or private. Private flows use Amazon Web Services PrivateLink to route data over Amazon Web Services 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.

    • Honeycode (dict) --

      The connector-specific properties required by Amazon Honeycode.

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

        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 IAM role that grants Amazon Redshift read-only access to Amazon S3. For more information, and for the polices that you attach to this role, see Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3.

      • dataApiRoleArn (string) --

        The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access your Amazon Redshift database through the Data API. For more information, and for the polices that you attach to this role, see Allow Amazon AppFlow to access Amazon Redshift databases with the Data API.

      • isRedshiftServerless (boolean) --

        Indicates whether the connector profile defines a connection to an Amazon Redshift Serverless data warehouse.

      • clusterIdentifier (string) --

        The unique ID that's assigned to an Amazon Redshift cluster.

      • workgroupName (string) --

        The name of an Amazon Redshift workgroup.

      • databaseName (string) --

        The name of an Amazon Redshift database.

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

      • usePrivateLinkForMetadataAndAuthorization (boolean) --

        If the connection mode for the connector profile is private, this parameter sets whether Amazon AppFlow uses the private network to send metadata and authorization calls to Salesforce. Amazon AppFlow sends private calls through Amazon Web Services PrivateLink. These calls travel through Amazon Web Services infrastructure without being exposed to the public internet.

        Set either of the following values:

        true

        Amazon AppFlow sends all calls to Salesforce over the private network.

        These private calls are:

        • Calls to get metadata about your Salesforce records. This metadata describes your Salesforce objects and their fields.

        • Calls to get or refresh access tokens that allow Amazon AppFlow to access your Salesforce records.

        • Calls to transfer your Salesforce records as part of a flow run.

          false

        The default value. Amazon AppFlow sends some calls to Salesforce privately and other calls over the public internet.

        The public calls are:

        • Calls to get metadata about your Salesforce records.

        • Calls to get or refresh access tokens.

        The private calls are:

        • Calls to transfer your Salesforce records as part of a flow run.

    • 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 Amazon Web Services 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.

    • SAPOData (dict) --

      The connector-specific profile properties required when using SAPOData.

      • applicationHostUrl (string) -- [REQUIRED]

        The location of the SAPOData resource.

      • applicationServicePath (string) -- [REQUIRED]

        The application path to catalog service.

      • portNumber (integer) -- [REQUIRED]

        The port number of the SAPOData instance.

      • clientNumber (string) -- [REQUIRED]

        The client number for the client creating the connection.

      • logonLanguage (string) --

        The logon language of SAPOData instance.

      • privateLinkServiceName (string) --

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

      • oAuthProperties (dict) --

        The SAPOData OAuth properties required for OAuth type authentication.

        • tokenUrl (string) -- [REQUIRED]

          The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.

        • authCodeUrl (string) -- [REQUIRED]

          The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.

        • oAuthScopes (list) -- [REQUIRED]

          The OAuth scopes required for OAuth type authentication.

          • (string) --

    • CustomConnector (dict) --

      The properties required by the custom connector.

      • profileProperties (dict) --

        A map of properties that are required to create a profile for the custom connector.

        • (string) --

          • (string) --

      • oAuth2Properties (dict) --

        The OAuth 2.0 properties required for OAuth 2.0 authentication.

        • tokenUrl (string) -- [REQUIRED]

          The token URL required for OAuth 2.0 authentication.

        • oAuth2GrantType (string) -- [REQUIRED]

          The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.

        • tokenUrlCustomProperties (dict) --

          Associates your token URL with a map of properties that you define. Use this parameter to provide any additional details that the connector requires to authenticate your request.

          • (string) --

            • (string) --

    • Pardot (dict) --

      The connector-specific properties required by Salesforce Pardot.

      • instanceUrl (string) --

        The location of the Salesforce Pardot resource.

      • isSandboxEnvironment (boolean) --

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

      • businessUnitId (string) --

        The business unit id of Salesforce Pardot instance.

  • connectorProfileCredentials (dict) --

    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.

    • Honeycode (dict) --

      The connector-specific credentials required when using Amazon Honeycode.

      • accessToken (string) --

        The credentials used to access protected Amazon Honeycode resources.

      • refreshToken (string) --

        The credentials used to acquire new access tokens.

      • oAuthRequest (dict) --

        Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

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

        The name of the user.

      • password (string) --

        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.

    • SAPOData (dict) --

      The connector-specific profile credentials required when using SAPOData.

      • basicAuthCredentials (dict) --

        The SAPOData basic authentication credentials.

        • username (string) -- [REQUIRED]

          The username to use to connect to a resource.

        • password (string) -- [REQUIRED]

          The password to use to connect to a resource.

      • oAuthCredentials (dict) --

        The SAPOData OAuth type authentication credentials.

        • 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 access token used to access protected SAPOData resources.

        • refreshToken (string) --

          The refresh token used to refresh expired access token.

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

    • CustomConnector (dict) --

      The connector-specific profile credentials that are required when using the custom connector.

      • authenticationType (string) -- [REQUIRED]

        The authentication type that the custom connector uses for authenticating while creating a connector profile.

      • basic (dict) --

        The basic credentials that are required for the authentication of the user.

        • username (string) -- [REQUIRED]

          The username to use to connect to a resource.

        • password (string) -- [REQUIRED]

          The password to use to connect to a resource.

      • oauth2 (dict) --

        The OAuth 2.0 credentials required for the authentication of the user.

        • clientId (string) --

          The identifier for the desired client.

        • clientSecret (string) --

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

        • accessToken (string) --

          The access token used to access the connector on your behalf.

        • refreshToken (string) --

          The refresh token used to refresh an expired access token.

        • oAuthRequest (dict) --

          Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

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

      • apiKey (dict) --

        The API keys required for the authentication of the user.

        • apiKey (string) -- [REQUIRED]

          The API key required for API key authentication.

        • apiSecretKey (string) --

          The API secret key required for API key authentication.

      • custom (dict) --

        If the connector uses the custom authentication mechanism, this holds the required credentials.

        • customAuthenticationType (string) -- [REQUIRED]

          The custom authentication type that the connector uses.

        • credentialsMap (dict) --

          A map that holds custom authentication credentials.

          • (string) --

            • (string) --

    • Pardot (dict) --

      The connector-specific credentials required when using Salesforce Pardot.

      • accessToken (string) --

        The credentials used to access protected Salesforce Pardot resources.

      • refreshToken (string) --

        The credentials used to acquire new access tokens.

      • oAuthRequest (dict) --

        Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

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

type clientToken

string

param clientToken

The clientToken parameter is an idempotency token. It ensures that your CreateConnectorProfile request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken , Amazon AppFlow considers it a new call to CreateConnectorProfile . The token is active for 8 hours.

This field is autopopulated if not provided.

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)
{'clientToken': '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',
                'scheduleOffset': 123,
                'firstExecutionFrom': datetime(2015, 1, 1),
                'flowErrorDeactivationThreshold': 123
            }
        }
    },
    sourceFlowConfig={
        'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot',
        'apiVersion': 'string',
        'connectorProfileName': 'string',
        'sourceConnectorProperties': {
            'Amplitude': {
                'object': 'string'
            },
            'Datadog': {
                'object': 'string'
            },
            'Dynatrace': {
                'object': 'string'
            },
            'GoogleAnalytics': {
                'object': 'string'
            },
            'InforNexus': {
                'object': 'string'
            },
            'Marketo': {
                'object': 'string'
            },
            'S3': {
                'bucketName': 'string',
                'bucketPrefix': 'string',
                's3InputFormatConfig': {
                    's3InputFileType': 'CSV'|'JSON'
                }
            },
            'Salesforce': {
                'object': 'string',
                'enableDynamicFieldUpdate': True|False,
                'includeDeletedRecords': True|False,
                'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC'
            },
            'ServiceNow': {
                'object': 'string'
            },
            'Singular': {
                'object': 'string'
            },
            'Slack': {
                'object': 'string'
            },
            'Trendmicro': {
                'object': 'string'
            },
            'Veeva': {
                'object': 'string',
                'documentType': 'string',
                'includeSourceFiles': True|False,
                'includeRenditions': True|False,
                'includeAllVersions': True|False
            },
            'Zendesk': {
                'object': 'string'
            },
            'SAPOData': {
                'objectPath': 'string'
            },
            'CustomConnector': {
                'entityName': 'string',
                'customProperties': {
                    'string': 'string'
                }
            },
            'Pardot': {
                'object': 'string'
            }
        },
        'incrementalPullConfig': {
            'datetimeTypeFieldName': 'string'
        }
    },
    destinationFlowConfigList=[
        {
            'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot',
            'apiVersion': 'string',
            'connectorProfileName': 'string',
            'destinationConnectorProperties': {
                'Redshift': {
                    'object': 'string',
                    'intermediateBucketName': 'string',
                    'bucketPrefix': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'S3': {
                    'bucketName': 'string',
                    'bucketPrefix': 'string',
                    's3OutputFormatConfig': {
                        'fileType': 'CSV'|'JSON'|'PARQUET',
                        'prefixConfig': {
                            'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME',
                            'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE',
                            'pathPrefixHierarchy': [
                                'EXECUTION_ID'|'SCHEMA_VERSION',
                            ]
                        },
                        'aggregationConfig': {
                            'aggregationType': 'None'|'SingleFile',
                            'targetFileSize': 123
                        },
                        'preserveSourceDataTyping': True|False
                    }
                },
                'Salesforce': {
                    'object': 'string',
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE',
                    'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC'
                },
                'Snowflake': {
                    'object': 'string',
                    'intermediateBucketName': 'string',
                    'bucketPrefix': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'EventBridge': {
                    'object': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'LookoutMetrics': {}
                ,
                'Upsolver': {
                    'bucketName': 'string',
                    'bucketPrefix': 'string',
                    's3OutputFormatConfig': {
                        'fileType': 'CSV'|'JSON'|'PARQUET',
                        'prefixConfig': {
                            'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME',
                            'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE',
                            'pathPrefixHierarchy': [
                                'EXECUTION_ID'|'SCHEMA_VERSION',
                            ]
                        },
                        'aggregationConfig': {
                            'aggregationType': 'None'|'SingleFile',
                            'targetFileSize': 123
                        }
                    }
                },
                'Honeycode': {
                    'object': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'CustomerProfiles': {
                    'domainName': 'string',
                    'objectTypeName': 'string'
                },
                'Zendesk': {
                    'object': 'string',
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE'
                },
                'Marketo': {
                    'object': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'CustomConnector': {
                    'entityName': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE',
                    'idFieldNames': [
                        'string',
                    ],
                    'customProperties': {
                        'string': 'string'
                    }
                },
                'SAPOData': {
                    'objectPath': 'string',
                    'successResponseHandlingConfig': {
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE'
                }
            }
        },
    ],
    tasks=[
        {
            'sourceFields': [
                'string',
            ],
            'connectorOperator': {
                'Amplitude': 'BETWEEN',
                'Datadog': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Dynatrace': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'GoogleAnalytics': 'PROJECTION'|'BETWEEN',
                'InforNexus': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Marketo': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'S3': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Salesforce': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'ServiceNow': 'PROJECTION'|'CONTAINS'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Singular': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Slack': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Trendmicro': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Veeva': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Zendesk': 'PROJECTION'|'GREATER_THAN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'SAPOData': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'CustomConnector': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Pardot': 'PROJECTION'|'EQUAL_TO'|'NO_OP'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'
            },
            'destinationField': 'string',
            'taskType': 'Arithmetic'|'Filter'|'Map'|'Map_all'|'Mask'|'Merge'|'Passthrough'|'Truncate'|'Validate'|'Partition',
            'taskProperties': {
                'string': 'string'
            }
        },
    ],
    tags={
        'string': 'string'
    },
    metadataCatalogConfig={
        'glueDataCatalog': {
            'roleArn': 'string',
            'databaseName': 'string',
            'tablePrefix': 'string'
        }
    },
    clientToken='string'
)
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 the rate at which the schedule will run, for example rate(5minutes) .

      • dataPullMode (string) --

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

      • scheduleStartTime (datetime) --

        The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00 .

      • scheduleEndTime (datetime) --

        The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00 .

      • timezone (string) --

        Specifies the time zone used when referring to the dates and times of a scheduled flow, such as America/New_York . This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.

        If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the America/New_York timezone are -04:00 EDT and -05:00 EST .

      • scheduleOffset (integer) --

        Specifies the optional offset that is added to the time interval for a schedule-triggered flow.

      • firstExecutionFrom (datetime) --

        Specifies the date range for the records to import from the connector in the first flow run.

      • flowErrorDeactivationThreshold (integer) --

        Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.

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.

  • apiVersion (string) --

    The API version of the connector when it's used as a source in the flow.

  • connectorProfileName (string) --

    The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.

  • sourceConnectorProperties (dict) -- [REQUIRED]

    Specifies the information that is required to query a particular source connector.

    • Amplitude (dict) --

      Specifies the information that is required for querying Amplitude.

      • object (string) -- [REQUIRED]

        The object specified in the Amplitude flow source.

    • Datadog (dict) --

      Specifies the information that is required for querying Datadog.

      • object (string) -- [REQUIRED]

        The object specified in the Datadog flow source.

    • Dynatrace (dict) --

      Specifies the information that is required for querying Dynatrace.

      • object (string) -- [REQUIRED]

        The object specified in the Dynatrace flow source.

    • GoogleAnalytics (dict) --

      Specifies the information that is required for querying Google Analytics.

      • object (string) -- [REQUIRED]

        The object specified in the Google Analytics flow source.

    • InforNexus (dict) --

      Specifies the information that is required for querying Infor Nexus.

      • object (string) -- [REQUIRED]

        The object specified in the Infor Nexus flow source.

    • Marketo (dict) --

      Specifies the information that is required for querying Marketo.

      • object (string) -- [REQUIRED]

        The object specified in the Marketo flow source.

    • S3 (dict) --

      Specifies the information that is required for querying Amazon S3.

      • bucketName (string) -- [REQUIRED]

        The Amazon S3 bucket name where the source files are stored.

      • bucketPrefix (string) --

        The object key for the Amazon S3 bucket in which the source files are stored.

      • s3InputFormatConfig (dict) --

        When you use Amazon S3 as the source, the configuration format that you provide the flow input data.

        • s3InputFileType (string) --

          The file type that Amazon AppFlow gets from your Amazon S3 bucket.

    • Salesforce (dict) --

      Specifies the information that is required for querying Salesforce.

      • object (string) -- [REQUIRED]

        The object specified in the Salesforce flow source.

      • enableDynamicFieldUpdate (boolean) --

        The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.

      • includeDeletedRecords (boolean) --

        Indicates whether Amazon AppFlow includes deleted files in the flow run.

      • dataTransferApi (string) --

        Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.

        AUTOMATIC

        The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.

        Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900,000 records, and it might use Bulk API 2.0 on the next day to transfer 1,100,000 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.

        By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.

        BULKV2

        Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.

        Note that Bulk API 2.0 does not transfer Salesforce compound fields.

        REST_SYNC

        Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail wituh a timed out error.

    • ServiceNow (dict) --

      Specifies the information that is required for querying ServiceNow.

      • object (string) -- [REQUIRED]

        The object specified in the ServiceNow flow source.

    • Singular (dict) --

      Specifies the information that is required for querying Singular.

      • object (string) -- [REQUIRED]

        The object specified in the Singular flow source.

    • Slack (dict) --

      Specifies the information that is required for querying Slack.

      • object (string) -- [REQUIRED]

        The object specified in the Slack flow source.

    • Trendmicro (dict) --

      Specifies the information that is required for querying Trend Micro.

      • object (string) -- [REQUIRED]

        The object specified in the Trend Micro flow source.

    • Veeva (dict) --

      Specifies the information that is required for querying Veeva.

      • object (string) -- [REQUIRED]

        The object specified in the Veeva flow source.

      • documentType (string) --

        The document type specified in the Veeva document extract flow.

      • includeSourceFiles (boolean) --

        Boolean value to include source files in Veeva document extract flow.

      • includeRenditions (boolean) --

        Boolean value to include file renditions in Veeva document extract flow.

      • includeAllVersions (boolean) --

        Boolean value to include All Versions of files in Veeva document extract flow.

    • Zendesk (dict) --

      Specifies the information that is required for querying Zendesk.

      • object (string) -- [REQUIRED]

        The object specified in the Zendesk flow source.

    • SAPOData (dict) --

      The properties that are applied when using SAPOData as a flow source.

      • objectPath (string) --

        The object path specified in the SAPOData flow source.

    • CustomConnector (dict) --

      The properties that are applied when the custom connector is being used as a source.

      • entityName (string) -- [REQUIRED]

        The entity specified in the custom connector as a source in the flow.

      • customProperties (dict) --

        Custom properties that are required to use the custom connector as a source.

        • (string) --

          • (string) --

    • Pardot (dict) --

      Specifies the information that is required for querying Salesforce Pardot.

      • object (string) -- [REQUIRED]

        The object specified in the Salesforce Pardot flow source.

  • incrementalPullConfig (dict) --

    Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.

    • datetimeTypeFieldName (string) --

      A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.

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.

    • apiVersion (string) --

      The API version that the destination connector uses.

    • connectorProfileName (string) --

      The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.

    • destinationConnectorProperties (dict) -- [REQUIRED]

      This stores the information that is required to query a particular connector.

      • Redshift (dict) --

        The properties required to query Amazon Redshift.

        • object (string) -- [REQUIRED]

          The object specified in the Amazon Redshift flow destination.

        • intermediateBucketName (string) -- [REQUIRED]

          The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.

        • bucketPrefix (string) --

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

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • S3 (dict) --

        The properties required to query Amazon S3.

        • bucketName (string) -- [REQUIRED]

          The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.

        • bucketPrefix (string) --

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

        • s3OutputFormatConfig (dict) --

          The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.

          • fileType (string) --

            Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.

          • prefixConfig (dict) --

            Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.

            • prefixType (string) --

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

            • prefixFormat (string) --

              Determines the level of granularity for the date and time that's included in the prefix.

            • pathPrefixHierarchy (list) --

              Specifies whether the destination file path includes either or both of the following elements:

              EXECUTION_ID

              The ID that Amazon AppFlow assigns to the flow run.

              SCHEMA_VERSION

              The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:

              • Source-to-destination field mappings

              • Field data types

              • Partition keys

              • (string) --

          • aggregationConfig (dict) --

            The aggregation settings that you can use to customize the output format of your flow data.

            • aggregationType (string) --

              Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.

            • targetFileSize (integer) --

              The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.

          • preserveSourceDataTyping (boolean) --

            If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.

            • true : Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or 1 in your source data is still an integer in your output.

            • false : Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of 1 in your source data becomes the string "1" in the output.

      • Salesforce (dict) --

        The properties required to query Salesforce.

        • object (string) -- [REQUIRED]

          The object specified in the Salesforce flow destination.

        • idFieldNames (list) --

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

          • (string) --

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

        • writeOperationType (string) --

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

        • dataTransferApi (string) --

          Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.

          AUTOMATIC

          The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.

          Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.

          By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.

          BULKV2

          Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.

          Note that Bulk API 2.0 does not transfer Salesforce compound fields.

          REST_SYNC

          Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.

      • Snowflake (dict) --

        The properties required to query Snowflake.

        • object (string) -- [REQUIRED]

          The object specified in the Snowflake flow destination.

        • intermediateBucketName (string) -- [REQUIRED]

          The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.

        • bucketPrefix (string) --

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

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • EventBridge (dict) --

        The properties required to query Amazon EventBridge.

        • object (string) -- [REQUIRED]

          The object specified in the Amazon EventBridge flow destination.

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • LookoutMetrics (dict) --

        The properties required to query Amazon Lookout for Metrics.

      • Upsolver (dict) --

        The properties required to query Upsolver.

        • bucketName (string) -- [REQUIRED]

          The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.

        • bucketPrefix (string) --

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

        • s3OutputFormatConfig (dict) -- [REQUIRED]

          The configuration that determines how data is formatted when Upsolver is used as the flow destination.

          • fileType (string) --

            Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.

          • prefixConfig (dict) -- [REQUIRED]

            Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.

            • prefixType (string) --

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

            • prefixFormat (string) --

              Determines the level of granularity for the date and time that's included in the prefix.

            • pathPrefixHierarchy (list) --

              Specifies whether the destination file path includes either or both of the following elements:

              EXECUTION_ID

              The ID that Amazon AppFlow assigns to the flow run.

              SCHEMA_VERSION

              The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:

              • Source-to-destination field mappings

              • Field data types

              • Partition keys

              • (string) --

          • aggregationConfig (dict) --

            The aggregation settings that you can use to customize the output format of your flow data.

            • aggregationType (string) --

              Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.

            • targetFileSize (integer) --

              The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.

      • Honeycode (dict) --

        The properties required to query Amazon Honeycode.

        • object (string) -- [REQUIRED]

          The object specified in the Amazon Honeycode flow destination.

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • CustomerProfiles (dict) --

        The properties required to query Amazon Connect Customer Profiles.

        • domainName (string) -- [REQUIRED]

          The unique name of the Amazon Connect Customer Profiles domain.

        • objectTypeName (string) --

          The object specified in the Amazon Connect Customer Profiles flow destination.

      • Zendesk (dict) --

        The properties required to query Zendesk.

        • object (string) -- [REQUIRED]

          The object specified in the Zendesk flow destination.

        • idFieldNames (list) --

          A list of field names that can be used as an ID field when performing a write operation.

          • (string) --

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

        • writeOperationType (string) --

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

      • Marketo (dict) --

        The properties required to query Marketo.

        • object (string) -- [REQUIRED]

          The object specified in the Marketo flow destination.

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • CustomConnector (dict) --

        The properties that are required to query the custom Connector.

        • entityName (string) -- [REQUIRED]

          The entity specified in the custom connector as a destination in the flow.

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

        • writeOperationType (string) --

          Specifies the type of write operation to be performed in the custom connector when it's used as destination.

        • idFieldNames (list) --

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

          • (string) --

        • customProperties (dict) --

          The custom properties that are specific to the connector when it's used as a destination in the flow.

          • (string) --

            • (string) --

      • SAPOData (dict) --

        The properties required to query SAPOData.

        • objectPath (string) -- [REQUIRED]

          The object path specified in the SAPOData flow destination.

        • successResponseHandlingConfig (dict) --

          Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.

          For example, this setting would determine where to write the response from a destination connector upon a successful insert operation.

          • bucketPrefix (string) --

            The Amazon S3 bucket prefix.

          • bucketName (string) --

            The name of the Amazon S3 bucket.

        • idFieldNames (list) --

          A list of field names that can be used as an ID field when performing a write operation.

          • (string) --

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

        • writeOperationType (string) --

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

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.

      • SAPOData (string) --

        The operation to be performed on the provided SAPOData source fields.

      • CustomConnector (string) --

        Operators supported by the custom connector.

      • Pardot (string) --

        The operation to be performed on the provided Salesforce Pardot source fields.

    • destinationField (string) --

      A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.

    • taskType (string) -- [REQUIRED]

      Specifies the particular task implementation that Amazon AppFlow performs.

    • taskProperties (dict) --

      A map used to store task-related information. The execution service looks for particular information based on the TaskType .

      • (string) --

        • (string) --

type tags

dict

param tags

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

  • (string) --

    • (string) --

type metadataCatalogConfig

dict

param metadataCatalogConfig

Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.

  • glueDataCatalog (dict) --

    Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog.

    • roleArn (string) -- [REQUIRED]

      The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.

      For an example IAM policy that has the required permissions, see Identity-based policy examples for Amazon AppFlow.

    • databaseName (string) -- [REQUIRED]

      The name of the Data Catalog database that stores the metadata tables that Amazon AppFlow creates in your Amazon Web Services account. These tables contain metadata for the data that's transferred by the flow that you configure with this parameter.

      Note

      When you configure a new flow with this parameter, you must specify an existing database.

    • tablePrefix (string) -- [REQUIRED]

      A naming prefix for each Data Catalog table that Amazon AppFlow creates for the flow that you configure with this setting. Amazon AppFlow adds the prefix to the beginning of the each table name.

type clientToken

string

param clientToken

The clientToken parameter is an idempotency token. It ensures that your CreateFlow request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken , Amazon AppFlow considers it a new call to CreateFlow . The token is active for 8 hours.

This field is autopopulated if not provided.

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.

RegisterConnector (updated) Link ¶
Changes (request)
{'clientToken': 'string'}

Registers a new custom connector with your Amazon Web Services account. Before you can register the connector, you must deploy the associated AWS lambda function in your account.

See also: AWS API Documentation

Request Syntax

client.register_connector(
    connectorLabel='string',
    description='string',
    connectorProvisioningType='LAMBDA',
    connectorProvisioningConfig={
        'lambda': {
            'lambdaArn': 'string'
        }
    },
    clientToken='string'
)
type connectorLabel

string

param connectorLabel

The name of the connector. The name is unique for each ConnectorRegistration in your Amazon Web Services account.

type description

string

param description

A description about the connector that's being registered.

type connectorProvisioningType

string

param connectorProvisioningType

The provisioning type of the connector. Currently the only supported value is LAMBDA.

type connectorProvisioningConfig

dict

param connectorProvisioningConfig

The provisioning type of the connector. Currently the only supported value is LAMBDA.

  • lambda (dict) --

    Contains information about the configuration of the lambda which is being registered as the connector.

    • lambdaArn (string) -- [REQUIRED]

      Lambda ARN of the connector being registered.

type clientToken

string

param clientToken

The clientToken parameter is an idempotency token. It ensures that your RegisterConnector request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken , Amazon AppFlow considers it a new call to RegisterConnector . The token is active for 8 hours.

This field is autopopulated if not provided.

rtype

dict

returns

Response Syntax

{
    'connectorArn': 'string'
}

Response Structure

  • (dict) --

    • connectorArn (string) --

      The ARN of the connector being registered.

StartFlow (updated) Link ¶
Changes (request)
{'clientToken': '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',
    clientToken='string'
)
type flowName

string

param flowName

[REQUIRED]

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

type clientToken

string

param clientToken

The clientToken parameter is an idempotency token. It ensures that your StartFlow request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs for flows that run on a schedule or based on an event. However, the error doesn't occur for flows that run on demand. You set the conditions that initiate your flow for the triggerConfig parameter.

If you use a different value for clientToken , Amazon AppFlow considers it a new call to StartFlow . The token is active for 8 hours.

This field is autopopulated if not provided.

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)
{'clientToken': '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': {}
            ,
            'Honeycode': {}
            ,
            'InforNexus': {
                'instanceUrl': 'string'
            },
            'Marketo': {
                'instanceUrl': 'string'
            },
            'Redshift': {
                'databaseUrl': 'string',
                'bucketName': 'string',
                'bucketPrefix': 'string',
                'roleArn': 'string',
                'dataApiRoleArn': 'string',
                'isRedshiftServerless': True|False,
                'clusterIdentifier': 'string',
                'workgroupName': 'string',
                'databaseName': 'string'
            },
            'Salesforce': {
                'instanceUrl': 'string',
                'isSandboxEnvironment': True|False,
                'usePrivateLinkForMetadataAndAuthorization': 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'
            },
            'SAPOData': {
                'applicationHostUrl': 'string',
                'applicationServicePath': 'string',
                'portNumber': 123,
                'clientNumber': 'string',
                'logonLanguage': 'string',
                'privateLinkServiceName': 'string',
                'oAuthProperties': {
                    'tokenUrl': 'string',
                    'authCodeUrl': 'string',
                    'oAuthScopes': [
                        'string',
                    ]
                }
            },
            'CustomConnector': {
                'profileProperties': {
                    'string': 'string'
                },
                'oAuth2Properties': {
                    'tokenUrl': 'string',
                    'oAuth2GrantType': 'CLIENT_CREDENTIALS'|'AUTHORIZATION_CODE',
                    'tokenUrlCustomProperties': {
                        'string': 'string'
                    }
                }
            },
            'Pardot': {
                'instanceUrl': 'string',
                'isSandboxEnvironment': True|False,
                'businessUnitId': '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'
                }
            },
            'Honeycode': {
                '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'
                }
            },
            'SAPOData': {
                'basicAuthCredentials': {
                    'username': 'string',
                    'password': 'string'
                },
                'oAuthCredentials': {
                    'clientId': 'string',
                    'clientSecret': 'string',
                    'accessToken': 'string',
                    'refreshToken': 'string',
                    'oAuthRequest': {
                        'authCode': 'string',
                        'redirectUri': 'string'
                    }
                }
            },
            'CustomConnector': {
                'authenticationType': 'OAUTH2'|'APIKEY'|'BASIC'|'CUSTOM',
                'basic': {
                    'username': 'string',
                    'password': 'string'
                },
                'oauth2': {
                    'clientId': 'string',
                    'clientSecret': 'string',
                    'accessToken': 'string',
                    'refreshToken': 'string',
                    'oAuthRequest': {
                        'authCode': 'string',
                        'redirectUri': 'string'
                    }
                },
                'apiKey': {
                    'apiKey': 'string',
                    'apiSecretKey': 'string'
                },
                'custom': {
                    'customAuthenticationType': 'string',
                    'credentialsMap': {
                        'string': 'string'
                    }
                }
            },
            'Pardot': {
                'accessToken': 'string',
                'refreshToken': 'string',
                'oAuthRequest': {
                    'authCode': 'string',
                    'redirectUri': 'string'
                },
                'clientCredentialsArn': 'string'
            }
        }
    },
    clientToken='string'
)
type connectorProfileName

string

param connectorProfileName

[REQUIRED]

The name of the connector profile and is unique for each ConnectorProfile in the Amazon Web Services 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.

    • Honeycode (dict) --

      The connector-specific properties required by Amazon Honeycode.

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

        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 IAM role that grants Amazon Redshift read-only access to Amazon S3. For more information, and for the polices that you attach to this role, see Allow Amazon Redshift to access your Amazon AppFlow data in Amazon S3.

      • dataApiRoleArn (string) --

        The Amazon Resource Name (ARN) of an IAM role that permits Amazon AppFlow to access your Amazon Redshift database through the Data API. For more information, and for the polices that you attach to this role, see Allow Amazon AppFlow to access Amazon Redshift databases with the Data API.

      • isRedshiftServerless (boolean) --

        Indicates whether the connector profile defines a connection to an Amazon Redshift Serverless data warehouse.

      • clusterIdentifier (string) --

        The unique ID that's assigned to an Amazon Redshift cluster.

      • workgroupName (string) --

        The name of an Amazon Redshift workgroup.

      • databaseName (string) --

        The name of an Amazon Redshift database.

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

      • usePrivateLinkForMetadataAndAuthorization (boolean) --

        If the connection mode for the connector profile is private, this parameter sets whether Amazon AppFlow uses the private network to send metadata and authorization calls to Salesforce. Amazon AppFlow sends private calls through Amazon Web Services PrivateLink. These calls travel through Amazon Web Services infrastructure without being exposed to the public internet.

        Set either of the following values:

        true

        Amazon AppFlow sends all calls to Salesforce over the private network.

        These private calls are:

        • Calls to get metadata about your Salesforce records. This metadata describes your Salesforce objects and their fields.

        • Calls to get or refresh access tokens that allow Amazon AppFlow to access your Salesforce records.

        • Calls to transfer your Salesforce records as part of a flow run.

          false

        The default value. Amazon AppFlow sends some calls to Salesforce privately and other calls over the public internet.

        The public calls are:

        • Calls to get metadata about your Salesforce records.

        • Calls to get or refresh access tokens.

        The private calls are:

        • Calls to transfer your Salesforce records as part of a flow run.

    • 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 Amazon Web Services 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.

    • SAPOData (dict) --

      The connector-specific profile properties required when using SAPOData.

      • applicationHostUrl (string) -- [REQUIRED]

        The location of the SAPOData resource.

      • applicationServicePath (string) -- [REQUIRED]

        The application path to catalog service.

      • portNumber (integer) -- [REQUIRED]

        The port number of the SAPOData instance.

      • clientNumber (string) -- [REQUIRED]

        The client number for the client creating the connection.

      • logonLanguage (string) --

        The logon language of SAPOData instance.

      • privateLinkServiceName (string) --

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

      • oAuthProperties (dict) --

        The SAPOData OAuth properties required for OAuth type authentication.

        • tokenUrl (string) -- [REQUIRED]

          The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.

        • authCodeUrl (string) -- [REQUIRED]

          The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.

        • oAuthScopes (list) -- [REQUIRED]

          The OAuth scopes required for OAuth type authentication.

          • (string) --

    • CustomConnector (dict) --

      The properties required by the custom connector.

      • profileProperties (dict) --

        A map of properties that are required to create a profile for the custom connector.

        • (string) --

          • (string) --

      • oAuth2Properties (dict) --

        The OAuth 2.0 properties required for OAuth 2.0 authentication.

        • tokenUrl (string) -- [REQUIRED]

          The token URL required for OAuth 2.0 authentication.

        • oAuth2GrantType (string) -- [REQUIRED]

          The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.

        • tokenUrlCustomProperties (dict) --

          Associates your token URL with a map of properties that you define. Use this parameter to provide any additional details that the connector requires to authenticate your request.

          • (string) --

            • (string) --

    • Pardot (dict) --

      The connector-specific properties required by Salesforce Pardot.

      • instanceUrl (string) --

        The location of the Salesforce Pardot resource.

      • isSandboxEnvironment (boolean) --

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

      • businessUnitId (string) --

        The business unit id of Salesforce Pardot instance.

  • connectorProfileCredentials (dict) --

    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.

    • Honeycode (dict) --

      The connector-specific credentials required when using Amazon Honeycode.

      • accessToken (string) --

        The credentials used to access protected Amazon Honeycode resources.

      • refreshToken (string) --

        The credentials used to acquire new access tokens.

      • oAuthRequest (dict) --

        Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

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

        The name of the user.

      • password (string) --

        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.

    • SAPOData (dict) --

      The connector-specific profile credentials required when using SAPOData.

      • basicAuthCredentials (dict) --

        The SAPOData basic authentication credentials.

        • username (string) -- [REQUIRED]

          The username to use to connect to a resource.

        • password (string) -- [REQUIRED]

          The password to use to connect to a resource.

      • oAuthCredentials (dict) --

        The SAPOData OAuth type authentication credentials.

        • 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 access token used to access protected SAPOData resources.

        • refreshToken (string) --

          The refresh token used to refresh expired access token.

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

    • CustomConnector (dict) --

      The connector-specific profile credentials that are required when using the custom connector.

      • authenticationType (string) -- [REQUIRED]

        The authentication type that the custom connector uses for authenticating while creating a connector profile.

      • basic (dict) --

        The basic credentials that are required for the authentication of the user.

        • username (string) -- [REQUIRED]

          The username to use to connect to a resource.

        • password (string) -- [REQUIRED]

          The password to use to connect to a resource.

      • oauth2 (dict) --

        The OAuth 2.0 credentials required for the authentication of the user.

        • clientId (string) --

          The identifier for the desired client.

        • clientSecret (string) --

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

        • accessToken (string) --

          The access token used to access the connector on your behalf.

        • refreshToken (string) --

          The refresh token used to refresh an expired access token.

        • oAuthRequest (dict) --

          Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

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

      • apiKey (dict) --

        The API keys required for the authentication of the user.

        • apiKey (string) -- [REQUIRED]

          The API key required for API key authentication.

        • apiSecretKey (string) --

          The API secret key required for API key authentication.

      • custom (dict) --

        If the connector uses the custom authentication mechanism, this holds the required credentials.

        • customAuthenticationType (string) -- [REQUIRED]

          The custom authentication type that the connector uses.

        • credentialsMap (dict) --

          A map that holds custom authentication credentials.

          • (string) --

            • (string) --

    • Pardot (dict) --

      The connector-specific credentials required when using Salesforce Pardot.

      • accessToken (string) --

        The credentials used to access protected Salesforce Pardot resources.

      • refreshToken (string) --

        The credentials used to acquire new access tokens.

      • oAuthRequest (dict) --

        Used by select connectors for which the OAuth workflow is supported, such as Salesforce, Google Analytics, Marketo, Zendesk, and Slack.

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

type clientToken

string

param clientToken

The clientToken parameter is an idempotency token. It ensures that your UpdateConnectorProfile request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken , Amazon AppFlow considers it a new call to UpdateConnectorProfile . The token is active for 8 hours.

This field is autopopulated if not provided.

rtype

dict

returns

Response Syntax

{
    'connectorProfileArn': 'string'
}

Response Structure

  • (dict) --

    • connectorProfileArn (string) --

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

UpdateConnectorRegistration (updated) Link ¶
Changes (request)
{'clientToken': 'string'}

Updates a custom connector that you've previously registered. This operation updates the connector with one of the following:

  • The latest version of the AWS Lambda function that's assigned to the connector

  • A new AWS Lambda function that you specify

See also: AWS API Documentation

Request Syntax

client.update_connector_registration(
    connectorLabel='string',
    description='string',
    connectorProvisioningConfig={
        'lambda': {
            'lambdaArn': 'string'
        }
    },
    clientToken='string'
)
type connectorLabel

string

param connectorLabel

[REQUIRED]

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

type description

string

param description

A description about the update that you're applying to the connector.

type connectorProvisioningConfig

dict

param connectorProvisioningConfig

Contains information about the configuration of the connector being registered.

  • lambda (dict) --

    Contains information about the configuration of the lambda which is being registered as the connector.

    • lambdaArn (string) -- [REQUIRED]

      Lambda ARN of the connector being registered.

type clientToken

string

param clientToken

The clientToken parameter is an idempotency token. It ensures that your UpdateConnectorRegistration request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken , Amazon AppFlow considers it a new call to UpdateConnectorRegistration . The token is active for 8 hours.

This field is autopopulated if not provided.

rtype

dict

returns

Response Syntax

{
    'connectorArn': 'string'
}

Response Structure

  • (dict) --

    • connectorArn (string) --

      The ARN of the connector being updated.

UpdateFlow (updated) Link ¶
Changes (request)
{'clientToken': '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',
                'scheduleOffset': 123,
                'firstExecutionFrom': datetime(2015, 1, 1),
                'flowErrorDeactivationThreshold': 123
            }
        }
    },
    sourceFlowConfig={
        'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot',
        'apiVersion': 'string',
        'connectorProfileName': 'string',
        'sourceConnectorProperties': {
            'Amplitude': {
                'object': 'string'
            },
            'Datadog': {
                'object': 'string'
            },
            'Dynatrace': {
                'object': 'string'
            },
            'GoogleAnalytics': {
                'object': 'string'
            },
            'InforNexus': {
                'object': 'string'
            },
            'Marketo': {
                'object': 'string'
            },
            'S3': {
                'bucketName': 'string',
                'bucketPrefix': 'string',
                's3InputFormatConfig': {
                    's3InputFileType': 'CSV'|'JSON'
                }
            },
            'Salesforce': {
                'object': 'string',
                'enableDynamicFieldUpdate': True|False,
                'includeDeletedRecords': True|False,
                'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC'
            },
            'ServiceNow': {
                'object': 'string'
            },
            'Singular': {
                'object': 'string'
            },
            'Slack': {
                'object': 'string'
            },
            'Trendmicro': {
                'object': 'string'
            },
            'Veeva': {
                'object': 'string',
                'documentType': 'string',
                'includeSourceFiles': True|False,
                'includeRenditions': True|False,
                'includeAllVersions': True|False
            },
            'Zendesk': {
                'object': 'string'
            },
            'SAPOData': {
                'objectPath': 'string'
            },
            'CustomConnector': {
                'entityName': 'string',
                'customProperties': {
                    'string': 'string'
                }
            },
            'Pardot': {
                'object': 'string'
            }
        },
        'incrementalPullConfig': {
            'datetimeTypeFieldName': 'string'
        }
    },
    destinationFlowConfigList=[
        {
            'connectorType': 'Salesforce'|'Singular'|'Slack'|'Redshift'|'S3'|'Marketo'|'Googleanalytics'|'Zendesk'|'Servicenow'|'Datadog'|'Trendmicro'|'Snowflake'|'Dynatrace'|'Infornexus'|'Amplitude'|'Veeva'|'EventBridge'|'LookoutMetrics'|'Upsolver'|'Honeycode'|'CustomerProfiles'|'SAPOData'|'CustomConnector'|'Pardot',
            'apiVersion': 'string',
            'connectorProfileName': 'string',
            'destinationConnectorProperties': {
                'Redshift': {
                    'object': 'string',
                    'intermediateBucketName': 'string',
                    'bucketPrefix': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'S3': {
                    'bucketName': 'string',
                    'bucketPrefix': 'string',
                    's3OutputFormatConfig': {
                        'fileType': 'CSV'|'JSON'|'PARQUET',
                        'prefixConfig': {
                            'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME',
                            'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE',
                            'pathPrefixHierarchy': [
                                'EXECUTION_ID'|'SCHEMA_VERSION',
                            ]
                        },
                        'aggregationConfig': {
                            'aggregationType': 'None'|'SingleFile',
                            'targetFileSize': 123
                        },
                        'preserveSourceDataTyping': True|False
                    }
                },
                'Salesforce': {
                    'object': 'string',
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE',
                    'dataTransferApi': 'AUTOMATIC'|'BULKV2'|'REST_SYNC'
                },
                'Snowflake': {
                    'object': 'string',
                    'intermediateBucketName': 'string',
                    'bucketPrefix': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'EventBridge': {
                    'object': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'LookoutMetrics': {}
                ,
                'Upsolver': {
                    'bucketName': 'string',
                    'bucketPrefix': 'string',
                    's3OutputFormatConfig': {
                        'fileType': 'CSV'|'JSON'|'PARQUET',
                        'prefixConfig': {
                            'prefixType': 'FILENAME'|'PATH'|'PATH_AND_FILENAME',
                            'prefixFormat': 'YEAR'|'MONTH'|'DAY'|'HOUR'|'MINUTE',
                            'pathPrefixHierarchy': [
                                'EXECUTION_ID'|'SCHEMA_VERSION',
                            ]
                        },
                        'aggregationConfig': {
                            'aggregationType': 'None'|'SingleFile',
                            'targetFileSize': 123
                        }
                    }
                },
                'Honeycode': {
                    'object': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'CustomerProfiles': {
                    'domainName': 'string',
                    'objectTypeName': 'string'
                },
                'Zendesk': {
                    'object': 'string',
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE'
                },
                'Marketo': {
                    'object': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    }
                },
                'CustomConnector': {
                    'entityName': 'string',
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE',
                    'idFieldNames': [
                        'string',
                    ],
                    'customProperties': {
                        'string': 'string'
                    }
                },
                'SAPOData': {
                    'objectPath': 'string',
                    'successResponseHandlingConfig': {
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'idFieldNames': [
                        'string',
                    ],
                    'errorHandlingConfig': {
                        'failOnFirstDestinationError': True|False,
                        'bucketPrefix': 'string',
                        'bucketName': 'string'
                    },
                    'writeOperationType': 'INSERT'|'UPSERT'|'UPDATE'|'DELETE'
                }
            }
        },
    ],
    tasks=[
        {
            'sourceFields': [
                'string',
            ],
            'connectorOperator': {
                'Amplitude': 'BETWEEN',
                'Datadog': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Dynatrace': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'GoogleAnalytics': 'PROJECTION'|'BETWEEN',
                'InforNexus': 'PROJECTION'|'BETWEEN'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Marketo': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'S3': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Salesforce': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'ServiceNow': 'PROJECTION'|'CONTAINS'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Singular': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Slack': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Trendmicro': 'PROJECTION'|'EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Veeva': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Zendesk': 'PROJECTION'|'GREATER_THAN'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'SAPOData': 'PROJECTION'|'LESS_THAN'|'CONTAINS'|'GREATER_THAN'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'CustomConnector': 'PROJECTION'|'LESS_THAN'|'GREATER_THAN'|'CONTAINS'|'BETWEEN'|'LESS_THAN_OR_EQUAL_TO'|'GREATER_THAN_OR_EQUAL_TO'|'EQUAL_TO'|'NOT_EQUAL_TO'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'|'NO_OP',
                'Pardot': 'PROJECTION'|'EQUAL_TO'|'NO_OP'|'ADDITION'|'MULTIPLICATION'|'DIVISION'|'SUBTRACTION'|'MASK_ALL'|'MASK_FIRST_N'|'MASK_LAST_N'|'VALIDATE_NON_NULL'|'VALIDATE_NON_ZERO'|'VALIDATE_NON_NEGATIVE'|'VALIDATE_NUMERIC'
            },
            'destinationField': 'string',
            'taskType': 'Arithmetic'|'Filter'|'Map'|'Map_all'|'Mask'|'Merge'|'Passthrough'|'Truncate'|'Validate'|'Partition',
            'taskProperties': {
                'string': 'string'
            }
        },
    ],
    metadataCatalogConfig={
        'glueDataCatalog': {
            'roleArn': 'string',
            'databaseName': 'string',
            'tablePrefix': 'string'
        }
    },
    clientToken='string'
)
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 the rate at which the schedule will run, for example rate(5minutes) .

      • dataPullMode (string) --

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

      • scheduleStartTime (datetime) --

        The time at which the scheduled flow starts. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-26T13:00:00-07:00 .

      • scheduleEndTime (datetime) --

        The time at which the scheduled flow ends. The time is formatted as a timestamp that follows the ISO 8601 standard, such as 2022-04-27T13:00:00-07:00 .

      • timezone (string) --

        Specifies the time zone used when referring to the dates and times of a scheduled flow, such as America/New_York . This time zone is only a descriptive label. It doesn't affect how Amazon AppFlow interprets the timestamps that you specify to schedule the flow.

        If you want to schedule a flow by using times in a particular time zone, indicate the time zone as a UTC offset in your timestamps. For example, the UTC offsets for the America/New_York timezone are -04:00 EDT and -05:00 EST .

      • scheduleOffset (integer) --

        Specifies the optional offset that is added to the time interval for a schedule-triggered flow.

      • firstExecutionFrom (datetime) --

        Specifies the date range for the records to import from the connector in the first flow run.

      • flowErrorDeactivationThreshold (integer) --

        Defines how many times a scheduled flow fails consecutively before Amazon AppFlow deactivates it.

type sourceFlowConfig

dict

param sourceFlowConfig

[REQUIRED]

Contains information about the configuration of the source connector used in the flow.

  • connectorType (string) -- [REQUIRED]

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

  • apiVersion (string) --

    The API version of the connector when it's used as a source in the flow.

  • connectorProfileName (string) --

    The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.

  • sourceConnectorProperties (dict) -- [REQUIRED]

    Specifies the information that is required to query a particular source connector.

    • Amplitude (dict) --

      Specifies the information that is required for querying Amplitude.

      • object (string) -- [REQUIRED]

        The object specified in the Amplitude flow source.

    • Datadog (dict) --

      Specifies the information that is required for querying Datadog.

      • object (string) -- [REQUIRED]

        The object specified in the Datadog flow source.

    • Dynatrace (dict) --

      Specifies the information that is required for querying Dynatrace.

      • object (string) -- [REQUIRED]

        The object specified in the Dynatrace flow source.

    • GoogleAnalytics (dict) --

      Specifies the information that is required for querying Google Analytics.

      • object (string) -- [REQUIRED]

        The object specified in the Google Analytics flow source.

    • InforNexus (dict) --

      Specifies the information that is required for querying Infor Nexus.

      • object (string) -- [REQUIRED]

        The object specified in the Infor Nexus flow source.

    • Marketo (dict) --

      Specifies the information that is required for querying Marketo.

      • object (string) -- [REQUIRED]

        The object specified in the Marketo flow source.

    • S3 (dict) --

      Specifies the information that is required for querying Amazon S3.

      • bucketName (string) -- [REQUIRED]

        The Amazon S3 bucket name where the source files are stored.

      • bucketPrefix (string) --

        The object key for the Amazon S3 bucket in which the source files are stored.

      • s3InputFormatConfig (dict) --

        When you use Amazon S3 as the source, the configuration format that you provide the flow input data.

        • s3InputFileType (string) --

          The file type that Amazon AppFlow gets from your Amazon S3 bucket.

    • Salesforce (dict) --

      Specifies the information that is required for querying Salesforce.

      • object (string) -- [REQUIRED]

        The object specified in the Salesforce flow source.

      • enableDynamicFieldUpdate (boolean) --

        The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.

      • includeDeletedRecords (boolean) --

        Indicates whether Amazon AppFlow includes deleted files in the flow run.

      • dataTransferApi (string) --

        Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data from Salesforce.

        AUTOMATIC

        The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers from Salesforce. If your flow transfers fewer than 1,000,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.

        Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900,000 records, and it might use Bulk API 2.0 on the next day to transfer 1,100,000 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.

        By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.

        BULKV2

        Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.

        Note that Bulk API 2.0 does not transfer Salesforce compound fields.

        REST_SYNC

        Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail wituh a timed out error.

    • ServiceNow (dict) --

      Specifies the information that is required for querying ServiceNow.

      • object (string) -- [REQUIRED]

        The object specified in the ServiceNow flow source.

    • Singular (dict) --

      Specifies the information that is required for querying Singular.

      • object (string) -- [REQUIRED]

        The object specified in the Singular flow source.

    • Slack (dict) --

      Specifies the information that is required for querying Slack.

      • object (string) -- [REQUIRED]

        The object specified in the Slack flow source.

    • Trendmicro (dict) --

      Specifies the information that is required for querying Trend Micro.

      • object (string) -- [REQUIRED]

        The object specified in the Trend Micro flow source.

    • Veeva (dict) --

      Specifies the information that is required for querying Veeva.

      • object (string) -- [REQUIRED]

        The object specified in the Veeva flow source.

      • documentType (string) --

        The document type specified in the Veeva document extract flow.

      • includeSourceFiles (boolean) --

        Boolean value to include source files in Veeva document extract flow.

      • includeRenditions (boolean) --

        Boolean value to include file renditions in Veeva document extract flow.

      • includeAllVersions (boolean) --

        Boolean value to include All Versions of files in Veeva document extract flow.

    • Zendesk (dict) --

      Specifies the information that is required for querying Zendesk.

      • object (string) -- [REQUIRED]

        The object specified in the Zendesk flow source.

    • SAPOData (dict) --

      The properties that are applied when using SAPOData as a flow source.

      • objectPath (string) --

        The object path specified in the SAPOData flow source.

    • CustomConnector (dict) --

      The properties that are applied when the custom connector is being used as a source.

      • entityName (string) -- [REQUIRED]

        The entity specified in the custom connector as a source in the flow.

      • customProperties (dict) --

        Custom properties that are required to use the custom connector as a source.

        • (string) --

          • (string) --

    • Pardot (dict) --

      Specifies the information that is required for querying Salesforce Pardot.

      • object (string) -- [REQUIRED]

        The object specified in the Salesforce Pardot flow source.

  • incrementalPullConfig (dict) --

    Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.

    • datetimeTypeFieldName (string) --

      A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.

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.

    • apiVersion (string) --

      The API version that the destination connector uses.

    • connectorProfileName (string) --

      The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.

    • destinationConnectorProperties (dict) -- [REQUIRED]

      This stores the information that is required to query a particular connector.

      • Redshift (dict) --

        The properties required to query Amazon Redshift.

        • object (string) -- [REQUIRED]

          The object specified in the Amazon Redshift flow destination.

        • intermediateBucketName (string) -- [REQUIRED]

          The intermediate bucket that Amazon AppFlow uses when moving data into Amazon Redshift.

        • bucketPrefix (string) --

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

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the Amazon Redshift destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • S3 (dict) --

        The properties required to query Amazon S3.

        • bucketName (string) -- [REQUIRED]

          The Amazon S3 bucket name in which Amazon AppFlow places the transferred data.

        • bucketPrefix (string) --

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

        • s3OutputFormatConfig (dict) --

          The configuration that determines how Amazon AppFlow should format the flow output data when Amazon S3 is used as the destination.

          • fileType (string) --

            Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.

          • prefixConfig (dict) --

            Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon S3 bucket. You can name folders according to the flow frequency and date.

            • prefixType (string) --

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

            • prefixFormat (string) --

              Determines the level of granularity for the date and time that's included in the prefix.

            • pathPrefixHierarchy (list) --

              Specifies whether the destination file path includes either or both of the following elements:

              EXECUTION_ID

              The ID that Amazon AppFlow assigns to the flow run.

              SCHEMA_VERSION

              The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:

              • Source-to-destination field mappings

              • Field data types

              • Partition keys

              • (string) --

          • aggregationConfig (dict) --

            The aggregation settings that you can use to customize the output format of your flow data.

            • aggregationType (string) --

              Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.

            • targetFileSize (integer) --

              The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.

          • preserveSourceDataTyping (boolean) --

            If your file output format is Parquet, use this parameter to set whether Amazon AppFlow preserves the data types in your source data when it writes the output to Amazon S3.

            • true : Amazon AppFlow preserves the data types when it writes to Amazon S3. For example, an integer or 1 in your source data is still an integer in your output.

            • false : Amazon AppFlow converts all of the source data into strings when it writes to Amazon S3. For example, an integer of 1 in your source data becomes the string "1" in the output.

      • Salesforce (dict) --

        The properties required to query Salesforce.

        • object (string) -- [REQUIRED]

          The object specified in the Salesforce flow destination.

        • idFieldNames (list) --

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

          • (string) --

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the Salesforce destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

        • writeOperationType (string) --

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

        • dataTransferApi (string) --

          Specifies which Salesforce API is used by Amazon AppFlow when your flow transfers data to Salesforce.

          AUTOMATIC

          The default. Amazon AppFlow selects which API to use based on the number of records that your flow transfers to Salesforce. If your flow transfers fewer than 1,000 records, Amazon AppFlow uses Salesforce REST API. If your flow transfers 1,000 records or more, Amazon AppFlow uses Salesforce Bulk API 2.0.

          Each of these Salesforce APIs structures data differently. If Amazon AppFlow selects the API automatically, be aware that, for recurring flows, the data output might vary from one flow run to the next. For example, if a flow runs daily, it might use REST API on one day to transfer 900 records, and it might use Bulk API 2.0 on the next day to transfer 1,100 records. For each of these flow runs, the respective Salesforce API formats the data differently. Some of the differences include how dates are formatted and null values are represented. Also, Bulk API 2.0 doesn't transfer Salesforce compound fields.

          By choosing this option, you optimize flow performance for both small and large data transfers, but the tradeoff is inconsistent formatting in the output.

          BULKV2

          Amazon AppFlow uses only Salesforce Bulk API 2.0. This API runs asynchronous data transfers, and it's optimal for large sets of data. By choosing this option, you ensure that your flow writes consistent output, but you optimize performance only for large data transfers.

          Note that Bulk API 2.0 does not transfer Salesforce compound fields.

          REST_SYNC

          Amazon AppFlow uses only Salesforce REST API. By choosing this option, you ensure that your flow writes consistent output, but you decrease performance for large data transfers that are better suited for Bulk API 2.0. In some cases, if your flow attempts to transfer a vary large set of data, it might fail with a timed out error.

      • Snowflake (dict) --

        The properties required to query Snowflake.

        • object (string) -- [REQUIRED]

          The object specified in the Snowflake flow destination.

        • intermediateBucketName (string) -- [REQUIRED]

          The intermediate bucket that Amazon AppFlow uses when moving data into Snowflake.

        • bucketPrefix (string) --

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

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the Snowflake destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • EventBridge (dict) --

        The properties required to query Amazon EventBridge.

        • object (string) -- [REQUIRED]

          The object specified in the Amazon EventBridge flow destination.

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • LookoutMetrics (dict) --

        The properties required to query Amazon Lookout for Metrics.

      • Upsolver (dict) --

        The properties required to query Upsolver.

        • bucketName (string) -- [REQUIRED]

          The Upsolver Amazon S3 bucket name in which Amazon AppFlow places the transferred data.

        • bucketPrefix (string) --

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

        • s3OutputFormatConfig (dict) -- [REQUIRED]

          The configuration that determines how data is formatted when Upsolver is used as the flow destination.

          • fileType (string) --

            Indicates the file type that Amazon AppFlow places in the Upsolver Amazon S3 bucket.

          • prefixConfig (dict) -- [REQUIRED]

            Specifies elements that Amazon AppFlow includes in the file and folder names in the flow destination.

            • prefixType (string) --

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

            • prefixFormat (string) --

              Determines the level of granularity for the date and time that's included in the prefix.

            • pathPrefixHierarchy (list) --

              Specifies whether the destination file path includes either or both of the following elements:

              EXECUTION_ID

              The ID that Amazon AppFlow assigns to the flow run.

              SCHEMA_VERSION

              The version number of your data schema. Amazon AppFlow assigns this version number. The version number increases by one when you change any of the following settings in your flow configuration:

              • Source-to-destination field mappings

              • Field data types

              • Partition keys

              • (string) --

          • aggregationConfig (dict) --

            The aggregation settings that you can use to customize the output format of your flow data.

            • aggregationType (string) --

              Specifies whether Amazon AppFlow aggregates the flow records into a single file, or leave them unaggregated.

            • targetFileSize (integer) --

              The desired file size, in MB, for each output file that Amazon AppFlow writes to the flow destination. For each file, Amazon AppFlow attempts to achieve the size that you specify. The actual file sizes might differ from this target based on the number and size of the records that each file contains.

      • Honeycode (dict) --

        The properties required to query Amazon Honeycode.

        • object (string) -- [REQUIRED]

          The object specified in the Amazon Honeycode flow destination.

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • CustomerProfiles (dict) --

        The properties required to query Amazon Connect Customer Profiles.

        • domainName (string) -- [REQUIRED]

          The unique name of the Amazon Connect Customer Profiles domain.

        • objectTypeName (string) --

          The object specified in the Amazon Connect Customer Profiles flow destination.

      • Zendesk (dict) --

        The properties required to query Zendesk.

        • object (string) -- [REQUIRED]

          The object specified in the Zendesk flow destination.

        • idFieldNames (list) --

          A list of field names that can be used as an ID field when performing a write operation.

          • (string) --

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

        • writeOperationType (string) --

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

      • Marketo (dict) --

        The properties required to query Marketo.

        • object (string) -- [REQUIRED]

          The object specified in the Marketo flow destination.

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

      • CustomConnector (dict) --

        The properties that are required to query the custom Connector.

        • entityName (string) -- [REQUIRED]

          The entity specified in the custom connector as a destination in the flow.

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the custom connector as destination.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

        • writeOperationType (string) --

          Specifies the type of write operation to be performed in the custom connector when it's used as destination.

        • idFieldNames (list) --

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

          • (string) --

        • customProperties (dict) --

          The custom properties that are specific to the connector when it's used as a destination in the flow.

          • (string) --

            • (string) --

      • SAPOData (dict) --

        The properties required to query SAPOData.

        • objectPath (string) -- [REQUIRED]

          The object path specified in the SAPOData flow destination.

        • successResponseHandlingConfig (dict) --

          Determines how Amazon AppFlow handles the success response that it gets from the connector after placing data.

          For example, this setting would determine where to write the response from a destination connector upon a successful insert operation.

          • bucketPrefix (string) --

            The Amazon S3 bucket prefix.

          • bucketName (string) --

            The name of the Amazon S3 bucket.

        • idFieldNames (list) --

          A list of field names that can be used as an ID field when performing a write operation.

          • (string) --

        • errorHandlingConfig (dict) --

          The settings that determine how Amazon AppFlow handles an error when placing data in the destination. For example, this setting would determine if the flow should fail after one insertion error, or continue and attempt to insert every record regardless of the initial failure. ErrorHandlingConfig is a part of the destination connector details.

          • failOnFirstDestinationError (boolean) --

            Specifies if the flow should fail after the first instance of a failure when attempting to place data in the destination.

          • bucketPrefix (string) --

            Specifies the Amazon S3 bucket prefix.

          • bucketName (string) --

            Specifies the name of the Amazon S3 bucket.

        • writeOperationType (string) --

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

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.

      • SAPOData (string) --

        The operation to be performed on the provided SAPOData source fields.

      • CustomConnector (string) --

        Operators supported by the custom connector.

      • Pardot (string) --

        The operation to be performed on the provided Salesforce Pardot source fields.

    • destinationField (string) --

      A field in a destination connector, or a field value against which Amazon AppFlow validates a source field.

    • taskType (string) -- [REQUIRED]

      Specifies the particular task implementation that Amazon AppFlow performs.

    • taskProperties (dict) --

      A map used to store task-related information. The execution service looks for particular information based on the TaskType .

      • (string) --

        • (string) --

type metadataCatalogConfig

dict

param metadataCatalogConfig

Specifies the configuration that Amazon AppFlow uses when it catalogs the data that's transferred by the associated flow. When Amazon AppFlow catalogs the data from a flow, it stores metadata in a data catalog.

  • glueDataCatalog (dict) --

    Specifies the configuration that Amazon AppFlow uses when it catalogs your data with the Glue Data Catalog.

    • roleArn (string) -- [REQUIRED]

      The Amazon Resource Name (ARN) of an IAM role that grants Amazon AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.

      For an example IAM policy that has the required permissions, see Identity-based policy examples for Amazon AppFlow.

    • databaseName (string) -- [REQUIRED]

      The name of the Data Catalog database that stores the metadata tables that Amazon AppFlow creates in your Amazon Web Services account. These tables contain metadata for the data that's transferred by the flow that you configure with this parameter.

      Note

      When you configure a new flow with this parameter, you must specify an existing database.

    • tablePrefix (string) -- [REQUIRED]

      A naming prefix for each Data Catalog table that Amazon AppFlow creates for the flow that you configure with this setting. Amazon AppFlow adds the prefix to the beginning of the each table name.

type clientToken

string

param clientToken

The clientToken parameter is an idempotency token. It ensures that your UpdateFlow request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same clientToken parameter value.

If you omit a clientToken value, the Amazon Web Services SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.

If you specify input parameters that differ from your first request, an error occurs. If you use a different value for clientToken , Amazon AppFlow considers it a new call to UpdateFlow . The token is active for 8 hours.

This field is autopopulated if not provided.

rtype

dict

returns

Response Syntax

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

Response Structure

  • (dict) --

    • flowStatus (string) --

      Indicates the current status of the flow.