cleared git history
This commit is contained in:
parent
f864cf9298
commit
09dc16108c
25
.eslintrc
Normal file
25
.eslintrc
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"extends": ["plugin:prettier/recommended"],
|
||||
|
||||
"plugins": ["prettier", "@typescript-eslint", "unused-imports"],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"rules": {
|
||||
"max-len": [2, { "code": 140 }],
|
||||
"prettier/prettier": [
|
||||
"error",
|
||||
{
|
||||
"endOfLine": "auto"
|
||||
}
|
||||
],
|
||||
"unused-imports/no-unused-imports-ts": "error",
|
||||
"unused-imports/no-unused-vars-ts": [
|
||||
"warn",
|
||||
{
|
||||
"vars": "all",
|
||||
"varsIgnorePattern": "^_",
|
||||
"args": "after-used",
|
||||
"argsIgnorePattern": "^_"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
58
.gitignore
vendored
58
.gitignore
vendored
@ -1,50 +1,8 @@
|
||||
# These are some examples of commonly ignored file patterns.
|
||||
# You should customize this list as applicable to your project.
|
||||
# Learn more about .gitignore:
|
||||
# https://www.atlassian.com/git/tutorials/saving-changes/gitignore
|
||||
|
||||
# Node artifact files
|
||||
node_modules/
|
||||
dist/
|
||||
|
||||
# Compiled Java class files
|
||||
*.class
|
||||
|
||||
# Compiled Python bytecode
|
||||
*.py[cod]
|
||||
|
||||
# Log files
|
||||
*.log
|
||||
|
||||
# Package files
|
||||
*.jar
|
||||
|
||||
# Maven
|
||||
target/
|
||||
dist/
|
||||
|
||||
# JetBrains IDE
|
||||
.idea/
|
||||
|
||||
# Unit test reports
|
||||
TEST*.xml
|
||||
|
||||
# Generated by MacOS
|
||||
.DS_Store
|
||||
|
||||
# Generated by Windows
|
||||
Thumbs.db
|
||||
|
||||
# Applications
|
||||
*.app
|
||||
*.exe
|
||||
*.war
|
||||
|
||||
# Large media files
|
||||
*.mp4
|
||||
*.tiff
|
||||
*.avi
|
||||
*.flv
|
||||
*.mov
|
||||
*.wmv
|
||||
|
||||
!jest.config.js
|
||||
*.d.ts
|
||||
node_modules
|
||||
dist
|
||||
# CDK asset staging directory
|
||||
.cdk.staging
|
||||
cdk.out
|
||||
.aws-sam
|
6
.npmignore
Normal file
6
.npmignore
Normal file
@ -0,0 +1,6 @@
|
||||
*.ts
|
||||
!*.d.ts
|
||||
|
||||
# CDK asset staging directory
|
||||
.cdk.staging
|
||||
cdk.out
|
7
.prettierrc
Normal file
7
.prettierrc
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"semi": true,
|
||||
"singleQuote": true,
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"trailingComma": "es5"
|
||||
}
|
9
.vscode/extensions.json
vendored
Normal file
9
.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"amazonwebservices.aws-toolkit-vscode",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"esbenp.prettier-vscode",
|
||||
"orta.vscode-jest",
|
||||
"aleksandardev.vscode-sequence-diagrams"
|
||||
]
|
||||
}
|
12
.vscode/launch.json
vendored
Normal file
12
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "Invoke",
|
||||
"program": "${workspaceRoot}/app.js",
|
||||
"console": "integratedTerminal"
|
||||
}
|
||||
]
|
||||
}
|
9
.vscode/settings.json
vendored
Normal file
9
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
}
|
||||
},
|
||||
"sequencediagrams.diagram.style": "simple"
|
||||
}
|
93
README.md
93
README.md
@ -1,29 +1,82 @@
|
||||
# README #
|
||||
# Project: Cloud Take Home Assignment
|
||||
|
||||
This README would normally document whatever steps are necessary to get your application up and running.
|
||||
## Objective
|
||||
|
||||
### What is this repository for? ###
|
||||
AFerry is building a cloud native system to support ferry bookings. When a booking is made, it is published to an event stream. There is an external system that needs to be notified about new bookings, and exposes a RESTful endpoint to receive booking events.
|
||||
|
||||
* Quick summary
|
||||
* Version
|
||||
* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)
|
||||
Your assignment is to implement a function that is subscribed to these events and publishes `booking_completed` events to the external system.
|
||||
|
||||
### How do I get set up? ###
|
||||
## Submitting
|
||||
|
||||
* Summary of set up
|
||||
* Configuration
|
||||
* Dependencies
|
||||
* Database configuration
|
||||
* How to run tests
|
||||
* Deployment instructions
|
||||
- Clone this repo into the platform of your choice
|
||||
- Create a pull request for your changes
|
||||
- Email your point of contact at AFerry with a link to the PR
|
||||
|
||||
### Contribution guidelines ###
|
||||
## Brief
|
||||
|
||||
* Writing tests
|
||||
* Code review
|
||||
* Other guidelines
|
||||
You will implement the function that is subscribed to the event stream. The event stream contains events of different types, your function should publish `booking_completed` events to the external system.
|
||||
|
||||
### Who do I talk to? ###
|
||||
The external system accepts these events in a format defined in the enclosed [JSON Schema](./external-service/schema.json). Your function will need to transform events from the stream into this format before publishing.
|
||||
|
||||
* Repo owner or admin
|
||||
* Other community or team contact
|
||||
Infrastructure and build tools have been provided, so you can concentrate on the code for the function.
|
||||
|
||||
You are welcome to install any additional packages from NPM to help you complete the assignment.
|
||||
|
||||
## Tasks
|
||||
|
||||
- Implement the assignment using JavaScript or TypeScript. Under [src](./src) there are two entry points, `index.js` and `index.ts` - you must delete the one you don't plan to use for your code to build correctly.
|
||||
- Your function should pick out `booking_completed` events and ignore other event types
|
||||
- Your function should transform events into the format defined in the [JSON Schema](./external-service/schema.json)
|
||||
- Your function should publish events to the [Mock Server](#mock-server)
|
||||
- Your function should have 100% test coverage, by adding tests under [test](./test).
|
||||
- File names for tests should end with `.test.ts` or `.test.js` to be picked up by the test runner.
|
||||
- Anything under the `external-service` should be treated as such, no changes should be made in this folder
|
||||
|
||||
## Mock Server
|
||||
|
||||
A mock server is provided for you to publish events to. This can be started by running:
|
||||
|
||||
```
|
||||
npm run start:server
|
||||
```
|
||||
|
||||
The URL to publish to is available in your function via the environment variable `PUBLISH_URL`. Requests will receive a 200 response code when the request body passes validation. If the request body does not pass validation, the server will respond with a 400 response code and an explanation.
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
To install dependencies, run the command `npm install` from the project root.
|
||||
|
||||
## Build
|
||||
|
||||
To build your code, run this command:
|
||||
|
||||
```
|
||||
npm run build
|
||||
```
|
||||
|
||||
To build your code and watch for changes, run this command:
|
||||
|
||||
```
|
||||
npm run watch
|
||||
```
|
||||
|
||||
## Invoke / Debug
|
||||
|
||||
Running invoke or debug commands will invoke your function with a sample event, containing a number of records. This command won't work if your function hasn't been built by the relevant [build](#Build) command.
|
||||
|
||||
To invoke your function run:
|
||||
|
||||
```
|
||||
npm run invoke
|
||||
```
|
||||
|
||||
Alternatively you can debug your function in Visual Studio Code by setting breakpoints and using `Run > Start Debugging`.
|
||||
|
||||
## Test
|
||||
|
||||
To run all tests, run the command `npm run test` from the project root.
|
||||
|
||||
Test configuration is inside the [package.json](./package.json).
|
||||
|
||||
If you are using TypeScript, [TS Auto Mock](https://typescript-tdd.github.io/ts-auto-mock/) is included which allows you to create mock data from TypeScript interfaces. You don't have to use it, but it might be useful.
|
||||
|
4
app.js
Normal file
4
app.js
Normal file
@ -0,0 +1,4 @@
|
||||
process.env.PUBLISH_URL = 'http://localhost:3000';
|
||||
const event = require('./event.json');
|
||||
const { handler } = require('./dist/index');
|
||||
handler(event);
|
804
event.json
Normal file
804
event.json
Normal file
@ -0,0 +1,804 @@
|
||||
{
|
||||
"Records": [
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg4MTMxLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImM3NzI0YjA2LTgxM2QtNDEwYS1hZGJjLTdkMTllYmZmMDRiMiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OSwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU5LCJvcmRlcklkIjoxMDAxNiwicHJvZHVjdF9wcm92aWRlciI6IkJyaXR0YW55IEZlcnJpZXMifX0=",
|
||||
"partitionKey": "c7724b06-813d-410a-adbc-7d19ebff04b2",
|
||||
"approximateArrivalTimestamp": 1631538059459,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "c7724b06-813d-410a-adbc-7d19ebff04b2"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzhhODQzLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjllNWZiZmFiLTQwMjAtNGI5Zi04NDQzLTIzZjQ0MGVjM2ExNiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ2MCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDYwLCJvcmRlcklkIjoxMDAyMywicHJvZHVjdF9wcm92aWRlciI6IkJyaXR0YW55IEZlcnJpZXMifX0=",
|
||||
"partitionKey": "9e5fbfab-4020-4b9f-8443-23f440ec3a16",
|
||||
"approximateArrivalTimestamp": 1631538059460,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "9e5fbfab-4020-4b9f-8443-23f440ec3a16"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc5NmQ0LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjE5ZTlkMmFjLTJlNTgtNGE4Yi05MjA5LWM0NTU4ZTkxZWFhMyIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MywidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUzLCJwcm9kdWN0X3Byb3ZpZGVyIjoiUCZPIEZlcnJpZXMiLCJvcmRlcklkIjoxMjM0NjF9fQ==",
|
||||
"partitionKey": "19e9d2ac-2e58-4a8b-9209-c4558e91eaa3",
|
||||
"approximateArrivalTimestamp": 1631538059453,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "19e9d2ac-2e58-4a8b-9209-c4558e91eaa3"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgwYzAxLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjY0MWY4MTFiLTNkNGMtNDgwOS05OWUyLWQyY2MzODM4ODIyMyIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NiwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU2LCJwcm9kdWN0X3Byb3ZpZGVyIjoiQmFsZWFyaWEiLCJvcmRlcklkIjoxMjM0Nzd9fQ==",
|
||||
"partitionKey": "641f811b-3d4c-4809-99e2-d2cc38388223",
|
||||
"approximateArrivalTimestamp": 1631538059456,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "641f811b-3d4c-4809-99e2-d2cc38388223"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdiZGUxLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjlmYTUzZjZlLTFkZTgtNGJhYy05MmM0LTYwNTk1NTk3MzE0YSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NCwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU0LCJwcm9kdWN0X3Byb3ZpZGVyIjoiUCZPIEZlcnJpZXMiLCJvcmRlcklkIjoxMjM0NjZ9fQ==",
|
||||
"partitionKey": "9fa53f6e-1de8-4bac-92c4-60595597314a",
|
||||
"approximateArrivalTimestamp": 1631538059454,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "9fa53f6e-1de8-4bac-92c4-60595597314a"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdlNGY1LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImM2ZWU1ZWYyLWY2YTktNDk1MC1iYzY5LTg2MmY5OWI4ZWJmYyIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NSwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU1LCJwcm9kdWN0X3Byb3ZpZGVyIjoiREZEUyIsIm9yZGVySWQiOjEyMzQ3NX19",
|
||||
"partitionKey": "c6ee5ef2-f6a9-4950-bc69-862f99b8ebfc",
|
||||
"approximateArrivalTimestamp": 1631538059455,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "c6ee5ef2-f6a9-4950-bc69-862f99b8ebfc"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc5NmQ1LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImRkNGUwN2I1LWRiZjgtNDUyNC1hN2RhLTg4YTQ1ZTY1YzVkMiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MywidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUzLCJwcm9kdWN0X3Byb3ZpZGVyIjoiSXJpc2ggRmVycmllcyIsIm9yZGVySWQiOjEyMzQ2Mn19",
|
||||
"partitionKey": "dd4e07b5-dbf8-4524-a7da-88a45e65c5d2",
|
||||
"approximateArrivalTimestamp": 1631538059453,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "dd4e07b5-dbf8-4524-a7da-88a45e65c5d2"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgzMzExLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6Ijk2ZjVjMWNiLWIwMTYtNDNlYi1iZGYzLTBhNDA3MGU2YTAxNiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NywidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU3LCJvcmRlcklkIjoxMDAwNCwicHJvZHVjdF9wcm92aWRlciI6IklyaXNoIEZlcnJpZXMifX0=",
|
||||
"partitionKey": "96f5c1cb-b016-43eb-bdf3-0a4070e6a016",
|
||||
"approximateArrivalTimestamp": 1631538059457,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "96f5c1cb-b016-43eb-bdf3-0a4070e6a016"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc5NmQxLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjgwYmZjMmQ5LTg2NzktNGFlYy1hMmJkLTdkZTc0N2ZhNGUwYyIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MywidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUzLCJwcm9kdWN0X3Byb3ZpZGVyIjoiQmFsZWFyaWEiLCJvcmRlcklkIjoxMjM0NTh9fQ==",
|
||||
"partitionKey": "80bfc2d9-8679-4aec-a2bd-7de747fa4e0c",
|
||||
"approximateArrivalTimestamp": 1631538059453,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "80bfc2d9-8679-4aec-a2bd-7de747fa4e0c"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzhhODQwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjIzY2RjYTQ3LTU2N2ItNGMxMC1hNDFhLTE4ZDUzYjhkM2MzYyIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ2MCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU5LCJvcmRlcklkIjoxMDAyMCwicHJvZHVjdF9wcm92aWRlciI6IklyaXNoIEZlcnJpZXMifX0=",
|
||||
"partitionKey": "23cdca47-567b-4c10-a41a-18d53b8d3c3c",
|
||||
"approximateArrivalTimestamp": 1631538059460,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "23cdca47-567b-4c10-a41a-18d53b8d3c3c"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc2ZmMwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6Ijg1MWRlMmZlLThlM2UtNDkwOC1hYWY2LWE5OGExODRiM2E2ZSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MiwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUwLCJwcm9kdWN0X3Byb3ZpZGVyIjoiUCZPIEZlcnJpZXMiLCJvcmRlcklkIjoxMjM0NTZ9fQ==",
|
||||
"partitionKey": "851de2fe-8e3e-4908-aaf6-a98a184b3a6e",
|
||||
"approximateArrivalTimestamp": 1631538059452,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "851de2fe-8e3e-4908-aaf6-a98a184b3a6e"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgzMzEzLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImZhMmNjMWRlLWVhMTctNGUyYy1iNDI0LTBiYmNjZTZlOGQzYSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NywidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU3LCJvcmRlcklkIjoxMDAwNiwicHJvZHVjdF9wcm92aWRlciI6IkJhbGVhcmlhIn19",
|
||||
"partitionKey": "fa2cc1de-ea17-4e2c-b424-0bbcce6e8d3a",
|
||||
"approximateArrivalTimestamp": 1631538059457,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "fa2cc1de-ea17-4e2c-b424-0bbcce6e8d3a"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg1YTI0LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjQ2YjZhMmVmLWM0YjAtNDYxZS1hMzQ3LTNmYjg2ZTZlM2NhMyIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU4LCJvcmRlcklkIjoxMDAxNCwicHJvZHVjdF9wcm92aWRlciI6IklyaXNoIEZlcnJpZXMifX0=",
|
||||
"partitionKey": "46b6a2ef-c4b0-461e-a347-3fb86e6e3ca3",
|
||||
"approximateArrivalTimestamp": 1631538059458,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "46b6a2ef-c4b0-461e-a347-3fb86e6e3ca3"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg1YTIyLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImQ0OGRlODVjLTJlZGYtNDYwNC05N2Y0LWVhYWE4MDI4YTg2MSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU4LCJvcmRlcklkIjoxMDAxMiwicHJvZHVjdF9wcm92aWRlciI6IlAmTyBGZXJyaWVzIn19",
|
||||
"partitionKey": "d48de85c-2edf-4604-97f4-eaaa8028a861",
|
||||
"approximateArrivalTimestamp": 1631538059458,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "d48de85c-2edf-4604-97f4-eaaa8028a861"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdiZGUwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImVjYTVhNmZhLTc4MDgtNGJlYy1iNDM4LTJmZjU5ZmUwNTkzMSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NCwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUzLCJwcm9kdWN0X3Byb3ZpZGVyIjoiUCZPIEZlcnJpZXMiLCJvcmRlcklkIjoxMjM0NjV9fQ==",
|
||||
"partitionKey": "eca5a6fa-7808-4bec-b438-2ff59fe05931",
|
||||
"approximateArrivalTimestamp": 1631538059454,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "eca5a6fa-7808-4bec-b438-2ff59fe05931"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgwYzA0LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImQzOWUwOGEyLWViNWItNDFlNS04Y2VmLTZkZTg1YmE3NjM4NiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NiwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU2LCJwcm9kdWN0X3Byb3ZpZGVyIjoiUCZPIEZlcnJpZXMiLCJvcmRlcklkIjoxMjM0ODB9fQ==",
|
||||
"partitionKey": "d39e08a2-eb5b-41e5-8cef-6de85ba76386",
|
||||
"approximateArrivalTimestamp": 1631538059456,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "d39e08a2-eb5b-41e5-8cef-6de85ba76386"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgwYzA1LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjU5YWYzZWE4LTMyMjEtNGM5Ny04MTc2LTA5NzY0NDVhZjM0NSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NiwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU2LCJvcmRlcklkIjoxMDAwMCwicHJvZHVjdF9wcm92aWRlciI6IkJhbGVhcmlhIn19",
|
||||
"partitionKey": "59af3ea8-3221-4c97-8176-0976445af345",
|
||||
"approximateArrivalTimestamp": 1631538059456,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "59af3ea8-3221-4c97-8176-0976445af345"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg1YTIwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImJjYmIyMjYzLWNjYzAtNGRjMi1iMWM4LWY5MTczZmQ0MjVlYyIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU3LCJvcmRlcklkIjoxMDAxMCwicHJvZHVjdF9wcm92aWRlciI6IlN0ZW5hIExpbmUifX0=",
|
||||
"partitionKey": "bcbb2263-ccc0-4dc2-b1c8-f9173fd425ec",
|
||||
"approximateArrivalTimestamp": 1631538059458,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "bcbb2263-ccc0-4dc2-b1c8-f9173fd425ec"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzhhODQ0LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjQ5ZmZlNjk4LTQ1NDgtNGIwNS1hNDBiLWQxZWFhNmVmZjI2YSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ2MCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDYwLCJvcmRlcklkIjoxMDAyNCwicHJvZHVjdF9wcm92aWRlciI6IkJhbGVhcmlhIn19",
|
||||
"partitionKey": "49ffe698-4548-4b05-a40b-d1eaa6eff26a",
|
||||
"approximateArrivalTimestamp": 1631538059460,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "49ffe698-4548-4b05-a40b-d1eaa6eff26a"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc5NmQzLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjhjYjZmOWQ5LWVmNjUtNDNjYS04NDk0LTgwYWFkNTk1M2Y1MSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MywidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUzLCJwcm9kdWN0X3Byb3ZpZGVyIjoiREZEUyIsIm9yZGVySWQiOjEyMzQ2MH19",
|
||||
"partitionKey": "8cb6f9d9-ef65-43ca-8494-80aad5953f51",
|
||||
"approximateArrivalTimestamp": 1631538059453,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "8cb6f9d9-ef65-43ca-8494-80aad5953f51"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg4MTM0LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImVkMDhjYzczLThlMTYtNGRhMS05ZDVkLTA5ZDFmNDY5Y2RhYiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OSwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU5LCJvcmRlcklkIjoxMDAxOSwicHJvZHVjdF9wcm92aWRlciI6IkRGRFMifX0=",
|
||||
"partitionKey": "ed08cc73-8e16-4da1-9d5d-09d1f469cdab",
|
||||
"approximateArrivalTimestamp": 1631538059459,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "ed08cc73-8e16-4da1-9d5d-09d1f469cdab"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc5NmQ2LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjQ1NDk2NzA0LThlMWQtNDg0Ni04OWVjLTU3NzgxNjQ5MzU3ZSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MywidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUzLCJwcm9kdWN0X3Byb3ZpZGVyIjoiREZEUyIsIm9yZGVySWQiOjEyMzQ2M319",
|
||||
"partitionKey": "45496704-8e1d-4846-89ec-57781649357e",
|
||||
"approximateArrivalTimestamp": 1631538059453,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "45496704-8e1d-4846-89ec-57781649357e"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdiZGUzLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImQ5ZDI0NmUxLTYxNjUtNDZiZC1iMDA1LTRhZWRkMmFjNDhkMiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NCwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU0LCJwcm9kdWN0X3Byb3ZpZGVyIjoiREZEUyIsIm9yZGVySWQiOjEyMzQ2OH19",
|
||||
"partitionKey": "d9d246e1-6165-46bd-b005-4aedd2ac48d2",
|
||||
"approximateArrivalTimestamp": 1631538059454,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "d9d246e1-6165-46bd-b005-4aedd2ac48d2"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg4MTMzLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImRhNWQyNjk1LTg4Y2YtNDI1Ni04YmYwLTQ4MzY2NzUxMTE4NCIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OSwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU5LCJvcmRlcklkIjoxMDAxOCwicHJvZHVjdF9wcm92aWRlciI6IkJyaXR0YW55IEZlcnJpZXMifX0=",
|
||||
"partitionKey": "da5d2695-88cf-4256-8bf0-483667511184",
|
||||
"approximateArrivalTimestamp": 1631538059459,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "da5d2695-88cf-4256-8bf0-483667511184"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzhhODQxLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6Ijg1NTgxOTQ2LTk3MDItNGZmYS1hMTZmLTg0YzA2Yzk5NmZlOCIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ2MCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDYwLCJvcmRlcklkIjoxMDAyMSwicHJvZHVjdF9wcm92aWRlciI6IkRGRFMifX0=",
|
||||
"partitionKey": "85581946-9702-4ffa-a16f-84c06c996fe8",
|
||||
"approximateArrivalTimestamp": 1631538059460,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "85581946-9702-4ffa-a16f-84c06c996fe8"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg4MTMwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjEwMGIzNDU0LTJjM2ItNGMwNi04OWZhLTVkNDNmYTBiZDIyYiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OSwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU4LCJvcmRlcklkIjoxMDAxNSwicHJvZHVjdF9wcm92aWRlciI6IkJhbGVhcmlhIn19",
|
||||
"partitionKey": "100b3454-2c3b-4c06-89fa-5d43fa0bd22b",
|
||||
"approximateArrivalTimestamp": 1631538059459,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "100b3454-2c3b-4c06-89fa-5d43fa0bd22b"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdlNGYxLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjQzOWZiOThkLTM2NzQtNDgzNi05MTRlLWRlZmEyYzU5ZjYxNCIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NSwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU1LCJwcm9kdWN0X3Byb3ZpZGVyIjoiREZEUyIsIm9yZGVySWQiOjEyMzQ3MX19",
|
||||
"partitionKey": "439fb98d-3674-4836-914e-defa2c59f614",
|
||||
"approximateArrivalTimestamp": 1631538059455,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "439fb98d-3674-4836-914e-defa2c59f614"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzhhODQyLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjQyZmNlODZkLTIyMjItNDExNi05OTkwLWFhNGIyZGE4NWQ2ZSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ2MCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDYwLCJvcmRlcklkIjoxMDAyMiwicHJvZHVjdF9wcm92aWRlciI6IklyaXNoIEZlcnJpZXMifX0=",
|
||||
"partitionKey": "42fce86d-2222-4116-9990-aa4b2da85d6e",
|
||||
"approximateArrivalTimestamp": 1631538059460,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "42fce86d-2222-4116-9990-aa4b2da85d6e"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdiZGUyLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImU1ODk5ZTY3LTk0MjQtNGNiYi04YWVkLTE5ZDExNGE2YjE4ZiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NCwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU0LCJwcm9kdWN0X3Byb3ZpZGVyIjoiSXJpc2ggRmVycmllcyIsIm9yZGVySWQiOjEyMzQ2N319",
|
||||
"partitionKey": "e5899e67-9424-4cbb-8aed-19d114a6b18f",
|
||||
"approximateArrivalTimestamp": 1631538059454,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "e5899e67-9424-4cbb-8aed-19d114a6b18f"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg1YTIzLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjViMGFlMDYwLWJmZWYtNDk0MC05YTIxLTQ3MmVlYzEzZjgzMCIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU4LCJvcmRlcklkIjoxMDAxMywicHJvZHVjdF9wcm92aWRlciI6IkJyaXR0YW55IEZlcnJpZXMifX0=",
|
||||
"partitionKey": "5b0ae060-bfef-4940-9a21-472eec13f830",
|
||||
"approximateArrivalTimestamp": 1631538059458,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "5b0ae060-bfef-4940-9a21-472eec13f830"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgzMzE1LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImMzNjAyM2FlLWUzMjUtNDhmOS1iNDhiLTkzMTg2ZTQ4M2NlYSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NywidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU3LCJvcmRlcklkIjoxMDAwOCwicHJvZHVjdF9wcm92aWRlciI6IlAmTyBGZXJyaWVzIn19",
|
||||
"partitionKey": "c36023ae-e325-48f9-b48b-93186e483cea",
|
||||
"approximateArrivalTimestamp": 1631538059457,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "c36023ae-e325-48f9-b48b-93186e483cea"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdlNGYzLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjliMTI3Mjc0LTQ1OTctNDhlYS04NGIzLTVlOWVmZmI0NGQ3MyIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NSwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU1LCJwcm9kdWN0X3Byb3ZpZGVyIjoiSXJpc2ggRmVycmllcyIsIm9yZGVySWQiOjEyMzQ3M319",
|
||||
"partitionKey": "9b127274-4597-48ea-84b3-5e9effb44d73",
|
||||
"approximateArrivalTimestamp": 1631538059455,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "9b127274-4597-48ea-84b3-5e9effb44d73"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgwYzAwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjVmM2VhOTMzLTkyMDQtNDRhYS1hYzUzLTg1MDVmMDZiNjdlZiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NiwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU1LCJwcm9kdWN0X3Byb3ZpZGVyIjoiUCZPIEZlcnJpZXMiLCJvcmRlcklkIjoxMjM0NzZ9fQ==",
|
||||
"partitionKey": "5f3ea933-9204-44aa-ac53-8505f06b67ef",
|
||||
"approximateArrivalTimestamp": 1631538059456,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "5f3ea933-9204-44aa-ac53-8505f06b67ef"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdiZGU0LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImE2ZmYwY2Q0LTNlNDUtNGRkNi05ZDBiLTQyMjg0OGQ4MDAxMiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NCwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU0LCJwcm9kdWN0X3Byb3ZpZGVyIjoiU3RlbmEgTGluZSIsIm9yZGVySWQiOjEyMzQ2OX19",
|
||||
"partitionKey": "a6ff0cd4-3e45-4dd6-9d0b-422848d80012",
|
||||
"approximateArrivalTimestamp": 1631538059454,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "a6ff0cd4-3e45-4dd6-9d0b-422848d80012"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdlNGYyLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImZkNjY0ZjIyLTNmNGQtNDExMi1hZGQ4LTYwOWFkODQzMDMwZSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NSwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU1LCJwcm9kdWN0X3Byb3ZpZGVyIjoiUCZPIEZlcnJpZXMiLCJvcmRlcklkIjoxMjM0NzJ9fQ==",
|
||||
"partitionKey": "fd664f22-3f4d-4112-add8-609ad843030e",
|
||||
"approximateArrivalTimestamp": 1631538059455,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "fd664f22-3f4d-4112-add8-609ad843030e"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgzMzE0LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjEwYmVkYmQwLTZlYmQtNDg1Yi1hZGU1LTcyMTU0Y2EzMmRiYSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NywidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU3LCJvcmRlcklkIjoxMDAwNywicHJvZHVjdF9wcm92aWRlciI6IlAmTyBGZXJyaWVzIn19",
|
||||
"partitionKey": "10bedbd0-6ebd-485b-ade5-72154ca32dba",
|
||||
"approximateArrivalTimestamp": 1631538059457,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "10bedbd0-6ebd-485b-ade5-72154ca32dba"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc5NmQyLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjgzOTU1YWQ1LWQ1MDYtNDNkZC1hYjFmLTM5OTdjZmRiZmJiZSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MywidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUzLCJwcm9kdWN0X3Byb3ZpZGVyIjoiU3RlbmEgTGluZSIsIm9yZGVySWQiOjEyMzQ1OX19",
|
||||
"partitionKey": "83955ad5-d506-43dd-ab1f-3997cfdbfbbe",
|
||||
"approximateArrivalTimestamp": 1631538059453,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "83955ad5-d506-43dd-ab1f-3997cfdbfbbe"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgwYzA3LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjExYThhNzViLWZkMDQtNGM2YS1hNzAyLTg0YmRmYTRiNTdjMiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NiwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU2LCJvcmRlcklkIjoxMDAwMiwicHJvZHVjdF9wcm92aWRlciI6IlN0ZW5hIExpbmUifX0=",
|
||||
"partitionKey": "11a8a75b-fd04-4c6a-a702-84bdfa4b57c2",
|
||||
"approximateArrivalTimestamp": 1631538059456,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "11a8a75b-fd04-4c6a-a702-84bdfa4b57c2"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgzMzE2LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjdmYTJhOWYwLWJhZmUtNDYzYi04YTEwLThmZjUxMzQ5ODY2ZCIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NywidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU3LCJvcmRlcklkIjoxMDAwOSwicHJvZHVjdF9wcm92aWRlciI6IklyaXNoIEZlcnJpZXMifX0=",
|
||||
"partitionKey": "7fa2a9f0-bafe-463b-8a10-8ff51349866d",
|
||||
"approximateArrivalTimestamp": 1631538059457,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "7fa2a9f0-bafe-463b-8a10-8ff51349866d"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgwYzA2LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjZmMGQxODNhLWE2YTgtNDlmMy1iMjQ0LTAxZDdjN2VkZjk0ZiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NiwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU2LCJvcmRlcklkIjoxMDAwMSwicHJvZHVjdF9wcm92aWRlciI6IkRGRFMifX0=",
|
||||
"partitionKey": "6f0d183a-a6a8-49f3-b244-01d7c7edf94f",
|
||||
"approximateArrivalTimestamp": 1631538059456,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "6f0d183a-a6a8-49f3-b244-01d7c7edf94f"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc5NmQwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6Ijk2ZTRkMzM2LTQ2NjctNDRlYS1hOGU0LThlMjJiZTJhNjUyNSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MywidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUyLCJwcm9kdWN0X3Byb3ZpZGVyIjoiQmFsZWFyaWEiLCJvcmRlcklkIjoxMjM0NTd9fQ==",
|
||||
"partitionKey": "96e4d336-4667-44ea-a8e4-8e22be2a6525",
|
||||
"approximateArrivalTimestamp": 1631538059453,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "96e4d336-4667-44ea-a8e4-8e22be2a6525"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgzMzEwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6Ijc5MjdkYzdmLTI0NDMtNDIyZS1hYzBjLTg2ZWEyNWEwNzgwZiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NywidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU2LCJvcmRlcklkIjoxMDAwMywicHJvZHVjdF9wcm92aWRlciI6IkRGRFMifX0=",
|
||||
"partitionKey": "7927dc7f-2443-422e-ac0c-86ea25a0780f",
|
||||
"approximateArrivalTimestamp": 1631538059457,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "7927dc7f-2443-422e-ac0c-86ea25a0780f"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgzMzEyLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjhhNDUzYTNhLTQ2MGYtNGI4YS1hYjJmLTIxZGM1NDc1NGI2ZSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NywidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU3LCJvcmRlcklkIjoxMDAwNSwicHJvZHVjdF9wcm92aWRlciI6IkRGRFMifX0=",
|
||||
"partitionKey": "8a453a3a-460f-4b8a-ab2f-21dc54754b6e",
|
||||
"approximateArrivalTimestamp": 1631538059457,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "8a453a3a-460f-4b8a-ab2f-21dc54754b6e"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgwYzAzLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjgxYjJkNDUzLWVlMDctNDAyNS1hYTkwLWNhNjU4NGU4ODVhOSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NiwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU2LCJwcm9kdWN0X3Byb3ZpZGVyIjoiREZEUyIsIm9yZGVySWQiOjEyMzQ3OX19",
|
||||
"partitionKey": "81b2d453-ee07-4025-aa90-ca6584e885a9",
|
||||
"approximateArrivalTimestamp": 1631538059456,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "81b2d453-ee07-4025-aa90-ca6584e885a9"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzc5NmQ3LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjFlYmI2ZTY3LWMxZGYtNDIzMy05YTZhLTFjNGI3Mjc4ZDA0MSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1MywidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDUzLCJwcm9kdWN0X3Byb3ZpZGVyIjoiQmFsZWFyaWEiLCJvcmRlcklkIjoxMjM0NjR9fQ==",
|
||||
"partitionKey": "1ebb6e67-c1df-4233-9a6a-1c4b7278d041",
|
||||
"approximateArrivalTimestamp": 1631538059453,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "1ebb6e67-c1df-4233-9a6a-1c4b7278d041"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg1YTIxLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImY1YmE3ZDAwLTVlZmEtNGUwYy04ODI4LTZkOTM4YWE4OWIyMiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OCwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU4LCJvcmRlcklkIjoxMDAxMSwicHJvZHVjdF9wcm92aWRlciI6IlAmTyBGZXJyaWVzIn19",
|
||||
"partitionKey": "f5ba7d00-5efa-4e0c-8828-6d938aa89b22",
|
||||
"approximateArrivalTimestamp": 1631538059458,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "f5ba7d00-5efa-4e0c-8828-6d938aa89b22"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdlNGY0LTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjNkODkzNzNkLTFhZmYtNDY3NS04M2Q4LTNlY2YwMDI1Y2EzZiIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NSwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU1LCJwcm9kdWN0X3Byb3ZpZGVyIjoiREZEUyIsIm9yZGVySWQiOjEyMzQ3NH19",
|
||||
"partitionKey": "3d89373d-1aff-4675-83d8-3ecf0025ca3f",
|
||||
"approximateArrivalTimestamp": 1631538059455,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "3d89373d-1aff-4675-83d8-3ecf0025ca3f"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzdlNGYwLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImZlYzIzOWZlLTNlNTQtNDM3Yi1hNDYxLWVjZTVlNDEyMzgyOSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NSwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU0LCJwcm9kdWN0X3Byb3ZpZGVyIjoiSXJpc2ggRmVycmllcyIsIm9yZGVySWQiOjEyMzQ3MH19",
|
||||
"partitionKey": "fec239fe-3e54-437b-a461-ece5e4123829",
|
||||
"approximateArrivalTimestamp": 1631538059455,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "fec239fe-3e54-437b-a461-ece5e4123829"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0MzgwYzAyLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6ImRhZDNiODMwLTAyOWQtNGZlMy1iMDJkLTc1MDFjOTc4NzYwOCIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1NiwidHlwZSI6ImJvb2tpbmdfY29tcGxldGVkIiwiYm9va2luZ19jb21wbGV0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU2LCJwcm9kdWN0X3Byb3ZpZGVyIjoiQnJpdHRhbnkgRmVycmllcyIsIm9yZGVySWQiOjEyMzQ3OH19",
|
||||
"partitionKey": "dad3b830-029d-4fe3-b02d-7501c9787608",
|
||||
"approximateArrivalTimestamp": 1631538059456,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "dad3b830-029d-4fe3-b02d-7501c9787608"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
},
|
||||
{
|
||||
"kinesis": {
|
||||
"data": "eyJpZCI6ImE0Mzg4MTMyLTE0OTItMTFlYy1hMGIyLWM3OGZmYmQ2OTM0NyIsInBhcnRpdGlvbktleSI6IjJmY2U1M2YxLTFkYWYtNDI0Ny05MjQ1LTBhZDc4ZDBiMGQyZSIsInRpbWVzdGFtcCI6MTYzMTUzODA1OTQ1OSwidHlwZSI6ImJvb2tpbmdfcmVxdWVzdGVkIiwiYm9va2luZ19yZXF1ZXN0ZWQiOnsidGltZXN0YW1wIjoxNjMxNTM4MDU5NDU5LCJvcmRlcklkIjoxMDAxNywicHJvZHVjdF9wcm92aWRlciI6IlN0ZW5hIExpbmUifX0=",
|
||||
"partitionKey": "2fce53f1-1daf-4247-9245-0ad78d0b0d2e",
|
||||
"approximateArrivalTimestamp": 1631538059459,
|
||||
"kinesisSchemaVersion": "1.0",
|
||||
"sequenceNumber": "2fce53f1-1daf-4247-9245-0ad78d0b0d2e"
|
||||
},
|
||||
"eventSource": "aws:kinesis",
|
||||
"eventID": "shardId-000000000000:49545115243490985018280067714973144582180062593244200961",
|
||||
"invokeIdentityArn": "arn:aws:iam::EXAMPLE",
|
||||
"eventVersion": "1.0",
|
||||
"eventName": "aws:kinesis:record",
|
||||
"eventSourceARN": "arn:aws:kinesis:EXAMPLE",
|
||||
"awsRegion": "us-east-1"
|
||||
}
|
||||
]
|
||||
}
|
6
external-service/getResponse.js
Normal file
6
external-service/getResponse.js
Normal file
@ -0,0 +1,6 @@
|
||||
const getResponse = (res) => {
|
||||
res.writeHead(200);
|
||||
res.write('Server OK');
|
||||
res.end();
|
||||
};
|
||||
exports.getResponse = getResponse;
|
20
external-service/index.js
Normal file
20
external-service/index.js
Normal file
@ -0,0 +1,20 @@
|
||||
const http = require('http');
|
||||
const { getResponse } = require('./getResponse');
|
||||
const { postResponse } = require('./postResponse');
|
||||
const { unsupportedMethodResponse } = require('./unsupportedMethodResponse');
|
||||
const port = 3000;
|
||||
|
||||
http
|
||||
.createServer((req, res) => {
|
||||
switch (req.method) {
|
||||
case 'GET':
|
||||
return getResponse(res);
|
||||
case 'POST':
|
||||
return postResponse(req, res);
|
||||
default:
|
||||
return unsupportedMethodResponse(res);
|
||||
}
|
||||
})
|
||||
.listen(port);
|
||||
|
||||
console.log(`Server listening on http://localhost:${port}`);
|
40
external-service/postResponse.js
Normal file
40
external-service/postResponse.js
Normal file
@ -0,0 +1,40 @@
|
||||
const { validate } = require('jsonschema');
|
||||
const schema = require('./schema.json');
|
||||
|
||||
const clientError = (res, errors) => {
|
||||
res.writeHead(400);
|
||||
res.write(
|
||||
JSON.stringify({
|
||||
status: 'Failure',
|
||||
message: 'Invalid request body',
|
||||
errors,
|
||||
})
|
||||
);
|
||||
res.end();
|
||||
};
|
||||
|
||||
const postResponse = (req, res) => {
|
||||
const chunks = [];
|
||||
req.on('data', (data) => chunks.push(data));
|
||||
req.on('end', () => {
|
||||
const body = Buffer.concat(chunks).toString('utf-8');
|
||||
try {
|
||||
const json = JSON.parse(body);
|
||||
const validationResult = validate(json, schema);
|
||||
|
||||
if (validationResult.valid) {
|
||||
res.writeHead(200);
|
||||
res.write(JSON.stringify({ status: 'Success' }));
|
||||
res.end();
|
||||
return;
|
||||
}
|
||||
return clientError(
|
||||
res,
|
||||
validationResult.errors.map((e) => [e.path, e.message].join(' '))
|
||||
);
|
||||
} catch (error) {
|
||||
return clientError(res, [error.message]);
|
||||
}
|
||||
});
|
||||
};
|
||||
exports.postResponse = postResponse;
|
21
external-service/schema.json
Normal file
21
external-service/schema.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"product_order_id_buyer": {
|
||||
"type": "integer",
|
||||
"description": "A unique reference ID for the buyer's order"
|
||||
},
|
||||
"timestamp": {
|
||||
"type": "string",
|
||||
"description": "A timestamp describing when the event occurred, in ISO 8601 format",
|
||||
"examples": ["2021-09-13T15:58:32.437Z"]
|
||||
},
|
||||
"product_provider_buyer": {
|
||||
"type": "string",
|
||||
"description": "The seller providing the product",
|
||||
"examples": ["P&O Ferries"]
|
||||
}
|
||||
},
|
||||
"required": ["product_order_id_buyer", "timestamp", "product_provider_buyer"]
|
||||
}
|
5
external-service/unsupportedMethodResponse.js
Normal file
5
external-service/unsupportedMethodResponse.js
Normal file
@ -0,0 +1,5 @@
|
||||
const unsupportedMethodResponse = (res) => {
|
||||
res.writeHead(400);
|
||||
res.write('Unsupported method');
|
||||
};
|
||||
exports.unsupportedMethodResponse = unsupportedMethodResponse;
|
10947
package-lock.json
generated
Normal file
10947
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
33
package.json
Normal file
33
package.json
Normal file
@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "cloud-take-home-assignment",
|
||||
"version": "0.1.0",
|
||||
"scripts": {
|
||||
"build": "tsup",
|
||||
"start:server": "node external",
|
||||
"invoke": "node app",
|
||||
"test": "vitest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "10.17.27",
|
||||
"@typescript-eslint/eslint-plugin": "4.14.0",
|
||||
"@typescript-eslint/parser": "4.14.0",
|
||||
"@vitest/coverage-istanbul": "0.34.3",
|
||||
"eslint": "7.18.0",
|
||||
"eslint-config-prettier": "7.2.0",
|
||||
"eslint-plugin-prettier": "3.3.1",
|
||||
"eslint-plugin-unused-imports": "1.0.1",
|
||||
"prettier": "2.2.1",
|
||||
"source-map-support": "0.5.16",
|
||||
"ts-loader": "9.4.1",
|
||||
"ts-node": "10.9.1",
|
||||
"tsup": "6.7.0",
|
||||
"typescript": "4.8.4",
|
||||
"vitest": "0.34.3",
|
||||
"vitest-mock-extended": "1.1.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/aws-lambda": "^8.10.83",
|
||||
"jsonschema": "^1.4.0",
|
||||
"source-map-support": "^0.5.16"
|
||||
}
|
||||
}
|
3
src/index.js
Normal file
3
src/index.js
Normal file
@ -0,0 +1,3 @@
|
||||
module.exports.handler = (event) => {
|
||||
console.log(event);
|
||||
};
|
5
src/index.ts
Normal file
5
src/index.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import { KinesisStreamEvent } from 'aws-lambda';
|
||||
|
||||
export const handler = (event: KinesisStreamEvent) => {
|
||||
console.log(event);
|
||||
};
|
5
test/index.test.js
Normal file
5
test/index.test.js
Normal file
@ -0,0 +1,5 @@
|
||||
describe('myJSTest', () => {
|
||||
it('should pass', () => {
|
||||
expect(2).toBe(2);
|
||||
});
|
||||
});
|
5
test/index.test.ts
Normal file
5
test/index.test.ts
Normal file
@ -0,0 +1,5 @@
|
||||
describe('myTSTest', () => {
|
||||
it('should pass', () => {
|
||||
expect(1).toBe(1);
|
||||
});
|
||||
});
|
27
tsconfig.json
Normal file
27
tsconfig.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"module": "CommonJS",
|
||||
"moduleResolution": "node",
|
||||
"strict": true,
|
||||
"importHelpers": true,
|
||||
"experimentalDecorators": true,
|
||||
"skipLibCheck": true,
|
||||
"esModuleInterop": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"sourceMap": true,
|
||||
"baseUrl": ".",
|
||||
"resolveJsonModule": true,
|
||||
"outDir": "./dist",
|
||||
"types": ["vitest/globals", "node"]
|
||||
},
|
||||
"include": [
|
||||
"cdk",
|
||||
"src",
|
||||
"models",
|
||||
"test",
|
||||
"tsup.config.ts",
|
||||
"vitest.config.ts"
|
||||
]
|
||||
}
|
10
tsup.config.ts
Normal file
10
tsup.config.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import { defineConfig } from 'tsup';
|
||||
|
||||
export default defineConfig(() => ({
|
||||
format: ['cjs'],
|
||||
splitting: false,
|
||||
sourcemap: true,
|
||||
clean: true,
|
||||
external: [/@aws-sdk\/.*$/],
|
||||
entry: ['./src/index.ts'],
|
||||
}));
|
33
vitest.config.ts
Normal file
33
vitest.config.ts
Normal file
@ -0,0 +1,33 @@
|
||||
import { defineConfig } from 'vitest/config';
|
||||
import type { UserConfig } from 'vitest/config';
|
||||
import { resolve } from 'node:path';
|
||||
|
||||
export default defineConfig(
|
||||
(): UserConfig => ({
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': resolve(__dirname, './src/'),
|
||||
},
|
||||
},
|
||||
test: {
|
||||
globals: true,
|
||||
watch: false,
|
||||
include: ['test/**/*.test.ts', 'test/**/*.test.js'],
|
||||
clearMocks: true,
|
||||
setupFiles: [],
|
||||
coverage: {
|
||||
all: true,
|
||||
provider: 'istanbul',
|
||||
enabled: true,
|
||||
branches: 100,
|
||||
lines: 100,
|
||||
functions: 100,
|
||||
statements: 100,
|
||||
include: ['src/**/**', 'cdk/**/**'],
|
||||
exclude: ['src/index.ts', 'src/index.js', '**/__mocks__/**'],
|
||||
extension: ['.js', '.ts'],
|
||||
reporter: ['text'],
|
||||
},
|
||||
},
|
||||
})
|
||||
);
|
Loading…
Reference in New Issue
Block a user