2014-03-06 2 views
1

저는 SFDC 개발자 계정으로 잘 작동하는 beatbox를 가지고 있습니다. Salesforce에서 맞춤 개체를 만들려고하는데 한 번에 하나씩 업데이트하고 있습니다. 내가 만들고있는 API 호출의 양을 제한하기 위해 한 번에 200 개의 변경 사항을 푸시 할 수있는 방법이 있습니까?Beatbox/Python - Salesforce에서 여러 레코드를 업데이트하는 데 문제가 있습니다.

스크립트를 실행하여 리드 묶음을 다운로드 한 다음 new_Alert()를 통해 처리 한 다음 하나씩 업로드하여 API 제한을 빨리 깨고 있습니다.

다음은 내가 실행중인 두 개의 스크립트입니다. 나는 읽기 쉽도록 '작업'의 대부분을 잘라 냈습니다.

def new_Alert(id1,login,pw): 
    svc = beatbox.Client() 
    svc.login(login, pw) 
     object_dict = { 
     'type': 'new_Alert', 
     'Lead__c': str(id1) } 
     results = svc.create(object_dict) 
     print results 


def pushAlerts(login,pw): 
    sf = beatbox._tPartnerNS 
    svc = beatbox.Client() 
    svc.login(login, pw) 
    qr = svc.query("select Id, OwnerId from Lead") 

    for rec in qr[sf.records:]: 
     type = rec[0] 
     id1 = rec[1] 
     owner = rec[2] 
     new_Alert(type,id1,login) 
    while (str(qr[sf.done]) == 'false'): 
     qr = svc.queryMore(str(qr[sf.queryLocator])) 
     for rec in qr[sf.records:]: 
      type = rec[0] 
      id1 = rec[1] 
      new_Alert(type,id1,login) 

답변

1

create 기능은 최대 개까지 200 개 기록 (사전)의 목록을 취할 수, 당신은 단지 그들을 축적하고 여기

(200)가 2 계정을 만드는 예입니다 수집 한 후 배치를 보내 한 번에 기록하고 결과를 확인하십시오.

def create(self): 
    a = { 'type': 'Account', 
     'Name': 'New Account', 
     'Website': 'http://www.pocketsoap.com/' } 
    b = { 'type' : 'Account', 
     'Name' : 'Another account', 
     'Website' : 'https://github.com/superfell/Beatbox' } 

    sr = svc.create([a,b]) 

    self.printresult(sr[0]) 
    self.printresult(sr[1]) 

def printresult(self, sr): 
    if str(sr[sf.success]) == 'true': 
     print "id " + str(sr[sf.id]) 
    else: 
     print "error " + str(sr[sf.errors][sf.statusCode]) + ":" + str(sr[sf.errors][sf.message]) 
+0

어떤 모습입니까? – kmomo

관련 문제