此错误通常是由 Salesforce 对象中的自定义字段中包含非法字符所致。要解决此问题,需要检查 Salesforce 自定义字段,删除任何非法字符并再次尝试使用 AWS AppFlow 进行数据加载。
以下是一个删除 Salesforce 自定义字段中非法字符的代码示例:
String[] illegalChars = new String[]{'~', '`', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '+', '=', '{', '}', '[', ']', '|', '\\', ':', ';', '<', '>', ',', '.', '?', '\''};
List customFields = [SELECT Id, DeveloperName, Description FROM CustomField WHERE TableEnumOrId = 'ObjectApiName'];
for(CustomField field : customFields) {
String fieldName = field.DeveloperName;
for(String illegalChar : illegalChars) {
if(fieldName.contains(illegalChar)) {
fieldName = fieldName.replace(illegalChar, '_');
}
}
if(fieldName != field.DeveloperName) {
field.DeveloperName = fieldName;
update field;
}
}
这段代码将检查 Salesforce 自定义字段中的非法字符,并用下划线替换它们。接着,代码将更新自定义字段并将新字段名称保存在 Salesforce 中。这将确保 AWS AppFlow 不会遇到非法字符并可以成功加载数据。