Skip to content

Commit

Permalink
Update step 3 to use database
Browse files Browse the repository at this point in the history
  • Loading branch information
kutzilla committed Jun 17, 2024
1 parent e574d02 commit 7d87930
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 16 deletions.
2 changes: 1 addition & 1 deletion docs/_posts/2024-06-14-stufe-2-sqs-source.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Die Message-Lambda soll mit Nachrichten aus der SQS Queue, die Ihr bei der Einri
Hierfür bietet CDK mit Event Sources die Möglichkeit die Queue mit der Function zu verknüpfen.

Hinweise:
- Denkt immernoch daran Eure Ressourcen mit Eurem Team Namen vorne weg zu benennen.
- Denkt immernoch daran Eure Ressourcen mit Eurem Teamnamen zu benennen.
- Stellt die Queue bereit, falls Ihr das bei der Einrichtung versäumt habt.
- Überprüft, dass die Lambda-Function die SQS-Queue als Source darstellt.
- Stellt Nachrichten in die Eure Queue ein, um zu prüfen, ob die Lambda-Function aufgerufen wird.
Expand Down
27 changes: 12 additions & 15 deletions docs/_posts/2024-06-14-stufe-3-dynamo-db.markdown
Original file line number Diff line number Diff line change
@@ -1,25 +1,22 @@
---
layout: post
title: "Stufe 3: Message-App mit Dynamo-DB"
title: "Stufe 3: Message-Function mit Dynamo-DB"
date: 2024-06-14 10:24:28 +0200
permalink: /dynamo-db/
---

Deployed die TODO-APP aus Level-1 mit einer Postgres-DB zur persistenten Datenhaltung.
Deployed die Message-Function aus Level-1 mit einer Dynamo-DB zur persistenten Datenhaltung.

Hinweise:
- Es steht ein angepasstes Container-Image für Euch bereit!
- Ihr könnt das gleiche Image für die Function verwenden. Allerdings müsst ihr eine Umgebungsvariable und Policy hinzufügen, damit die Daten gespeichert werden.

- Deployed eine Postgres-DB mittels Google Cloud SQL
- Region: `europe-west3`,
- Tier: `db-f1-micro`.
- Setzt die `deletionProtection` für die Instanz auf `false`.
- Bindet die Datenbank an die TODO-App an.
- Nutzt das für GCP SQL vorkonfigurierte Image `europe-west3-docker.pkg.dev/viadee-pulumi-training/demo-app/quarkus-todo-app:1.0-CLOUDSQL`
- Setzt die Umgebungsvariablen:
- `QUARKUS_DATASOURCE_USERNAME`, `QUARKUS_DATASOURCE_PASSWORD`: (Werte aus der `gcp.sql.Users`-Ressource)
- `QUARKUS_DATASOURCE_JDBC_URL`: `jdbc:postgresql:///<Name der DB>`
- `QUARKUS_DATASOURCE_JDBC_ADDITIONAL_JDBC_PROPERTIES_CLOUDSQLINSTANCE`: (Wert von connectionName aus der `gcp.sql.DatabaseInstance`)
- Überprüft, dass TODO-Einträge in der DB persistiert werden.
- Deployed eine Dynamo-DB mittels CDK:
- Erzeugt einen Partition-Key mit dem Namen `id` vom Typ `String`.
- Erzeugt ein Table mit Eurem Teamnamen vorne weg.
- Setzt die `removalPolicy` für die Instanz auf `DESTROY`.
- Bindet die Datenbank an die Message-Function an.
- Setzt die Umgebungsvariable in `DYNAMODB_TABLE_NAME`: `<TABLE_NAME>`
- Fügt der Lambda-Function eine Policy mit der Action `dynamodb:PutItem` und dem Effect `ALLOW` auf die Table-Resource hinzu.
- Überprüft, dass Message-Einträge in der DB persistiert werden.

Achtung: Die Instanzierung des Postgres Services braucht etwas Zeit. Eine gute Gelegenheit, um sich zum Beispiel mit etwas zu trinken zu versorgen.
Achtung: Die Instanzierung der Table und des Partition-Keys braucht etwas Zeit. Eine gute Gelegenheit, um sich zum Beispiel mit etwas zu trinken zu versorgen.

0 comments on commit 7d87930

Please sign in to comment.