---
# System prepended metadata

title: SDE Workshop Notes

---


# 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

