From b4d935709ccfd355ccd051b891bd4437202a9ec1 Mon Sep 17 00:00:00 2001 From: Joaquin Lindkvist Date: Wed, 16 Oct 2024 08:55:52 +0200 Subject: [PATCH 1/3] Updated README so I can copy the commands easily --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e08400b..ae601e6 100644 --- a/README.md +++ b/README.md @@ -5,15 +5,15 @@ Note in Every command and URL being called there are fields that need to be repl Example replacements (make sure to replace the curly brackets as well: don't keep curly brackets) -`{studentName}` - example `ajdewilzin` - this can be your name, independent of your login details +`joaquin` - example `ajdewilzin` - this can be your name, independent of your login details -`{region}` - example `eu-north-1` +`eu-north-1` - example `eu-north-1` ### Steps 1. Create an SNS Topic: ```bash -aws sns create-topic --name {studentName}OrderCreatedTopic +aws sns create-topic --name joaquinOrderCreatedTopic ``` If successful, you will see in your terminal a JSON response that includes `"TopicArn": "...`. @@ -22,7 +22,7 @@ Replace `_topicArn` in your Controller code with the generated `TopicArn` value 2. Create an SQS Queue: ```bash -aws sqs create-queue --queue-name {studentName}OrderQueue +aws sqs create-queue --queue-name joaquinOrderQueue ``` If successful, you will see in your terminal a JSON response that includes `"QueueUrl": "some_aws_url`. @@ -31,7 +31,7 @@ Replace `_queueUrl` in your Controller code with the generated `QueueUrl` from t ```bash -aws sns subscribe --topic-arn arn:aws:sns:{region}:637423341661:{studentName}OrderCreatedTopic --protocol sqs --notification-endpoint arn:aws:sqs:{region}:637423341661:{studentName}OrderQueue +aws sns subscribe --topic-arn arn:aws:sns:eu-north-1:637423341661:joaquinOrderCreatedTopic --protocol sqs --notification-endpoint arn:aws:sqs:eu-north-1:637423341661:joaquinOrderQueue ``` You don't need to save the generated SubscriptionArn. @@ -39,7 +39,7 @@ You don't need to save the generated SubscriptionArn. 3. Create an EventBridge Event Bus: ```bash -aws events create-event-bus --name {StudentName}CustomEventBus --region {region} +aws events create-event-bus --name {StudentName}CustomEventBus --region eu-north-1 ``` 4. Create an EventBridge Rule: @@ -54,11 +54,11 @@ If your terminal complains about double quotes, you might need to remove the bac 5. Subscribe the SQS Queue to the SNS Topic ```bash -aws sqs get-queue-attributes --queue-url https://sqs.{region}.amazonaws.com/637423341661/{studentName}OrderQueue --attribute-name QueueArn --region {region} +aws sqs get-queue-attributes --queue-url https://sqs.eu-north-1.amazonaws.com/637423341661/joaquinOrderQueue --attribute-name QueueArn --region eu-north-1 ``` ```bash -aws sns subscribe --topic-arn arn:aws:sns:{region}:637423341661:{studentName}OrderCreatedTopic --protocol sqs --notification-endpoint arn:aws:sqs:{region}:637423341661:{studentName}OrderQueue --region {region} +aws sns subscribe --topic-arn arn:aws:sns:eu-north-1:637423341661:joaquinOrderCreatedTopic --protocol sqs --notification-endpoint arn:aws:sqs:eu-north-1:637423341661:joaquinOrderQueue --region eu-north-1 ``` 6. Grant SNS Permissions to SQS @@ -66,7 +66,7 @@ aws sns subscribe --topic-arn arn:aws:sns:{region}:637423341661:{studentName}Ord In Bash/Unix terminals you can run this command: ```bash -aws sqs set-queue-attributes --queue-url https://sqs.{region}.amazonaws.com/637423341661/{studentName}OrderQueue --attributes '{"Policy":"{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":\"SQS:SendMessage\",\"Resource\":\"arn:aws:sqs:{region}:637423341661:{studentName}OrderQueue\",\"Condition\":{\"ArnEquals\":{\"aws:SourceArn\":\"arn:aws:sns:{region}:637423341661:{studentName}OrderCreatedTopic\"}}}]}"}' --region {region} +aws sqs set-queue-attributes --queue-url https://sqs.eu-north-1.amazonaws.com/637423341661/joaquinOrderQueue --attributes '{"Policy":"{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":\"SQS:SendMessage\",\"Resource\":\"arn:aws:sqs:eu-north-1:637423341661:joaquinOrderQueue\",\"Condition\":{\"ArnEquals\":{\"aws:SourceArn\":\"arn:aws:sns:eu-north-1:637423341661:joaquinOrderCreatedTopic\"}}}]}"}' --region eu-north-1 ``` From 1725d2fd976bf68b3acd1837a19e0e0a21f540fb Mon Sep 17 00:00:00 2001 From: Joaquin Lindkvist Date: Wed, 16 Oct 2024 15:33:16 +0200 Subject: [PATCH 2/3] Core Completed! --- OrderDatabase(After Processed)-Joaquin.png | Bin 0 -> 4214 bytes ...rs Are Set to Processed False)-Joaquin.png | Bin 0 -> 4137 bytes OrderGet(Processes Orders)-Joaquin.png | Bin 0 -> 42292 bytes OrderPost-Joaquin.png | Bin 0 -> 38640 bytes OrderQueueAWS-Joaquin.png | Bin 0 -> 28724 bytes README.md | 4 +- .../OrderService/Context/OrderDbContext.cs | 12 ++++ .../Controllers/OrderController.cs | 46 ++++++++++++-- .../20241016114616_first.Designer.cs | 59 ++++++++++++++++++ .../Migrations/20241016114616_first.cs | 39 ++++++++++++ .../Migrations/OrderDbContextModelSnapshot.cs | 56 +++++++++++++++++ .../OrderService/OrderService.csproj | 8 +++ WorkshopBackend/OrderService/Program.cs | 6 ++ WorkshopBackend/OrderService/appsettings.json | 7 ++- WorkshopBackend/WorkshopBackend.sln | 1 + WorkshopBackend/set-queue-attributes.json | 4 ++ 16 files changed, 234 insertions(+), 8 deletions(-) create mode 100644 OrderDatabase(After Processed)-Joaquin.png create mode 100644 OrderDatabase(New Orders Are Set to Processed False)-Joaquin.png create mode 100644 OrderGet(Processes Orders)-Joaquin.png create mode 100644 OrderPost-Joaquin.png create mode 100644 OrderQueueAWS-Joaquin.png create mode 100644 WorkshopBackend/OrderService/Context/OrderDbContext.cs create mode 100644 WorkshopBackend/OrderService/Migrations/20241016114616_first.Designer.cs create mode 100644 WorkshopBackend/OrderService/Migrations/20241016114616_first.cs create mode 100644 WorkshopBackend/OrderService/Migrations/OrderDbContextModelSnapshot.cs create mode 100644 WorkshopBackend/set-queue-attributes.json diff --git a/OrderDatabase(After Processed)-Joaquin.png b/OrderDatabase(After Processed)-Joaquin.png new file mode 100644 index 0000000000000000000000000000000000000000..34f040c1e2375c1a5e68fdaa634b6008037175c7 GIT binary patch literal 4214 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 XJ*@DC(!4?Q;Ga$)k3aJc{rf)v4RSP- literal 0 HcmV?d00001 diff --git a/OrderPost-Joaquin.png b/OrderPost-Joaquin.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0dc7df6a91e4379629bd28a0b9ea541756e781 GIT binary patch literal 38640 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 options) : base(options) { } + + public DbSet Orders { get; set; } + } +} diff --git a/WorkshopBackend/OrderService/Controllers/OrderController.cs b/WorkshopBackend/OrderService/Controllers/OrderController.cs index e49adda..8f9367e 100644 --- a/WorkshopBackend/OrderService/Controllers/OrderController.cs +++ b/WorkshopBackend/OrderService/Controllers/OrderController.cs @@ -7,6 +7,8 @@ using Amazon.EventBridge.Model; using System.Text.Json; using InventoryService.Models; +using OrderService.Context; +using Microsoft.EntityFrameworkCore; [ApiController] [Route("[controller]")] @@ -15,15 +17,17 @@ public class OrderController : ControllerBase private readonly IAmazonSQS _sqs; private readonly IAmazonSimpleNotificationService _sns; private readonly IAmazonEventBridge _eventBridge; - private readonly string _queueUrl = ""; // Format of https://.* - private readonly string _topicArn = ""; // Format of arn:aws.* + private OrderDbContext _db; + private readonly string _queueUrl = "https://sqs.eu-north-1.amazonaws.com/637423341661/joaquinOrderQueue"; // Format of https://.* + private readonly string _topicArn = "arn:aws:sns:eu-north-1:637423341661:joaquinOrderCreatedTopic"; // Format of arn:aws.* - public OrderController() + public OrderController(OrderDbContext db) { // Instantiate clients with default configuration _sqs = new AmazonSQSClient(); _sns = new AmazonSimpleNotificationServiceClient(); _eventBridge = new AmazonEventBridgeClient(); + _db = db; } [HttpGet] @@ -40,12 +44,40 @@ public async Task GetOrdersAndProcess() WaitTimeSeconds = 20 }; + var options = new JsonSerializerOptions + { + PropertyNameCaseInsensitive = true + }; + var response = await _sqs.ReceiveMessageAsync(request); foreach (var message in response.Messages) { - var order = JsonSerializer.Deserialize(message.Body); + // Define the order variable + Order? order = null; + //The message we want is nested in the queue request. + using(JsonDocument document = JsonDocument.Parse(message.Body)) + { + string innerMessage = document.RootElement.GetProperty("Message").GetString(); + + //Desereialize the inner message + order = JsonSerializer.Deserialize(innerMessage); + } + // Process order (e.g., update inventory) + if(order != null) + { + var existingOrder = await _db.Orders.FindAsync(order.OrderId); + if (existingOrder != null) + { + //Calculate the total and change processed flag to true + existingOrder.Total = existingOrder.Quantity * existingOrder.Amount; + existingOrder.Processed = true; + // Update the order on RDS + _db.Entry(existingOrder).State = EntityState.Modified; + await _db.SaveChangesAsync(); + } + } // Delete message after processing await _sqs.DeleteMessageAsync(_queueUrl, message.ReceiptHandle); @@ -60,6 +92,12 @@ public async Task CreateOrder([FromBody] Order order) * AmazonSimpleNotificationServiceClient * */ + // Save order to RDS + order.Processed = false; //Set processed to false, as we are just adding it to the database + await _db.Orders.AddAsync(order); + await _db.SaveChangesAsync(); + + // Publish to SNS var message = JsonSerializer.Serialize(order); var publishRequest = new PublishRequest diff --git a/WorkshopBackend/OrderService/Migrations/20241016114616_first.Designer.cs b/WorkshopBackend/OrderService/Migrations/20241016114616_first.Designer.cs new file mode 100644 index 0000000..2a732de --- /dev/null +++ b/WorkshopBackend/OrderService/Migrations/20241016114616_first.Designer.cs @@ -0,0 +1,59 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using OrderService.Context; + +#nullable disable + +namespace OrderService.Migrations +{ + [DbContext(typeof(OrderDbContext))] + [Migration("20241016114616_first")] + partial class first + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("InventoryService.Models.Order", b => + { + b.Property("OrderId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("OrderId")); + + b.Property("Amount") + .HasColumnType("integer"); + + b.Property("Processed") + .HasColumnType("boolean"); + + b.Property("Product") + .IsRequired() + .HasColumnType("text"); + + b.Property("Quantity") + .HasColumnType("integer"); + + b.Property("Total") + .HasColumnType("integer"); + + b.HasKey("OrderId"); + + b.ToTable("Orders"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WorkshopBackend/OrderService/Migrations/20241016114616_first.cs b/WorkshopBackend/OrderService/Migrations/20241016114616_first.cs new file mode 100644 index 0000000..0987b55 --- /dev/null +++ b/WorkshopBackend/OrderService/Migrations/20241016114616_first.cs @@ -0,0 +1,39 @@ +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace OrderService.Migrations +{ + /// + public partial class first : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Orders", + columns: table => new + { + OrderId = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Product = table.Column(type: "text", nullable: false), + Quantity = table.Column(type: "integer", nullable: false), + Amount = table.Column(type: "integer", nullable: false), + Processed = table.Column(type: "boolean", nullable: true), + Total = table.Column(type: "integer", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Orders", x => x.OrderId); + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Orders"); + } + } +} diff --git a/WorkshopBackend/OrderService/Migrations/OrderDbContextModelSnapshot.cs b/WorkshopBackend/OrderService/Migrations/OrderDbContextModelSnapshot.cs new file mode 100644 index 0000000..b4cb7c1 --- /dev/null +++ b/WorkshopBackend/OrderService/Migrations/OrderDbContextModelSnapshot.cs @@ -0,0 +1,56 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using OrderService.Context; + +#nullable disable + +namespace OrderService.Migrations +{ + [DbContext(typeof(OrderDbContext))] + partial class OrderDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("InventoryService.Models.Order", b => + { + b.Property("OrderId") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("OrderId")); + + b.Property("Amount") + .HasColumnType("integer"); + + b.Property("Processed") + .HasColumnType("boolean"); + + b.Property("Product") + .IsRequired() + .HasColumnType("text"); + + b.Property("Quantity") + .HasColumnType("integer"); + + b.Property("Total") + .HasColumnType("integer"); + + b.HasKey("OrderId"); + + b.ToTable("Orders"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WorkshopBackend/OrderService/OrderService.csproj b/WorkshopBackend/OrderService/OrderService.csproj index 385ff06..7e99840 100644 --- a/WorkshopBackend/OrderService/OrderService.csproj +++ b/WorkshopBackend/OrderService/OrderService.csproj @@ -12,6 +12,14 @@ + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + diff --git a/WorkshopBackend/OrderService/Program.cs b/WorkshopBackend/OrderService/Program.cs index 10621e8..b3da91c 100644 --- a/WorkshopBackend/OrderService/Program.cs +++ b/WorkshopBackend/OrderService/Program.cs @@ -1,4 +1,6 @@ +using Microsoft.EntityFrameworkCore; using Microsoft.OpenApi.Models; +using OrderService.Context; var builder = WebApplication.CreateBuilder(args); @@ -24,6 +26,10 @@ .AllowAnyHeader() )); +// Add DbContext +var connectionString = builder.Configuration.GetConnectionString("DefaultConnection"); +builder.Services.AddDbContext(options => options.UseNpgsql(connectionString)); + var app = builder.Build(); app.UseCors("CorsPolicy"); diff --git a/WorkshopBackend/OrderService/appsettings.json b/WorkshopBackend/OrderService/appsettings.json index 1c233fe..d7610a1 100644 --- a/WorkshopBackend/OrderService/appsettings.json +++ b/WorkshopBackend/OrderService/appsettings.json @@ -1,7 +1,7 @@ { "AWS": { "Profile": "default", - "Region": "us-west-2" + "Region": "eu-north-1" }, "Logging": { "LogLevel": { @@ -9,5 +9,8 @@ "Microsoft.AspNetCore": "Warning" } }, - "AllowedHosts": "*" + "AllowedHosts": "*", + "ConnectionStrings": { + "DefaultConnection": "Host=joaquin-database.cr4y6a6oo1h9.eu-north-1.rds.amazonaws.com;Port=5432;Database=joaquin-database;User Id=postgres;Password=.u-hy8bLNXnhWRN" + } } diff --git a/WorkshopBackend/WorkshopBackend.sln b/WorkshopBackend/WorkshopBackend.sln index 005d47c..6d34686 100644 --- a/WorkshopBackend/WorkshopBackend.sln +++ b/WorkshopBackend/WorkshopBackend.sln @@ -8,6 +8,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E49EF9F2-F493-4887-B8CF-FCF54A7C151D}" ProjectSection(SolutionItems) = preProject ..\README.md = ..\README.md + set-queue-attributes.json = set-queue-attributes.json EndProjectSection EndProject Global diff --git a/WorkshopBackend/set-queue-attributes.json b/WorkshopBackend/set-queue-attributes.json new file mode 100644 index 0000000..6918a20 --- /dev/null +++ b/WorkshopBackend/set-queue-attributes.json @@ -0,0 +1,4 @@ +{ + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":\"SQS:SendMessage\",\"Resource\":\"arn:aws:sqs:eu-north-1:637423341661:joaquinOrderQueue\",\"Condition\":{\"ArnEquals\":{\"aws:SourceArn\":\"arn:aws:sns:eu-north-1:637423341661:joaquinOrderCreatedTopic\"}}}]}" +} + From 8e2b41f161319971f254ecf313279eb380f74032 Mon Sep 17 00:00:00 2001 From: Joaquin Lindkvist Date: Wed, 16 Oct 2024 15:54:28 +0200 Subject: [PATCH 3/3] Remove appsettings.json and add to .gitignore --- WorkshopBackend/OrderService/.gitignore | 1 + WorkshopBackend/OrderService/appsettings.json | 16 ---------------- 2 files changed, 1 insertion(+), 16 deletions(-) create mode 100644 WorkshopBackend/OrderService/.gitignore delete mode 100644 WorkshopBackend/OrderService/appsettings.json diff --git a/WorkshopBackend/OrderService/.gitignore b/WorkshopBackend/OrderService/.gitignore new file mode 100644 index 0000000..16bf3ad --- /dev/null +++ b/WorkshopBackend/OrderService/.gitignore @@ -0,0 +1 @@ +appsettings.json diff --git a/WorkshopBackend/OrderService/appsettings.json b/WorkshopBackend/OrderService/appsettings.json deleted file mode 100644 index d7610a1..0000000 --- a/WorkshopBackend/OrderService/appsettings.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "AWS": { - "Profile": "default", - "Region": "eu-north-1" - }, - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*", - "ConnectionStrings": { - "DefaultConnection": "Host=joaquin-database.cr4y6a6oo1h9.eu-north-1.rds.amazonaws.com;Port=5432;Database=joaquin-database;User Id=postgres;Password=.u-hy8bLNXnhWRN" - } -}