From d7963a98f7546074e39c754e60c3352cc3e618a0 Mon Sep 17 00:00:00 2001 From: rayan <rayan.chikhi@pasteur.fr> Date: Tue, 2 Jun 2020 18:56:10 +0200 Subject: [PATCH] everything except unitigs --- LICENSE | 2 +- ... an application process with AWS Batch.png | Bin 126290 -> 0 bytes README.md | 84 ++------ config/buildspec.yml | 28 --- sample/sample.csv | 7 - src/Dockerfile | 3 +- src/batch_processor.py | 152 +++----------- template/template.yaml | 185 ++---------------- 8 files changed, 60 insertions(+), 401 deletions(-) delete mode 100644 Orchestrating an application process with AWS Batch.png delete mode 100644 config/buildspec.yml delete mode 100644 sample/sample.csv diff --git a/LICENSE b/LICENSE index fcc7fa6..4a0e5b7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. +Copyright 2020 Rayan Chikhi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/Orchestrating an application process with AWS Batch.png b/Orchestrating an application process with AWS Batch.png deleted file mode 100644 index 743b2d7c4c2aa945c23fd4ab2bf9a3026929a053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126290 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 T8I2!Y1N_`id7Y#j56$>5a(1iz diff --git a/README.md b/README.md index f482c9b..660321d 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,9 @@ -# Orchestrating an Application Process with AWS Batch using AWS CloudFormation +# Taken from: "Orchestrating an Application Process with AWS Batch using AWS CloudFormation" -The sample provided spins up an application orchestration using AWS Services like AWS Simple Storage Service (S3), AWS Lambda and AWS DynamoDB. Amazon Elastic Container Registry (ECR) is used as the Docker container registry. Once the CloudFormation stack is spun up, the downloaded code can be checked in into your AWS CodeCommit repository (built as part of the stack) which would trigger the build to deploy the image to Amazon ECR. AWS Batch will be triggered by the lambda when a sample CSV file is dropped into the S3 bucket. +But I removed all the CodeCommit stuff (replaced by `deploy-docker.sh` manual deployment to ECR). -**As part of this blog we will do the following.** - -1. Run the CloudFormation template (command provided) to create the necessary infrastructure - -2. Set up the Docker image for the job - - Build a Docker image - - Tag the build and push the image to the repository - -3. Drop the CSV into the S3 bucket (Copy paste the contents and create them as a sample file (“Sample.csvâ€) - -4. Notice the Job runs and performs the operation based on the pushed container image. The job parses the CSV file and adds each row into DynamoDB. - - +Amazon Elastic Container Registry (ECR) is used as the Docker container registry. AWS Batch will be triggered by the lambda when a dataset file is dropped into the S3 bucket. ### Design Considerations @@ -27,70 +15,32 @@ The sample provided spins up an application orchestration using AWS Services lik ### Steps -1. Download this repository - We will refer this as SOURCE_REPOSITORY +1. Execute the below commands to spin up the infrastructure cloudformation stack. This stack spins up all the necessary AWS infrastructure needed for this exercise ``` - $ git clone https://github.com/aws-samples/aws-batch-processing-job-repo +./deploy-docker.sh [need to modify Amazon ID in it] +./spinup.sh ``` -2. Execute the below commands to spin up the infrastructure cloudformation stack. This stack spins up all the necessary AWS infrastructure needed for this exercise - -``` -$ cd aws-batch-processing-job-repo - -$ aws cloudformation create-stack --stack-name batch-processing-job --template-body file://template/template.yaml --capabilities CAPABILITY_NAMED_IAM -``` - -3. You can run the application in two different ways - - * #### CI/CD implementation. - - ##### This steps allows you to copy the contents from source git repo and trigger deployment into your repository - * The above command would have created a git repository in your personal account. Make sure to replace your region below accordingly - * $ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/batch-processing-job-repo - * cd batch-processing-job-repo - * copy all the contents from SOURCE_REPOSITORY (from step 1) and paste inside this folder - * $ git add . - * $ git commit -m "commit from source" - * $ git push - - * #### Build and run from local desktop. - - ##### Containarize the provided python file and push it to the Amazon ECR. Dockerfile provided as part of this exercise. In this steps you push the code (provided as part of this exercise) to the repository that was built as part of CloudFormation stack - - * RUN the below commands to dockerize the python file - - i. Make sure to replace your account number, region accordingly - - ii. Make sure to have Docker daemon running in your local computer - - - ``` - $ cd SOURCE_REPOSITORY (Refer step 1) - $ cd src - - # get the login creds and copy the below output and paste/run on the command line - $ $ aws ecr get-login --region us-east-1 --no-include-email - - # Build the docker image locally, tag and push it to the repository - $ $ docker build -t batch_processor . - $ docker tag batch_processor <YOUR_ACCOUNT_NUMBER>.dkr.ecr.us-east-1.amazonaws.com/batch-processing-job-repository - $ docker push <YOUR_ACCOUNT_NUMBER>.dkr.ecr.us-east-1.amazonaws.com/batch-processing-job-repository - - ``` - ### Testing Make sure to complete the above step. You can review the image in AWS Console > ECR - "batch-processing-job-repository" repository -1. AWS S3 bucket - batch-processing-job-<YOUR_ACCOUNT_NUMBER> is created as part of the stack. -2. Drop the provided Sample.CSV into the S3 bucket. This will trigger the Lambda to trigger the AWS Batch +1. AWS S3 bucket - aws-unitigs-<YOUR_ACCOUNT_NUMBER> is created as part of the stack. +2. Drop a dataset in it This will trigger the Lambda to trigger the AWS Batch 3. In AWS Console > Batch, Notice the Job runs and performs the operation based on the pushed container image. The job parses the CSV file and adds each row into DynamoDB. -4. In AWS Console > DynamoDB, look for "batch-processing-job" table. Note sample products provided as part of the CSV is added by the batch ### Code Cleanup -1. AWS Console > S3 bucket - batch-processing-job-<YOUR_ACCOUNT_NUMBER> - Delete the contents of the file +In short: + +``` +./cleanup.sh +``` + +Which does (except it doesn't do 2. for ECR): + +1. AWS Console > S3 bucket - aws-unitigs-<YOUR_ACCOUNT_NUMBER> - Delete the contents of the file 2. AWS Console > ECR - batch-processing-job-repository - delete the image(s) that are pushed to the repository 3. run the below command to delete the stack. diff --git a/config/buildspec.yml b/config/buildspec.yml deleted file mode 100644 index 0ac59a3..0000000 --- a/config/buildspec.yml +++ /dev/null @@ -1,28 +0,0 @@ -version: 0.2 - -phases: - install: - runtime-versions: - python: 3.7 - pre_build: - commands: - - aws --version - # Cloudformation will set this application environment variables for CodeBuild - # REPOSITORY_URI=<youraccountnumber>.dkr.ecr.<region>.amazonaws.com/todo-repository - # AWS_DEFAULT_REGION=region ex: us-east-1 - - echo 'region - ' - $AWS_DEFAULT_REGION - - echo 'repository - ' $REPOSITORY_URI - - cd src/ - - echo Logging in to Amazon ECR - - $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email) - build: - commands: - - echo Build started on `date` - - echo Building the Docker image... - - docker build -t $REPOSITORY_URI . - - docker tag $REPOSITORY_URI $REPOSITORY_URI - post_build: - commands: - - echo Build completed on `date` - - echo Push the latest Docker Image... - - docker push $REPOSITORY_URI \ No newline at end of file diff --git a/sample/sample.csv b/sample/sample.csv deleted file mode 100644 index bb3df5c..0000000 --- a/sample/sample.csv +++ /dev/null @@ -1,7 +0,0 @@ -ProductId,ProductName,ProductDescription -P00001,Phone,Traditional Voice Phone -P00002,Internet,Traditional Copper Internet -P00003,Television,Free To Air -P00004,Phone,Digital Voice -P00005,Internet,Fiber Internet -P00006,Television,Streaming TV Channel \ No newline at end of file diff --git a/src/Dockerfile b/src/Dockerfile index 36b12c7..c7baded 100644 --- a/src/Dockerfile +++ b/src/Dockerfile @@ -1,4 +1,5 @@ FROM python +# https://pythonspeed.com/articles/alpine-docker-python/ COPY batch_processor.py / @@ -10,4 +11,4 @@ RUN pip install --upgrade pip && \ RUN pwd RUN ls -CMD ["python", "batch_processor.py"] \ No newline at end of file +CMD ["python", "batch_processor.py"] diff --git a/src/batch_processor.py b/src/batch_processor.py index f91eff1..0fd76f6 100644 --- a/src/batch_processor.py +++ b/src/batch_processor.py @@ -16,154 +16,67 @@ LOGTYPE_ERROR = 'ERROR' LOGTYPE_INFO = 'INFO' LOGTYPE_DEBUG = 'DEBUG' -# table - batch_processing_job -def batch_processing_job_update(productId, productName, productDescription, fileName, region): - try: - now = datetime.now() - date_time = now.strftime("%m-%d-%Y %H:%M:%S.%f")[:-3] - - dynamodb = boto3.resource('dynamodb', region_name = region) - table = dynamodb.Table(DB_TABLE) - - table.put_item( - Item={ - 'ProductId': productId, - 'Filename': fileName, - 'CreatedTime': date_time, - 'LastModified': date_time, - 'ProductName': productName, - 'ProductDescription': productDescription - } - ) - - except Exception as ex: - logMessage(fileName, "Error Updating DynamoDB:" + str(ex), LOGTYPE_ERROR) - -def read_file(fileName, inputBucket, inputFile, s3): - input_products = [] - logMessage(fileName, 'Reading file - ' + inputBucket + "/" + inputFile, LOGTYPE_INFO) - productId = "" - productName = "" - productDescription = "" - try: - s3_object = s3.Object(inputBucket, inputFile).get()[u'Body'].read().decode('utf-8') - input_lines = s3_object.splitlines() - - productIndex = 0 - for row in csv.DictReader(input_lines, delimiter='\t'): - try: - print('row - ' + str(row)) - eachRow = row['ProductId,ProductName,ProductDescription'].split(',') - productId = eachRow[0] - productName = eachRow[1] - productDescription = eachRow[2] - - except Exception as ex: - logMessage(fileName, "Error retrieving Product " + str(ex), LOGTYPE_DEBUG) - - productIndex = productIndex + 1 - input_products.append({'productIndex': productIndex, 'productId': productId, 'productName': productName, 'productDescription': productDescription}) - input_products = sorted(input_products, key=itemgetter('productIndex')) - - except Exception as ex: - logMessage(fileName, "Error parsing excel " + str(ex), LOGTYPE_ERROR) - - return input_products - -def batch_process(input_products, fileName, region): - - try: - for source_products in input_products: - productIndex = source_products['productIndex'] - productId = str(source_products['productId']) - productName = str(source_products['productName']) - productDescription = str(source_products['productDescription']) - - print(str(productIndex) +" " + productId + " " + productName + " " + productDescription + " " + fileName) - batch_processing_job_update(productId, productName, productDescription, fileName, region) - logMessage(fileName, "Product updated for " + productId + " and " + productName + " with "+ productDescription, LOGTYPE_INFO) - - except Exception as ex: - logMessage(fileName, "Error batch processing files" + str(ex), LOGTYPE_ERROR) - - -def process_files(inputBucket, fileName, region): +def process_file(inputBucket, fileName, region): try: urllib3.disable_warnings() - s3 = boto3.resource('s3', verify=False) + s3 = boto3.client('s3') prefix = fileName print("region - " + region) - bucket = s3.Bucket(name=inputBucket) - FilesNotFound = True startTime = datetime.now() + # download reads from s3 + local_file = "/tmp/" + fileName + s3.download_file(inputBucket, fileName, local_file) + print("downloaded file to",local_file) - for files in bucket.objects.filter(Prefix=prefix): - logMessage(fileName, 'files.key-' + files.key, LOGTYPE_DEBUG) - isCSVFile = files.key.endswith(".csv") - - if isCSVFile: - FilesNotFound = False - input_products = read_file(fileName, inputBucket, files.key, s3) - - if len(input_products) > 0: - batch_process(input_products, fileName, region) - else: - logMessage(fileName, "No products could be found in bucket {}/{}".format(inputBucket, prefix), LOGTYPE_INFO) + # upload unitigs to s3 + newFileName = fileName+".processed" + s3.upload_file(local_file, inputBucket, newFileName) - if FilesNotFound: - logMessage(fileName, "No file in {0}/{1}".format(bucket, prefix), LOGTYPE_INFO) - endTime = datetime.now() diffTime = endTime - startTime - logMessage(fileName, "Total processing time - " + str(diffTime.seconds), LOGTYPE_INFO) + logMessage(fileName, "File processing time - " + str(diffTime.seconds), LOGTYPE_INFO) except Exception as ex: logMessage(fileName, "Error processing files:" + str(ex), LOGTYPE_ERROR) def main(): - startTime = datetime.now() inputBucket = "" fileName = "" - region = "us-west-2" - - try: - inputBucket = os.environ.get("InputBucket") + region = "us-east-1" + + #try: + if "InputBucket" in os.environ: + inputBucket = os.environ.get("InputBucket") + if "FileName" in os.environ: fileName = os.environ.get("FileName") + if "Region" in os.environ: region = os.environ.get("Region") - - logMessage(fileName, 'received ' + inputBucket + " " + fileName + " from environment", LOGTYPE_INFO) - except: - error = '' try: - if inputBucket == "" and fileName == "": + if inputBucket == "" or fileName == "": parser = argparse.ArgumentParser() - parser.add_argument("--bucketName", "-js", type=str, required=True) - parser.add_argument("--fileName", "-js", type=str, required=True) - parser.add_argument("--region", "-js", type=str, required=True) + parser.add_argument("--bucketName", "-b", type=str, required=True) + parser.add_argument("--fileName", "-f", type=str, required=True) + parser.add_argument("--region", "-r", type=str, required=True) args = parser.parse_args() - inputJson = args.bucketName + inputBucket = args.bucketName fileName = args.fileName region = args.region - - logMessage(fileName, 'received ' + inputBucket + " " + fileName + " " + region + " from params", LOGTYPE_INFO) except Exception as ex: - logMessage(fileName, "Unexpected error:" + str(ex), LOGTYPE_ERROR) + logMessage(fileName, "Unexpected error during arg parsing (due to lack of environment variables):" + str(ex), LOGTYPE_ERROR) - process_files(inputBucket, fileName, region) + logMessage(fileName, 'parameters: ' + inputBucket + " " + fileName + " " + region, LOGTYPE_INFO) - endTime = datetime.now() - diffTime = endTime - startTime + process_file(inputBucket, fileName, region) - logMessage(fileName, "Total processing time - " + str(diffTime.seconds), LOGTYPE_INFO) -def logMessage(productId, message, logType): +def logMessage(fileName, message, logType): try: - logMessageDetails = constructMessageFormat(productId, message, "", logType) + logMessageDetails = constructMessageFormat(fileName, message, "", logType) if logType == "INFO" or logType == "ERROR": print(logMessageDetails) @@ -174,7 +87,7 @@ def logMessage(productId, message, logType): except KeyError: pass except Exception as ex: - logMessageDetails = constructMessageFormat(productId, message, "Error occurred at Batch_processor.logMessage" + str(ex), logType) + logMessageDetails = constructMessageFormat(fileName, message, "Error occurred at Batch_processor.logMessage" + str(ex), logType) print(logMessageDetails) @@ -184,12 +97,5 @@ def constructMessageFormat(productId, message, additionalErrorDetails, logType): else: return "ProductId: " + productId + " " + logType + ": " + message -def test(): - print("just a test message") - -# COMMENT below for local/development testing -# main() - -print("Python file invoked") if __name__ == '__main__': - main() \ No newline at end of file + main() diff --git a/template/template.yaml b/template/template.yaml index 8e3b155..03e51c3 100644 --- a/template/template.yaml +++ b/template/template.yaml @@ -65,8 +65,6 @@ Resources: ManagedPolicyArns: - arn:aws:iam::aws:policy/AWSLambdaExecute - arn:aws:iam::aws:policy/AmazonS3FullAccess - - arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess - - arn:aws:iam::aws:policy/AmazonKinesisFullAccess - arn:aws:iam::aws:policy/AWSBatchFullAccess - arn:aws:iam::aws:policy/service-role/AWSBatchServiceRole Path: / @@ -101,7 +99,6 @@ Resources: ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role - arn:aws:iam::aws:policy/AmazonS3FullAccess - - arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess BatchProcessingJobDefinition: Type: AWS::Batch::JobDefinition Properties: @@ -114,7 +111,7 @@ Resources: - - Ref: AWS::AccountId - .dkr.ecr. - Ref: AWS::Region - - ".amazonaws.com/batch-processing-job-repository:latest" + - ".amazonaws.com/aws-batch-s3-unitigs-job:latest" Vcpus: 2 Memory: 2000 Command: @@ -139,7 +136,7 @@ Resources: Type: EC2 MinvCpus: 0 DesiredvCpus: 0 - MaxvCpus: 32 + MaxvCpus: 2 InstanceTypes: #- a1.medium - optimal @@ -156,11 +153,18 @@ Resources: DependsOn: BatchProcessBucketPermission Properties: BucketName: - !Sub 'batch-processing-job-${AWS::AccountId}' + !Sub 'aws-unitigs-${AWS::AccountId}' NotificationConfiguration: LambdaConfigurations: - Event: 's3:ObjectCreated:*' Function: !GetAtt BatchProcessingLambdaInvokeFunction.Arn + Filter: + S3Key: + Rules: + - Name: suffix + Value: '.gz' + + BatchProcessBucketPermission: Type: AWS::Lambda::Permission Properties: @@ -168,7 +172,7 @@ Resources: FunctionName: !Ref BatchProcessingLambdaInvokeFunction Principal: s3.amazonaws.com SourceAccount: !Ref "AWS::AccountId" - SourceArn: !Sub "arn:aws:s3:::batch-processing-job-${AWS::AccountId}" + SourceArn: !Sub "arn:aws:s3:::aws-unitigs-${AWS::AccountId}" BatchProcessingLambdaInvokeFunction: Type: AWS::Lambda::Function Properties: @@ -224,133 +228,6 @@ Resources: print("Job ID is {}.".format(response['jobId'])) return response - #Code Commit - CodeCommitRepository: - Type: AWS::CodeCommit::Repository - Properties: - RepositoryName: batch-processing-job-repo - RepositoryDescription: Respository to maintain code related to the Batch Processing Jobs. - #Code Build - CodeBuildProject: - Type: AWS::CodeBuild::Project - Properties: - Name: batch-processing-job-build - Description: Todo Api application codebuild project. - ServiceRole: !GetAtt CodeBuildRole.Arn - Artifacts: - Type: no_artifacts - Environment: - Type: LINUX_CONTAINER - ComputeType: BUILD_GENERAL1_SMALL - Image: aws/codebuild/amazonlinux2-x86_64-standard:1.0 - PrivilegedMode: true - EnvironmentVariables: - - Name: REPOSITORY_URI - Type: PLAINTEXT - Value: - Fn::Join: - - '' - - - Ref: AWS::AccountId - - .dkr.ecr. - - Ref: AWS::Region - - ".amazonaws.com/batch-processing-job-repository:latest" - - - Name: AWS_DEFAULT_REGION - Type: PLAINTEXT - Value: - Ref: AWS::Region - Source: - BuildSpec: config/buildspec.yml - Location: - Fn::Join: - - '' - - - 'https://git-codecommit.' - - Ref: AWS::Region - - '.amazonaws.com/v1/repos/' - - batch-processing-job-repo - Type: CODECOMMIT - SourceVersion: refs/heads/master - TimeoutInMinutes: 10 - CodeBuildRole: - Type: AWS::IAM::Role - Properties: - ManagedPolicyArns: - - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryFullAccess - - arn:aws:iam::aws:policy/AWSCodeCommitFullAccess - AssumeRolePolicyDocument: - Statement: - - Action: ['sts:AssumeRole'] - Effect: Allow - Principal: - Service: [codebuild.amazonaws.com] - Version: '2012-10-17' - Path: / - Policies: - - PolicyName: CodeBuildAccess - PolicyDocument: - Version: '2012-10-17' - Statement: - - Action: - - 'logs:*' - - 'ec2:CreateNetworkInterface' - - 'ec2:DescribeNetworkInterfaces' - - 'ec2:DeleteNetworkInterface' - - 'ec2:DescribeSubnets' - - 'ec2:DescribeSecurityGroups' - - 'ec2:DescribeDhcpOptions' - - 'ec2:DescribeVpcs' - - 'ec2:CreateNetworkInterfacePermission' - Effect: Allow - Resource: '*' - - # CloudWatchEvents Code build Rold - CloudWatchEventsCodeBuildRole: - Type: AWS::IAM::Role - Properties: - RoleName: batch-processing-job-cw-events-codebuild-role - AssumeRolePolicyDocument: - Version: 2012-10-17 - Statement: - - - Effect: Allow - Principal: - Service: - - events.amazonaws.com - Action: sts:AssumeRole - Policies: - - PolicyName: aws-events-code-build - PolicyDocument: - Version: 2012-10-17 - Statement: - - Effect: Allow - Action: - - 'codebuild:StartBuild' - Resource: !GetAtt CodeBuildProject.Arn - # CloudWatch Event Rule for codecommit build trigger - CloudWatchEventCodeBuildEventRule: - Type: AWS::Events::Rule - Properties: - Description: "This event rule triggers the build on code commit event" - EventPattern: - source: - - "aws.codecommit" - detail-type: - - "CodeCommit Repository State Change" - detail: - event: - - "referenceCreated" - - "referenceUpdated" - referenceType: - - "branch" - referenceName: - - "master" - State: "ENABLED" - Targets: - - - Arn: {'Fn::GetAtt': [CodeBuildProject, Arn]} - Id: cloudwatch-codebuild-eventrules - RoleArn: !GetAtt CloudWatchEventsCodeBuildRole.Arn - BatchProcessRepository: Type: AWS::ECR::Repository Properties: @@ -372,47 +249,7 @@ Resources: - "ecr:InitiateLayerUpload" - "ecr:UploadLayerPart" - "ecr:CompleteLayerUpload" - - BatchProcessingDynamoDBTable: - Type: AWS::DynamoDB::Table - Properties: - TableName: batch-processing-job - AttributeDefinitions: - - - AttributeName: "ProductId" - AttributeType: "S" - - - AttributeName: "ProductName" - AttributeType: "S" - - - AttributeName: "ProductDescription" - AttributeType: "S" - AttributeName: "CreatedTime" - AttributeType: "S" - KeySchema: - - - AttributeName: "ProductId" - KeyType: "HASH" - - - AttributeName: "ProductName" - KeyType: "RANGE" - GlobalSecondaryIndexes: - - - IndexName: "GSI" - KeySchema: - - - AttributeName: "CreatedTime" - KeyType: "HASH" - Projection: - ProjectionType: "KEYS_ONLY" - ProvisionedThroughput: - ReadCapacityUnits: 5 - WriteCapacityUnits: 5 - ProvisionedThroughput: - ReadCapacityUnits: 5 - WriteCapacityUnits: 5 - Outputs: ComputeEnvironmentArn: Value: -- GitLab