단일 레코드 조회
SObject의 API Name과 레코드 Id를 사용하여 레코드의 상세 정보를 조회합니다.
-
Database 모듈에 아래의 메소드를 추가합니다
HttpGet 메소드를 사용합니다.
def querySingle(connInfo, objectName, recordId): result = None try: headers = { 'Content-Type' : 'application/x-www-form-urlencoded', 'Authorization' : 'Bearer %s' % connInfo.get('accessToken') } serviceEndpoint = "/services/data/v58.0/sobjects/%s/%s" % (objectName, recordId) url = '%s%s' % (connInfo.get('instanceUrl'), serviceEndpoint) req = requests.Request('GET', url, headers=headers) prepped = req.prepare() result = call(prepped) except Exception as e: print('Exception -> ', e) return result -
sample.py 모듈에 아래의 메소드를 추가합니다.
def querySingle(connInfo): try: objectName = "Account" recordId = "001xxxxxxxxxxxxxxx" result = Database.querySingle(connInfo, objectName, recordId) print(json.dumps(result, indent=2)) except Exception as e: print('Exception -> ', e)recordId에는 정상적인 Account의 레코드 Id를 지정하시기 바랍니다. -
sample.py 모듈의
main메소드에 아래의 내용을 추가합니다.# Data function block begin # querySample(connInfo) # batchSample(connInfo) querySingle(connInfo) # Data function block end -
터미널에서
python sample.py이라고 명령을 실행해 봅니다.아래와 같은 형식의 데이터가 표시되면 정상적으로 동작을 하는 것입니다.
{ "attributes": { "type": "Account", "url": "/services/data/v58.0/sobjects/Account/001xxxxxxxxxxxxxxx" }, "Id": "001xxxxxxxxxxxxxxx", "IsDeleted": false, "Name": "GenePoint", "Type": "Customer - Channel", "BillingStreet": "345 Shoreline Park\nMountain View, CA 94043\nUSA", "BillingCity": "Mountain View", "BillingState": "CA", "BillingAddress": { "city": "Mountain View", "state": "CA", "street": "345 Shoreline Park\nMountain View, CA 94043\nUSA" }, "ShippingStreet": "345 Shoreline Park\nMountain View, CA 94043\nUSA", ... ... }