Search code examples
amazon-web-servicessalesforceamazon-appflow

AWS AppFlow - rename source field


I have an AppFlow set up with Salesforce as the source and S3 as the destination. I am able to move all columns over by using a Map_all task type in the flow definition, and leaving the source fields empty.

However now I want to move just a few columns to S3, and rename them as well. I was trying to do something like this :

                                    "Tasks": [
                                        {
                                            "SourceFields": ["Website"],
                                            "DestinationField": "Website",
                                            "TaskType": "Map",
                                            "TaskProperties": {},
                                        },
                                        {
                                            "SourceFields": ["Account Name"],
                                            "DestinationField": "AccountName",
                                            "TaskType": "Map",
                                            "TaskProperties": {},
                                        },
                                        {
                                            "SourceFields": ["Account ID"],
                                            "DestinationField": "AccountId",
                                            "TaskType": "Map",
                                            "TaskProperties": {},
                                        }
                                    ],

but I get the error Create Flow request failed: [Task Validation Error: You must specify a projection task or a MAP_ALL task].

How can I select a few columns as well as rename them before moving them to S3 without resorting to something like Glue?


Solution

  • Figured it out - first added a Projection task to fetch the fields needed, and then Map tasks, one per field being renamed