2017-10-13 180 views
0

我有一个工作流程将文件从sharepoint上传到salesforce。它工作正常。如何将文件上传到大小超过10,000,000字符的salesforce?

最近发现的问题是,在salesforce端存在最大批量限制,即单个批次包含至多10,000,000个字符。当包含超过10,000,000个字符的大文件时。它未能上传到salesforce并且出现错误。

Ia还有其他方法可以在单个批次中将超过10,000,000个字符上传到salesforce中。由于同步问题出现,我无法在一批中发送一半文件,而在另一批中发送另一半文件。

代码:

<enricher target="#[flowVars['jobInfo_upload']]" doc:name="Enricher jobId insert"> 
        <sfdc:create-job config-ref="SFA_NOL_SHAREPOINT" type="ContentVersion" concurrencyMode="Parallel" contentType="XML" operation="insert" doc:name="Create Job"/> 
       </enricher> 
       <expression-component doc:name="Expression to save jobid"><![CDATA[sessionVars.jobInfo_upload = flowVars.jobInfo_upload.id]]></expression-component> 
       <dw:transform-message metadata:id="1dec8ccb-75ec-4be9-933e-06eb92354eba" doc:name="Transform Message"> 
        <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
[{ 
    Title: flowVars.filename, 
    PathOnClient: flowVars.path, 
    TagCsv: "Sharepoint Version: " ++ flowVars.MajorVersion ++ "." ++ flowVars.MinorVersion, 
    VersionData: payload, 
    FirstPublishLocationId: flowVars.FirstPublishLocationId 
}]]]></dw:set-payload> 
       </dw:transform-message> 
       <sfdc:create-batch config-ref="SFA_NOL_SHAREPOINT" doc:name="Insert"> 
        <sfdc:job-info ref="#[flowVars.jobInfo_upload]"/> 
        <sfdc:objects ref="#[payload]"/> 
       </sfdc:create-batch> 

错误:

09:51:01.348  10/13/2017  Worker-0  [apl-sfa-sharepoint-interface].batch-upload-simpleBatchFlow.stage1.17  ERROR 

******************************************************************************** 
Message    : Failed to invoke createBatch. Message payload is of type: ArrayList 
Type     : org.mule.api.MessagingException 
Code     : MULE_ERROR-29999 
JavaDoc    : http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html 
Payload    : [{Title=Customer Presentation Deck_Template (October 2017).pptx, PathOnClient=/Users/dangnguyen/sharepoint/ Deck_Template.pptx, TagCsv=Sharepoint Version: 1.0, VersionData=UEsDBBQABgAIAAAAIQD9wUeU7QUAADV9AAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMnU1v20YQhu8F+h8EXQuLH5IoKrCdQ... 
******************************************************************************** 
Exception stack is: 
1. ClientInputError : Failed to read request. Exceeded max size limit of 10000000 (com.sforce.async.AsyncApiException) 
    com.sforce.async.BulkConnection:180 (null) 
2. ClientInputError : Failed to read request. Exceeded max size limit of 10000000 (org.mule.modules.salesforce.exception.SalesforceException) 

回答

0

没有为大宗原料药本身的限制。

https://www.salesforce.com/us/developer/docs/api_asynch/Content/asynch_api_concepts_limits.htm

批次数据负载可以由单个CSV或XML文件,可以是不大于10 MB的。

一个批次最多可以包含10,000条记录。

对于批次中的所有数据,批次最多可以包含10,000,000个字符。

一个字段最多可以包含32,000个字符。

一条记录最多可以包含5,000个字段。

一条记录的所有字段最多可以包含400,000个字符。

批次必须包含某些内容或发生错误。

所以你应该把输入文件分割成小于这些限制的文件。

+0

嗨,但如果我将文件拆分为两部分并在salesforce中更新,它将两个请求salesforce的权利?那么salesforce会将其视为两个不同的文件 – Thiru

相关问题