in code/document_registrar/document_registrar.py [0:0]
def processCreateRequest(bucketName, documentName, documentVersion, principalIAMWriter, eventName):
documentId = str(uuid.uuid1())
output = ""
print("Input Object: {}/{} version {}".format(bucketName, documentName, documentVersion))
print("Tagging object {} with tag {} and version {}".format(documentName, documentId, documentVersion))
S3Helper().tagS3(bucketName, documentName, tags={"documentId": documentId})
try:
documentLink = "s3://" + bucketName + "/" + urllib.parse.quote_plus(documentName)
registryItem = {
"documentId": documentId,
"bucketName": bucketName,
"documentName": documentName,
"documentLink": documentLink,
"principalIAMWriter": principalIAMWriter
}
lineageItem = {
"documentId": documentId,
"callerId": principalIAMWriter,
"targetBucketName": bucketName,
"targetFileName": documentName,
"s3Event": eventName
}
if documentVersion:
registryItem['documentVersion'] = documentVersion
lineageItem['versionId'] = documentVersion
registry_client.registerDocument(registryItem)
lineage_client.recordLineage(lineageItem)
output = "Saved document {} for {}/{} version {}".format(documentId, bucketName, documentName, documentVersion)
except Exception as e:
print(e)
raise(e)
print(output)