'Submits an invocation request to AWS Lambda. Upon receiving
the request, Lambda executes the specified function
asynchronously. To see the logs generated by the Lambda
function execution, see the CloudWatch logs console.
This operation requires permission for the
`lambda:InvokeAsync` action.
:type function_name: string
:param function_name: The Lambda function name.
:type invoke_args: blob
:param invoke_args: JSON that you want to provide to your Lambda
function as input.'

def invoke_async(self, function_name, invoke_args):

    uri = '/2014-11-13/functions/{0}/invoke-async/'.format(function_name)
    headers = {}
    query_params = {}
    try:
        content_length = str(len(invoke_args))
    except (TypeError, AttributeError):
        try:
            invoke_args.tell()
        except (AttributeError, OSError, IOError):
            raise TypeError('File-like    object    passed    to    parameter    ``invoke_args``    must    be    seekable.')
        content_length = str(os.fstat(invoke_args.fileno()).st_size)
    headers['Content-Length'] = content_length
    return self.make_request('POST', uri, expected_status=202, data=invoke_args, headers=headers, params=query_params)
