Ejemplo n.º 1
0
    def test_nofails_classes(self):

        boto_session = boto3.Session(region_name=os.environ['AWS_DEFAULT_REGION'])

        a = AsyncException()
        l = LambdaAsyncResponse(boto_session=boto_session)
        # s = SnsAsyncResponse()
        s = SnsAsyncResponse(arn="arn:abc:def", boto_session=boto_session)
Ejemplo n.º 2
0
 def _send(self, message):
     """
     Given a message, directly invoke the lamdba function for this task.
     """
     message['command'] = 'zappa.async.route_lambda_task'
     payload = json.dumps(message).encode('utf-8')
     if len(payload) > 128000: # pragma: no cover
         raise AsyncException("Payload too large for async Lambda call")
     self.response = self.client.invoke(
                                 FunctionName=AWS_LAMBDA_FUNCTION_NAME,
                                 InvocationType='Event',
                                 Payload=payload
                             )
     self.sent = (self.response.get('StatusCode', 0) == 202)
Ejemplo n.º 3
0
    def _send(self, message):
        """
        Send method overloading the one from LambdaAsyncResponse, to call the lambda
        synchronously. Still mostly copied from the original function.
        """
        message['command'] = 'zappa.async.route_lambda_task'
        payload = json.dumps(message, encoding="utf8").encode('utf-8')
        if len(payload) > 6000000:  # pragma: no cover
            raise AsyncException("Payload too large for sync Lambda call")

        self.response = json.loads(
            self.client.invoke(FunctionName=self.lambda_function_name,
                               InvocationType='RequestResponse',
                               Payload=payload)["Payload"].read())