CDK创建S3到Salesforce的AppFlow UPSERT时报ID不存在如何解决
解决CDK创建AppFlow S3到Salesforce UPSERT时报ID字段不存在错误
该报错的核心是AppFlow无法在目标Salesforce对象中识别到你配置的主键字段,和本地配置中是否声明了ID字段无关,按以下步骤排查修复即可:
- 字段大小写匹配检查:Salesforce API严格区分大小写,标准主键字段的API名称为
Id(大写I、小写d),你当前配置中idFieldNames写的是全大写ID,直接替换为Id即可解决80%以上的同类报错。如果是自定义外部ID字段作为UPSERT键,需填写和Salesforce后台完全一致的字段API名,包括__c后缀。 - Salesforce账号字段权限检查:你连接器使用的Salesforce集成账号,需要开启目标对象对应主键/外部ID字段的「编辑」权限,字段级安全设置为隐藏的字段会被AppFlow判定为不存在。
- 映射任务操作符修正:你当前的ID字段映射任务中
connectorOperator错误使用了PROJECTION(该操作符仅用于字段投影过滤任务),字段映射任务的Salesforce操作符应改为NO_OP,修正后的映射任务示例如下:
{ "taskType":"Map", "sourceFields": ["ID"], "taskProperties": [ { "key":"SOURCE_DATA_TYPE", "value":"Text" }, { "key":"DESTINATION_DATA_TYPE", "value":"Text" } ], "destinationField": "Id", "connectorOperator": { "salesforce":"NO_OP" } }
- idFieldNames和映射目标字段完全对齐:
idFieldNames数组中的值必须和映射配置里的destinationField值完全一致,比如映射的目标字段是Id,就要写"idFieldNames": ["Id"]。
内容的提问来源于stack exchange,提问作者niks
相关产品推荐
相关产品推荐

