|
1 | 1 | ---
|
2 | 2 | layout: post
|
3 |
| -title: "Stufe 3: Message-App mit Dynamo-DB" |
| 3 | +title: "Stufe 3: Message-Function mit Dynamo-DB" |
4 | 4 | date: 2024-06-14 10:24:28 +0200
|
5 | 5 | permalink: /dynamo-db/
|
6 | 6 | ---
|
7 | 7 |
|
8 |
| -Deployed die TODO-APP aus Level-1 mit einer Postgres-DB zur persistenten Datenhaltung. |
| 8 | +Deployed die Message-Function aus Level-1 mit einer Dynamo-DB zur persistenten Datenhaltung. |
9 | 9 |
|
10 | 10 | Hinweise:
|
11 |
| -- Es steht ein angepasstes Container-Image für Euch bereit! |
| 11 | +- 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. |
12 | 12 |
|
13 |
| -- Deployed eine Postgres-DB mittels Google Cloud SQL |
14 |
| - - Region: `europe-west3`, |
15 |
| - - Tier: `db-f1-micro`. |
16 |
| - - Setzt die `deletionProtection` für die Instanz auf `false`. |
17 |
| -- Bindet die Datenbank an die TODO-App an. |
18 |
| - - Nutzt das für GCP SQL vorkonfigurierte Image `europe-west3-docker.pkg.dev/viadee-pulumi-training/demo-app/quarkus-todo-app:1.0-CLOUDSQL` |
19 |
| - - Setzt die Umgebungsvariablen: |
20 |
| - - `QUARKUS_DATASOURCE_USERNAME`, `QUARKUS_DATASOURCE_PASSWORD`: (Werte aus der `gcp.sql.Users`-Ressource) |
21 |
| - - `QUARKUS_DATASOURCE_JDBC_URL`: `jdbc:postgresql:///<Name der DB>` |
22 |
| - - `QUARKUS_DATASOURCE_JDBC_ADDITIONAL_JDBC_PROPERTIES_CLOUDSQLINSTANCE`: (Wert von connectionName aus der `gcp.sql.DatabaseInstance`) |
23 |
| -- Überprüft, dass TODO-Einträge in der DB persistiert werden. |
| 13 | +- Deployed eine Dynamo-DB mittels CDK: |
| 14 | + - Erzeugt einen Partition-Key mit dem Namen `id` vom Typ `String`. |
| 15 | + - Erzeugt ein Table mit Eurem Teamnamen vorne weg. |
| 16 | + - Setzt die `removalPolicy` für die Instanz auf `DESTROY`. |
| 17 | +- Bindet die Datenbank an die Message-Function an. |
| 18 | + - Setzt die Umgebungsvariable in `DYNAMODB_TABLE_NAME`: `<TABLE_NAME>` |
| 19 | + - Fügt der Lambda-Function eine Policy mit der Action `dynamodb:PutItem` und dem Effect `ALLOW` auf die Table-Resource hinzu. |
| 20 | +- Überprüft, dass Message-Einträge in der DB persistiert werden. |
24 | 21 |
|
25 |
| -Achtung: Die Instanzierung des Postgres Services braucht etwas Zeit. Eine gute Gelegenheit, um sich zum Beispiel mit etwas zu trinken zu versorgen. |
| 22 | +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 commit comments