我正在复制活动中使用 ADF,将数千条记录发送到 Salesforce Sandbox。我遇到错误,需要检索在更新插入期间发送的 SOQL 查询语句。有什么办法可以找回吗?
我尝试使用复制活动的日志,但它不记录 SOQL 查询脚本。我也检查了监视器,但我只看到各种统计数据,看不到发送的脚本。
这是复制活动中的源代码:
{
"name": "DEV_CO_ContactToSalesforce",
"type": "Copy",
"dependsOn": [
{
"activity": "DEV_FOR_ GoOverListObjectsDownload",
"dependencyConditions": [
"Succeeded"
]
}
],
"policy": {
"timeout": "0.12:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"source": {
"type": "ParquetSource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true,
"enablePartitionDiscovery": false
},
"formatSettings": {
"type": "ParquetReadSettings"
}
},
"sink": {
"type": "SalesforceSink",
"writeBatchSize": 10000,
"writeBehavior": "upsert",
"externalIdFieldName": "Id",
"ignoreNullValues": false
},
"enableStaging": false,
"parallelCopies": 2,
"logSettings": {
"enableCopyActivityLog": true,
"copyActivityLogSettings": {
"logLevel": "Info",
"enableReliableLogging": false
},
"logLocationSettings": {
"linkedServiceName": {
"referenceName": "link_svc_ccvadfdevstorage_blob",
"type": "LinkedServiceReference"
},
"path": "dev-crm/RAW/ADFLogging"
}
},
"translator": {
"type": "TabularTranslator",
"typeConversion": true,
"typeConversionSettings": {
"allowDataTruncation": true,
"treatBooleanAsNumber": false
}
}
},
"inputs": [
{
"referenceName": "DEV_DS_CCV_Parquet_w_param",
"type": "DatasetReference",
"parameters": {
"ds_file_name": {
"value": "@concat('PROCESSED/', pipeline().globalParameters.DEV_ContactParquetFileNameProc)",
"type": "Expression"
},
"ds_obj_name": "Contact"
}
}
],
"outputs": [
{
"referenceName": "DEV_DS_SandoxDca1",
"type": "DatasetReference",
"parameters": {
"objectName": "Contact"
}
}
]
}
没有“更新插入期间完成的查询”。 Salesforce 确定是否在内部执行插入或更新。如果您深入 API 层,我认为不会有查询,您可能会看到类似 Oracle MERGE 的内容。它对你有什么好处,你为什么需要它?
如果您因自定义(触发器、流程等)而引发错误,最好为执行加载的用户启用“设置”->“调试日志”。