Giter VIP home page Giter VIP logo

aws-lambda-sap-odp-extractor's Introduction

aws-lambda-sap-odp-extractor

This is a sample application for extracting data from SAP applications (SAP S/4HANA, SAP ECC and SAP BW) using Operational Data Provisioning (ODP). You can find more information on ODP here. Operational Data Provisioning can expose the full load and delta data using OData services. This application package contains a Lambda layer to connect with SAP and consume the OData services as a REST API. Extracted data is saved to S3 Bucket. A DynamoDB table is also created to store the metadata for extracts. The package also contains a sample Lambda function to demonstrate usage of the lamdba layer

Requirements

  • AWS CLI already configured with Administrator permission
  • NodeJS 10.x installed
  • AWS CDK installed
  • SAP application (ABAP stack) with SAP Netweaver 7.5 or above. If required, you can create an SAP ABAP developer edition using cloud formation template here
  • OData services for ODP based extraction are already created. It is assumed to you know about ODP and how OData services can be created from them. This SAP documentation link provides information on how to expose ODP as OData services. You can find more information on ODP here.

Setup Process

Note: This process creates various resources in your AWS account. Check the resources created section for more information what gets created. You incur charges for using the resources created and you are responsible for those charges.

Installation

  1. Clone this repo to a folder of your choice

  2. Navigate to the root folder of the cloned repo and then perform the preparation steps.

cd aws-lambda-sap-odp-extractor
npm install
  1. Navigate to the lib folder
cd lib
  1. Update the appConfig.json file in the lib folder to suit your needs. At a minimum, update your account ID, region details.

  2. Navigate to project root folder

cd ..
  1. Bootstrap your AWS account for CDK. Please check here for more details on bootstraping for CDK. Bootstraping deploys a CDK toolkit stack to your account and creates a S3 bucket for storing various artifacts. You incur any charges for what the AWS CDK stores in the bucket. Because the AWS CDK does not remove any objects from the bucket, the bucket can accumulate objects as you use the AWS CDK. You can get rid of the bucket by deleting the CDKToolkit stack from your account.
cdk bootstrap aws://<YOUR ACCOUNT ID>/<YOUR AWS REGION>
  1. Deploy the stack to your account. Make sure your CLI is setup for account ID and region provided in the appConfig.json file.
cdk deploy
  1. Once the stack is deployed successfully, go to Secrets Manager and update the SAP user ID and password for connecting to the backend SAP application and pull data using OData/ODP. You can get the secrets manager ARN from the output of the CDK output or CloudFormation output

Testing

  1. Open test Lambda function (you can get the name from the CloudFormation output) and update the dataS3Folder, odpServiceName, odpEntitySetName, sapHostName and sapPort according to your SAP application and OData details

  2. Execute a test in the Lambda function. This should extract the data from backend SAP application and load it to the S3 bucket.

Cleanup

In order to delete all resources created by this CDK app, run the following command

cdk destroy

aws-lambda-sap-odp-extractor's People

Contributors

dependabot[bot] avatar kumarrk21 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.