in textract-pipeline/lambda/helper/python/datastore.py [0:0]
def createDocument(self, documentId, bucketName, objectName):
err = None
dynamodb = AwsHelper().getResource("dynamodb")
table = dynamodb.Table(self._documentsTableName)
try:
table.update_item(
Key = { "documentId": documentId },
UpdateExpression = 'SET bucketName = :bucketNameValue, objectName = :objectNameValue, documentStatus = :documentstatusValue, documentCreatedOn = :documentCreatedOnValue',
ConditionExpression = 'attribute_not_exists(documentId)',
ExpressionAttributeValues = {
':bucketNameValue': bucketName,
':objectNameValue': objectName,
':documentstatusValue': 'IN_PROGRESS',
':documentCreatedOnValue': str(datetime.datetime.utcnow())
}
)
except ClientError as e:
print(e)
if e.response['Error']['Code'] == "ConditionalCheckFailedException":
print(e.response['Error']['Message'])
err = {'Error' : 'Document already exist.'}
else:
raise
return err