Using boto to invoke lambda functions how do I do so asynchronously?

后端 未结 3 1067
深忆病人
深忆病人 2020-12-08 09:50

SO I\'m using boto to invoke my lambda functions and test my backend. I want to invoke them asynchronously. I have noted that \"invoke_async\" is deprecated and should not

3条回答
  •  伪装坚强ぢ
    2020-12-08 10:33

    The following are a python function that accepts lambda-function-Name to invoke and payload to send to that function.

    It invokes the lambda function by boto3 client.

    import boto3, json, typing
    
    def invokeLambdaFunction(*, functionName:str=None, payload:typing.Mapping[str, str]=None):
        if  functionName == None:
            raise Exception('ERROR: functionName parameter cannot be NULL')
        payloadStr = json.dumps(payload)
        payloadBytesArr = bytes(payloadStr, encoding='utf8')
        client = boto3.client('lambda')
        response = client.invoke(
            FunctionName=functionName,
            InvocationType="RequestResponse",
            Payload=payloadBytesArr
        )
        return response
    

    And usage:

    if __name__ == '__main__':
        payloadObj = {"something" : "1111111-222222-333333-bba8-1111111"}
        response = invokeLambdaFunction(functionName='myLambdaFuncName',  payload=payloadObj
        print(f'response:{response}')
    

提交回复
热议问题