- Notifications
You must be signed in to change notification settings - Fork0
sv3ndk/weather_api_demo_go
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
REST integration:
- aREST API exposed via the API Gateway allows to query weather events.
- aCLI client app queries this REST endpoint
- API keys are configured to limit traffic (usage/quotas)
- authentication is based on mutual TLS
websocket integration:
- a websocket endpoint is exposed on the API Gateway
- theon-connect lambda keeps track of the currently connected websocket clients
- thews-push lambda is notified when events are added to DynamoDB and forwards them to all currently connected websocket clients
- aCLI websocket client streams weather events from the websocket endpoint and prints them
both the REST and websocket endpoints are exposed on a custom DNS domain
adata generator lambda, triggered every minute, adds random weather events to DynamoDB
- handle SIGINT correcty in ws socket client
- add Webocket security: API key? Or first request a temp token through REST, then pass it in the
connect
ws phase - add OpenAPI spec to REST endpoint
AWS GO SDK v2https://aws.github.io/aws-sdk-go-v2/docs/making-requests/
Go lambda handlerhttps://docs.aws.amazon.com/lambda/latest/dg/golang-handler.html
Lambda events for each kind of integrationhttps://github.com/aws/aws-lambda-go/tree/main/events
API client, operations, and parameter types for Amazon DynamoDBhttps://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/dynamodb#Client
Types and functions to create Amazon DynamoDB Expression strings, ExpressionAttributeNames maps, and ExpressionAttributeValues mapshttps://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression#hdr-Using_the_Package
Marshal slices, maps, structs, and scalar values to and from the AttributeValue typehttps://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue
AWS GO SDK exampleshttps://github.com/awsdocs/aws-doc-sdk-examples/tree/main/go
API Gateways usage plans and API keyshttps://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html
Blog on mutual TLS using the API Gatewayhttps://aws.amazon.com/blogs/compute/introducing-mutual-tls-authentication-for-amazon-api-gateway/
About
Basic implementation of an AWS SAM service in Go producing weather events
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.