I do not want to add any logic to the mapping and want simply to have IICS do an upsert based on a primary key. Also, if possible, have that property parameterized.
So, no, data-driven would not work for me.
BTW - For some reason the upsert operation is not working. When I run the task it keeps appending rows that already exist in the target. My target is a Synapse table.
Please try outside of Informatica and check if the Synapse table is getting updated.
If its works fine outside and not in Informatica, please share the session log in verbose mode to verify the same.
Synapse does not enforce Primary Key / Unique constraints. If you ensure the data is unique (you'd need to code for that) Synapse will use the constraints while selecting data by picking an optimal plan. However, it will not enforce uniqueness.
Primary, foreign, and unique keys - Azure Synapse Analytics | Microsoft Docs
please note that even though Synapse does not enforce PK/Unique constraints, IICS should still be able to perform the upsert operation based on the update column provided.
Also, to answer your initial query, IICS currently does bot have the option to parameterize the operation. You can open a support ticket to have a feature request raise if you like.