Obtains time-sensitive fixtures that are critical to operating with point-in-time Blizzard data
- Clone,
npm i
npm run local
to fire the lambda method locallynpm run test
to run through jest tests written- Deploys to lambda on commit push to
main
branch on github
- Blizzard API Developer Account and API Key+Secret
- AWS Account, Access to create Lambda Functions
- Github Account to deploy and use Github Actions
- Mongo database, write access connection string
- Pull time-volatile data for a given period and store them in the
ZPH_PeriodFixtures
collection when called
ZPH_PeriodFixtures
:
{
_id: 872,
rlmToCrlm: {
'1': 3694,
'2': 1168,
'3': 151
},
specMap: {
62: {
c: 8,
r: 3
},
63: {
c: 2,
r: 1
}
},
dungeonMap: {
166: [1800000, 1440000, 1080000],
169: [1900000, 1340000, 1030000]
}
}
Lambda Function Using:
- 128MB Memory (~100MB used) ~~- Billable Duration over snapshot: ~4260ms~~
-
Deploy to github to leverage GitHub Actions written in .github\workflows
-
Add projects secrets to github repo
AWS_ACCESS_KEY_ID
,DISCORD_NOTIFICATION_WEBHOOK
, andAWS_SECRET_ACCESS_KEY
-
Will need to have a named lambda function already created by the name in deploy yml.
lmda-fixture-scanner
here -
Pre-made lambda is going to need environment variables on board, also make local uncommitted .env with those same values. It'll make sure local runs work
Much of this will be in a Terraform file so it doesn't need to be done manually
-
Pre-made lambda timeout increased to like 15 seconds
See @dungeoneer-io/nodejs-utils for hints on how to configure environment variables in dotenv