boyney123 / eventbridge-canon

Open source simple UI to Publish, Save and Share AWS EventBridge Events
https://eventbridge-canon.netlify.app/
MIT License
81 stars 3 forks source link

Error while populating event database #3

Open guyernest opened 2 years ago

guyernest commented 2 years ago

When running the command to populate the event database, I'm getting the following error:

npm run populate

> eventbridge-canon@0.1.0 populate
> babel-node scripts/populate.js

[1/2] - Fetching all schemas for event bus: inspection-flow...
(node:16385) UnhandledPromiseRejectionWarning: Error:
    at new ServiceException (/Users/xxxx/Development/event-bridge/eventbridge-canon/node_modules/@aws-sdk/smithy-client/dist-cjs/exceptions.js:6:9)
    at new SchemasServiceException (/Users/xxxx/Development/event-bridge/eventbridge-canon/node_modules/@aws-sdk/client-schemas/dist-cjs/models/SchemasServiceException.js:7:9)
    at deserializeAws_restJson1ListSchemasCommandError (/Users/xxxx/Development/event-bridge/eventbridge-canon/node_modules/@aws-sdk/client-schemas/dist-cjs/protocols/Aws_restJson1.js:2147:24)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at /Users/xxxx/Development/event-bridge/eventbridge-canon/node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24
    at /Users/xxxx/Development/event-bridge/eventbridge-canon/node_modules/@aws-sdk/middleware-signing/dist-cjs/middleware.js:11:20
    at StandardRetryStrategy.retry (/Users/xxxx/Development/event-bridge/eventbridge-canon/node_modules/@aws-sdk/middleware-retry/dist-cjs/StandardRetryStrategy.js:51:46)
    at /Users/xxxx/Development/event-bridge/eventbridge-canon/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:6:22
(Use `node --trace-warnings ...` to show where the warning was created)
(node:16385) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 18)
(node:16385) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I've tried to use the schema registries that I have in my account, which both are default in their naming: aws.events and discovered-schemas.

I've tried using the credentials in ~/.aws/credentials with the default profile set for it. Then I also tried to put the credential variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_SESSION_TOKEN) in the .env file specifically. The error is the same in all cases.

lorcanoeire commented 2 years ago

@guyernest I encountered this exact stack trace and problem using SCHEMA_REGISTRY_NAME=discovered-schemas on a newly created eventbus.

My problem?

I had forgotten to enable schema discovery for my new eventbus! Once enabled I ensured I fired events at the same eventbus to the point that at least one event schema was discovered.

HTH,

Lorcan

lorcanoeire commented 2 years ago

It's also probably worth mentioning that I opted not to specify any credentials in the .env file in favour of using an AWS profile (I just happen to be using aws-vault but I'm sure a basic profile would also work).

$ aws-vault exec my-profile-name -- npm run populate

My .env file:

EVENT_BUS_NAME=my-eventbus-name
SCHEMA_REGISTRY_NAME=discovered-schemas
REGION="us-east-1"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_SESSION_TOKEN=
guyernest commented 2 years ago

Thanks @lorcanoeire for your help. The issue was eventually related to the credentials method. I tried to use the SSO login option, which is working well for most cases of AWS CLI, and it didn't work in this case. Once I've updated the temporary credentials in the ~/.aws/credentials file it worked. Thanks again for this great tool and support.

boyney123 commented 2 years ago

Hey @guyernest @lorcanoeire

Sorry for the late response, this issue managed to go through the net!

Sounds like you managed to fix the issue 🙏, yeah I need to update the docs and method to focus on moving away from ENV variables, so I will make a note of that!

If you have any ideas, or feedback for canon feel free to share!

Hope you enjoy the tool

Cheers, Dave!