From 51c95bda31b5eaafa182f1a14fb1cdcbd72e031d Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 20 May 2020 12:50:06 +0000 Subject: [PATCH 1/4] make docproc return something so that it does not fail --- src/asyncproc.py | 2 +- src/docproc.py | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/asyncproc.py b/src/asyncproc.py index 623d9c61..428118ab 100644 --- a/src/asyncproc.py +++ b/src/asyncproc.py @@ -148,7 +148,7 @@ def processItems(qUrl, snsTopic, snsRole): limitException = e if(hitLimit): - raise limitException + raise limitException() return totalMessages, jc diff --git a/src/docproc.py b/src/docproc.py index f0d58964..68becd80 100644 --- a/src/docproc.py +++ b/src/docproc.py @@ -6,12 +6,13 @@ def postMessage(client, qUrl, jsonMessage): message = json.dumps(jsonMessage) - client.send_message( + response = client.send_message( QueueUrl=qUrl, MessageBody=message ) print("Submitted message to queue: {}".format(message)) + return response def processRequest(request): @@ -34,7 +35,7 @@ def processRequest(request): qUrl = request['asyncQueueUrl'] if(qUrl): - features = ["Text", "Forms", "Tables"] + features = ["Text"] jsonMessage = { 'documentId' : documentId, "features" : features, @@ -42,11 +43,12 @@ def processRequest(request): 'objectName' : objectName } client = AwsHelper().getClient('sqs') - postMessage(client, qUrl, jsonMessage) + response = postMessage(client, qUrl, jsonMessage) output = "Completed routing for documentId: {}, object: {}/{}".format(documentId, bucketName, objectName) print(output) + return response def processRecord(record, syncQueueUrl, asyncQueueUrl): @@ -76,7 +78,8 @@ def processRecord(record, syncQueueUrl, asyncQueueUrl): request['syncQueueUrl'] = syncQueueUrl request['asyncQueueUrl'] = asyncQueueUrl - processRequest(request) + response = processRequest(request) + return response def lambda_handler(event, context): @@ -94,8 +97,11 @@ def lambda_handler(event, context): if("eventName" in record and record["eventName"] == "INSERT"): if("dynamodb" in record and record["dynamodb"] and "NewImage" in record["dynamodb"]): - processRecord(record, syncQueueUrl, asyncQueueUrl) - + response = processRecord(record, syncQueueUrl, asyncQueueUrl) + return { + 'statusCode': 200, + 'body': json.dumps(response) + } except Exception as e: print("Faild to process record. Exception: {}".format(e)) From 02683cab65d2e1d77dc46817882ad2f9d1ce627e Mon Sep 17 00:00:00 2001 From: vincent Date: Mon, 25 May 2020 15:42:49 +0200 Subject: [PATCH 2/4] make sure that we only return a response if we have one --- src/docproc.py | 4 ++-- src/helper.pyc | Bin 0 -> 9766 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 src/helper.pyc diff --git a/src/docproc.py b/src/docproc.py index 68becd80..0c82c6b5 100644 --- a/src/docproc.py +++ b/src/docproc.py @@ -44,11 +44,11 @@ def processRequest(request): client = AwsHelper().getClient('sqs') response = postMessage(client, qUrl, jsonMessage) + return response output = "Completed routing for documentId: {}, object: {}/{}".format(documentId, bucketName, objectName) print(output) - return response def processRecord(record, syncQueueUrl, asyncQueueUrl): @@ -79,7 +79,7 @@ def processRecord(record, syncQueueUrl, asyncQueueUrl): request['asyncQueueUrl'] = asyncQueueUrl response = processRequest(request) - return response + return response def lambda_handler(event, context): diff --git a/src/helper.pyc b/src/helper.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2318bac316516bc51ce1d04641514ca1ed3459ce GIT binary patch literal 9766 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 literal 0 HcmV?d00001 From 0fade1d92455e37c8d28819f76604782b999551f Mon Sep 17 00:00:00 2001 From: vincent Date: Mon, 25 May 2020 15:44:39 +0200 Subject: [PATCH 3/4] reset to all types of docs --- src/docproc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docproc.py b/src/docproc.py index 0c82c6b5..372b37bd 100644 --- a/src/docproc.py +++ b/src/docproc.py @@ -35,7 +35,7 @@ def processRequest(request): qUrl = request['asyncQueueUrl'] if(qUrl): - features = ["Text"] + features = ["Text", "Forms", "Tables"] jsonMessage = { 'documentId' : documentId, "features" : features, From b93c6c47cb3842149e248857dd55a830821f6738 Mon Sep 17 00:00:00 2001 From: vincent Date: Mon, 25 May 2020 15:47:48 +0200 Subject: [PATCH 4/4] remove status code --- src/docproc.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/docproc.py b/src/docproc.py index 372b37bd..3080511f 100644 --- a/src/docproc.py +++ b/src/docproc.py @@ -99,8 +99,7 @@ def lambda_handler(event, context): if("dynamodb" in record and record["dynamodb"] and "NewImage" in record["dynamodb"]): response = processRecord(record, syncQueueUrl, asyncQueueUrl) return { - 'statusCode': 200, - 'body': json.dumps(response) + 'message': json.dumps(response) } except Exception as e: print("Faild to process record. Exception: {}".format(e))