Method: Aws::Appflow::Client#update_flow
- Defined in:
- lib/aws-sdk-appflow/client.rb
#update_flow(params = {}) ⇒ Types::UpdateFlowResponse
Updates an existing flow.
Examples:
Request syntax with placeholder values
Request syntax with placeholder values
resp = client.update_flow({
flow_name: "FlowName", # required
description: "FlowDescription",
trigger_config: { # required
trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
trigger_properties: {
scheduled: {
schedule_expression: "ScheduleExpression", # required
data_pull_mode: "Incremental", # accepts Incremental, Complete
schedule_start_time: Time.now,
schedule_end_time: Time.now,
timezone: "Timezone",
schedule_offset: 1,
first_execution_from: Time.now,
flow_error_deactivation_threshold: 1,
},
},
},
source_flow_config: { # required
connector_type: "Salesforce", # required, accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge, LookoutMetrics, Upsolver, Honeycode, CustomerProfiles, SAPOData, CustomConnector, Pardot
api_version: "ApiVersion",
connector_profile_name: "ConnectorProfileName",
source_connector_properties: { # required
amplitude: {
object: "Object", # required
},
datadog: {
object: "Object", # required
},
dynatrace: {
object: "Object", # required
},
google_analytics: {
object: "Object", # required
},
infor_nexus: {
object: "Object", # required
},
marketo: {
object: "Object", # required
},
s3: {
bucket_name: "BucketName", # required
bucket_prefix: "BucketPrefix",
s3_input_format_config: {
s3_input_file_type: "CSV", # accepts CSV, JSON
},
},
salesforce: {
object: "Object", # required
enable_dynamic_field_update: false,
include_deleted_records: false,
data_transfer_api: "AUTOMATIC", # accepts AUTOMATIC, BULKV2, REST_SYNC
},
service_now: {
object: "Object", # required
},
singular: {
object: "Object", # required
},
slack: {
object: "Object", # required
},
trendmicro: {
object: "Object", # required
},
veeva: {
object: "Object", # required
document_type: "DocumentType",
include_source_files: false,
include_renditions: false,
include_all_versions: false,
},
zendesk: {
object: "Object", # required
},
sapo_data: {
object_path: "Object",
parallelism_config: {
max_parallelism: 1, # required
},
pagination_config: {
max_page_size: 1, # required
},
},
custom_connector: {
entity_name: "EntityName", # required
custom_properties: {
"CustomPropertyKey" => "CustomPropertyValue",
},
data_transfer_api: {
name: "DataTransferApiTypeName",
type: "SYNC", # accepts SYNC, ASYNC, AUTOMATIC
},
},
pardot: {
object: "Object", # required
},
},
incremental_pull_config: {
datetime_type_field_name: "DatetimeTypeFieldName",
},
},
destination_flow_config_list: [ # required
{
connector_type: "Salesforce", # required, accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge, LookoutMetrics, Upsolver, Honeycode, CustomerProfiles, SAPOData, CustomConnector, Pardot
api_version: "ApiVersion",
connector_profile_name: "ConnectorProfileName",
destination_connector_properties: { # required
redshift: {
object: "Object", # required
intermediate_bucket_name: "BucketName", # required
bucket_prefix: "BucketPrefix",
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
},
s3: {
bucket_name: "BucketName", # required
bucket_prefix: "BucketPrefix",
s3_output_format_config: {
file_type: "CSV", # accepts CSV, JSON, PARQUET
prefix_config: {
prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
},
aggregation_config: {
aggregation_type: "None", # accepts None, SingleFile
target_file_size: 1,
},
preserve_source_data_typing: false,
},
},
salesforce: {
object: "Object", # required
id_field_names: ["Name"],
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
write_operation_type: "INSERT", # accepts INSERT, UPSERT, UPDATE, DELETE
data_transfer_api: "AUTOMATIC", # accepts AUTOMATIC, BULKV2, REST_SYNC
},
snowflake: {
object: "Object", # required
intermediate_bucket_name: "BucketName", # required
bucket_prefix: "BucketPrefix",
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
},
event_bridge: {
object: "Object", # required
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
},
lookout_metrics: {
},
upsolver: {
bucket_name: "UpsolverBucketName", # required
bucket_prefix: "BucketPrefix",
s3_output_format_config: { # required
file_type: "CSV", # accepts CSV, JSON, PARQUET
prefix_config: { # required
prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
path_prefix_hierarchy: ["EXECUTION_ID"], # accepts EXECUTION_ID, SCHEMA_VERSION
},
aggregation_config: {
aggregation_type: "None", # accepts None, SingleFile
target_file_size: 1,
},
},
},
honeycode: {
object: "Object", # required
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
},
customer_profiles: {
domain_name: "DomainName", # required
object_type_name: "ObjectTypeName",
},
zendesk: {
object: "Object", # required
id_field_names: ["Name"],
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
write_operation_type: "INSERT", # accepts INSERT, UPSERT, UPDATE, DELETE
},
marketo: {
object: "Object", # required
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
},
custom_connector: {
entity_name: "EntityName", # required
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
write_operation_type: "INSERT", # accepts INSERT, UPSERT, UPDATE, DELETE
id_field_names: ["Name"],
custom_properties: {
"CustomPropertyKey" => "CustomPropertyValue",
},
},
sapo_data: {
object_path: "Object", # required
success_response_handling_config: {
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
id_field_names: ["Name"],
error_handling_config: {
fail_on_first_destination_error: false,
bucket_prefix: "BucketPrefix",
bucket_name: "BucketName",
},
write_operation_type: "INSERT", # accepts INSERT, UPSERT, UPDATE, DELETE
},
},
},
],
tasks: [ # required
{
source_fields: ["String"], # required
connector_operator: {
amplitude: "BETWEEN", # accepts BETWEEN
datadog: "PROJECTION", # accepts 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", # accepts 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
google_analytics: "PROJECTION", # accepts PROJECTION, BETWEEN
infor_nexus: "PROJECTION", # accepts 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", # accepts 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", # accepts 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", # accepts 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
service_now: "PROJECTION", # accepts 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", # accepts 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", # accepts 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", # accepts 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", # accepts 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", # accepts 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
sapo_data: "PROJECTION", # accepts 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
custom_connector: "PROJECTION", # accepts 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", # accepts 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
},
destination_field: "DestinationField",
task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate, Partition
task_properties: {
"VALUE" => "Property",
},
},
],
metadata_catalog_config: {
glue_data_catalog: {
role_arn: "GlueDataCatalogIAMRole", # required
database_name: "GlueDataCatalogDatabaseName", # required
table_prefix: "GlueDataCatalogTablePrefix", # required
},
},
client_token: "ClientToken",
})
Response structure
Response structure
resp.flow_status #=> String, one of "Active", "Deprecated", "Deleted", "Draft", "Errored", "Suspended"
Parameters:
-
params
(Hash)
(defaults to: {})
—
({})
Options Hash (params):
-
:flow_name
(required, String)
—
The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.
-
:description
(String)
—
A description of the flow.
-
:trigger_config
(required, Types::TriggerConfig)
—
The trigger settings that determine how and when the flow runs.
-
:source_flow_config
(required, Types::SourceFlowConfig)
—
Contains information about the configuration of the source connector used in the flow.
-
:destination_flow_config_list
(required, Array<Types::DestinationFlowConfig>)
—
The configuration that controls how Amazon AppFlow transfers data to the destination connector.
-
:tasks
(required, Array<Types::Task>)
—
A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.
-
:metadata_catalog_config
(Types::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.
-
:client_token
(String)
—
The
clientTokenparameter is an idempotency token. It ensures that yourUpdateFlowrequest 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 sameclientTokenparameter value.If you omit a
clientTokenvalue, 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 toUpdateFlow. The token is active for 8 hours.**A suitable default value is auto-generated.** You should normally not need to pass this option.**
Returns:
-
(Types::UpdateFlowResponse)
—
Returns a response object which responds to the following methods:
-
#flow_status => String
-
See Also:
3341 3342 3343 3344 |
# File 'lib/aws-sdk-appflow/client.rb', line 3341 def update_flow(params = {}, options = {}) req = build_request(:update_flow, params) req.send_request(options) end |