def lambda_handler()

in sam-app/lambda_functions/sfInvokeAPI.py [0:0]


def lambda_handler(event, context):
  logger.info("event: %s" % json.dumps(event))
  sf = Salesforce()

  sf_operation = str(event['Details']['Parameters']['sf_operation'])
  parameters = dict(event['Details']['Parameters'])
  del parameters['sf_operation']
  event['Details']['Parameters'] = parameters

  if(sf_operation == "lookup"):
    resp = lookup(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "create"):
    resp = create(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "update"):
    resp = update(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "phoneLookup"):
    resp = phoneLookup(sf, event['Details']['Parameters']['sf_phone'], event['Details']['Parameters']['sf_fields'])
  elif (sf_operation == "delete"):
    resp = delete(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "lookup_all"):
    resp = lookup_all(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "query"):
    resp = query(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "queryOne"):
    resp = queryOne(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "createChatterPost"):
    resp = createChatterPost(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "createChatterComment"):
    resp = createChatterComment(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "search"):
    resp = search(sf=sf, **event['Details']['Parameters'])
  elif (sf_operation == "searchOne"):
    resp = searchOne(sf=sf, **event['Details']['Parameters'])
  else:
    msg = "sf_operation unknown"
    logger.error(msg)
    raise Exception(msg)
  
  logger.info("result: %s" % resp)
  return resp