# Hack URL: https://hackmd.io/@sebk/BJDFLn81T
# Workshop join URL:
https://catalog.us-east-1.prod.workshops.aws/join?access-code=97e6-07c70d-a2
## Reference architectures
py: https://github.com/aws-samples/aws-serverless-developer-experience-workshop-python
ts: https://github.com/aws-samples/aws-serverless-developer-experience-workshop-typescript
java: https://github.com/aws-samples/aws-serverless-developer-experience-workshop-java
cs: https://github.com/aws-samples/aws-serverless-developer-experience-workshop-dotnet
## Workshop Instructions Public Link
https://catalog.workshops.aws/serverless-developer-experience/en-US
## Workshop Setup notes
<!-- Power tuning payload:
```
{
"lambdaARN": "Lambda ARN goes here",
"powerValues": [128, 256, 512, 1024, 2048, 3008],
"num": 10,
"payload": {"Records": [{"messageId": "130cc6ad-5918-4a09-9c6a-6a16220a0b0b", "receiptHandle": "AQEB4N/ur3EP56UDurARbxs6XeYOAlBc0y0GzfQeeKTo8xOecNDARJA0KclgiX6elHLBe5abbttn0GxkfkhXmyWYtBC4XXtdrvvzr8d3EV+b/hDC725/dhxRopZ8SqBCX5vCQBKWx3d7LlCQAOFnFbgQHD2VlEHIh1m1k3GmLRuLeg+FBCNTziNd7GJFJCCiM4Q2jpZLtBv1yK1d4sib5cRuxPoh78SU6luK3a6dWvKWwTqW9irP0RJsLY1Y++4HIieuHJFgpq3EOfg8Elre9cmQHgZz42/EPsnzhv+jTdrDFeyVSxpjt9RV7YKhFkD1uNusSHrf5tDsiCTqPVb+VFYZHx093G1p+oKYwsgW9t8nL2EW0ecrWJgAJVee/fCJR/Li1w366ev2Mqee9z525zxu/uXRVoXoQkNUUq0xN7yrq3o=", "body": "{\"address\": {\"country\": \"USA\",\"city\": \"Anytown\",\"street\": \"Main Street\",\"number\": 111},\"seller_name\": \"John Doe\",\"property_id\": \"usa/anytown/main-street/111\"}", "attributes": {"ApproximateReceiveCount": "1", "AWSTraceHeader": "Root=1-650bc7c7-43a33b4353d695793f5fe24f", "SentTimestamp": "1695270855826", "SenderId": "AROAU43F6ZJLVXPO2ILNN:BackplaneAssumeRoleSession", "ApproximateFirstReceiveTimestamp": "1695270855834"}, "messageAttributes": {"HttpMethod": {"stringValue": "POST", "stringListValues": [], "binaryListValues": [], "dataType": "String"}}, "md5OfMessageAttributes": "b51fb21666798a04bb45833ff6dc08ad", "md5OfBody": "b886edd2bff032c4d10fed7606d17e8f", "eventSource": "aws:sqs", "eventSourceARN": "arn:aws:sqs:ap-southeast-2:336831892055:UnicornContractsIngestQueue-local", "awsRegion": "ap-southeast-2"}]},
"parallelInvocation": true,
"balancedWeight": 0.3,
"strategy": "balanced"
}
``` -->
---
# Issues and backlog
If you cannot see what you are typing in the terminal, open a new terminal
## Comments
<!--
[Creating the schema registry](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/unicorn-contracts/schema#creating-the-schema-registry) - change `unicorn_contracts/infrastructure` -> ` unicorn_contracts/integration`
[EventBridge schema discovery](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/unicorn-contracts/schema#eventbridge-schema-discovery) - dead image between step 3 & 4 under text `Delete discoverer button.`
[Updating the configuration files](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/unicorn-contracts/pipeline#updating-the-configuration-files) - updating runtime section (python is already on 3.11)
[Build Commands](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/unicorn-contracts/pipeline#build-commands) - npm instructions bled into python tab
Sam config file needs more permissions for both account stacks:
~~~yaml
[1.deploy]
[1.deploy.parameters]
template = "packaged-testing.yaml"
fail_on_empty_changeset = false
capabilities = "CAPABILITY_IAM CAPABILITY_AUTO_EXPAND" # CAPABILITY_AUTO_EXPAND is required
parameter_overrides = "Stage=dev"
# ############################################## #
...
[2.deploy]
[2.deploy.parameters]
template = "packaged-prod.yaml"
fail_on_empty_changeset = false
capabilities = "CAPABILITY_IAM CAPABILITY_AUTO_EXPAND" # CAPABILITY_AUTO_EXPAND is required
parameter_overrides = "Stage=prod"
~~~ -->
## Fixes
---
# Resources
https://serverlessland.com/
A Serverless Journey: AWS Lambda Under the Hood
https://www.youtube.com/watch?v=QdzV04T_kec
### EventBridge topologies and resource policies
https://github.com/aws-samples/amazon-eventbridge-resource-policy-samples
https://www.youtube.com/watch?v=Wk0FoXTUEjo
https://www.youtube.com/watch?v=W3Rh70jG-LM&t=2314s
### Powertools
https://github.com/aws-powertools
https://github.com/aws-powertools/powertools-lambda-python/discussions/1684
## Books
https://www.dynamodbbook.com/
## VS Code Plugins worth a look
https://marketplace.visualstudio.com/items?itemName=kddejong.vscode-cfn-lint
https://marketplace.visualstudio.com/items?itemName=aws-scripting-guy.cform
https://marketplace.visualstudio.com/items?itemName=ThreadHeap.serverless-ide-vscode
https://marketplace.visualstudio.com/items?itemName=ljacobsson.stepfunctions-sdk-autocomplete