You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Mule在Salesforce Analytics创建DataSet时遇字段错误求助

解决Mule创建Salesforce Analytics数据集时的"Mode"字段错误

错误原因

你在create-data-set连接器中使用了operation="UPSERT"参数,这是错误的。create-data-set操作仅用于定义数据集的结构,并不支持插入/更新数据记录。这个无效参数导致连接器向Salesforce发送了一个不存在的Mode字段,而Salesforce的InsightsExternalData对象不接受该字段,因此返回INVALID_FIELD_FOR_INSERT_UPDATE错误。

修复步骤

1. 移除create-data-set中的无效operation参数

修改Mule XML中的create-data-set元素,删除operation="UPSERT"属性,因为该操作不支持数据集创建的UPSERT模式:

<salesforce-analytics:create-data-set doc:name="Create data set" doc:id="8a148e00-fb8b-4bb1-b39c-609783d4c9d4" 
    config-ref="Salesforce_Analytics_Config" 
    type="C:\demo\datasetschema.json" 
    description="This is a test dataset to store records coming from database for BR Account" 
    label="datasetschema_csv" 
    dataSetName="datasetschema_csv" 
    target="datasetId"/>

2. 如需向数据集Upsert数据

如果你需要向已创建的数据集插入或更新数据,请使用upload-data连接器,并按以下步骤配置:

修改数据集Schema,标记外部ID字段

在你的JSON Schema中,将用作外部ID的字段(例如Account_ID)添加"isExternalId": true属性:

{
    "fileFormat": {
        "charsetName": "UTF-8",
        "fieldsDelimitedBy": ",",
        "linesTerminatedBy": "\r\n"
    },
    "objects": [
        {
            "connector": "CSV",
            "fullyQualifiedName": "datasetschema_csv",
            "label": "datasetschema_csv",
            "name": "datasetschema_csv",
            "fields": [
                {
                    "fullyQualifiedName": "Account_Name",
                    "name": "Account_Name",
                    "type": "Text",
                    "label": "Account_Name"
                },
                {
                    "fullyQualifiedName": "Account_ID",
                    "name": "Account_ID",
                    "type": "Numeric",
                    "label": "Account_ID",
                    "precision": 18,
                    "defaultValue": "0",
                    "scale": 0,
                    "format": "0",
                    "decimalSeparator": "",
                    "groupsSeparator": "",
                    "currencySymbol": "",
                    "isExternalId": true
                }
            ]
        }
    ]
}

添加upload-data连接器到流中

在create-data-set之后添加upload-data操作,配置operation="UPSERT"并指定外部ID字段:

<salesforce-analytics:upload-data doc:name="Upload data" doc:id="..." 
    config-ref="Salesforce_Analytics_Config" 
    dataSetId="#[vars.datasetId]" 
    operation="UPSERT" 
    externalIdFieldName="Account_ID">
    <!-- 在这里配置要上传的数据 payload -->
</salesforce-analytics:upload-data>

注意:你需要在流中添加步骤来准备或获取要上传的数据 payload,当前的流中缺少这部分逻辑。

内容的提问来源于stack exchange,提问作者Kunal Awasthi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:32:43