Lesson 6.7: Surface TableStorageReadRepository to Game Services

Our Table repository is complete and tested, so now we need to surface this new repository to our game services. We will continue to follow the pattern we used throughout this chapter: create typed repository builders and add mapping data to the RepositoryFactory to get these new instances. However, because we are starting to get … Continue reading Lesson 6.7: Surface TableStorageReadRepository to Game Services

Lesson 6.6: Create Table Storage Repository

Now that we have our game data in Azure Table Storage, we need a mechanism for loading that data into our services. To support this, we will implement a new instance IReadableRepository that encapsulates all of the logic for fetching data from Table Storage. The TableStorageReadRepository will follow the pattern that we developed for InMemoryReadRepository … Continue reading Lesson 6.6: Create Table Storage Repository

Lesson 6.4: Refactor Services to Consume Multiple Repositories

In the previous lesson, we created a new BlobStorageReadRepository and exposed various typed instances of it through our RepositoryFactory. Today, we are going to update our FunctionServiceHelper to switch between target repositories based on a query string parameter. This will allow us to easily test our game services using different back end Azure storage solutions. … Continue reading Lesson 6.4: Refactor Services to Consume Multiple Repositories

Lesson 6.3: Create Blob Storage Repository

In Chapter 5, we created a repository interface (IReadableRepository) and repository implementation (InMemoryReadRepository) that loaded data from embedded resource files. We designed our system with these abstractions because we want to try out several Azure storage technologies, and the repository interface gives our service code a measure of isolation from the data implementation technologies. As … Continue reading Lesson 6.3: Create Blob Storage Repository

Lesson 6.2: Create Blob Storage Container

Azure Blob Storage is an option for saving raw files in containers that can be retrieved and read in our services. We can use a storage account and container to hold our data files. They can be updated by tools, uploaded by the operations team, or edited in Azure directly. Then, the data becomes available … Continue reading Lesson 6.2: Create Blob Storage Container

Lesson 6.1: Introduction to Azure Storage Options

In this chapter, we will investigate various Azure Storage options for our game services. In the previous chapter, our service just read data from resource files. That isn't very useful for most services, but it allowed us to focus on understanding Azure Functions without getting into storage complexities. However, Azure provides many storage capabilities. All … Continue reading Lesson 6.1: Introduction to Azure Storage Options

Lesson 5.3: Create Continuous Delivery Pipeline for Blazor app

Now that we have our game building automatically in Azure Pipelines and an Azure Storage account configured to host our application, we need to build an automated pipeline to deploy new builds to the desired storage account. We will do this by using the Releases pipeline in Azure DevOps. Similar to Continuous Integration (which we … Continue reading Lesson 5.3: Create Continuous Delivery Pipeline for Blazor app

Lesson 5.2: Setting up Azure Storage Account for Static Website

Since our game is already a Blazor WebAssembly, we will easily be able to deploy it to multiple cloud hosting platforms. Any service that provides for a static website will also be able to host our game. In this series, we're going to be working with Azure for our web service development, so it makes … Continue reading Lesson 5.2: Setting up Azure Storage Account for Static Website