Skip to content

akv-demo/az-appservice-dotnet

Repository files navigation

Code overview

Program
  |
  +-- Routing (static Map extenstion)
  |
  +-- Providers (Azure dependent low-level providers, tested with xUnit)
  |     |
  |     +-- BlobProvider (A storage for uploaded and processed images)
  |     |
  |     +-- CosmosDBProvider (keep state of enqueued tasks)
  |     |
  |     +-- AzureServiceBusPublishProvider (API to send notification about state change)
  |     |
  |    +-- AzureServiceBusSubscribeProvider (API to listen for incoming notifications)
  |
  +-- Services (Platform independent high-level services)
        |
        +-- ProducerService (Used by Simple Web API to enqueue tasks)
        |
        +-- ProcessorService (Notified on new task and processes images)
        |
        +-- ... utility services used by the 2 above ...

API summary

GET /1/ping?workload=Workload

  • 200 returns "pong"
  • 422 returns "workload" is required

GET /1/images?name=Name&size=Size

  • 200 queued processing fake file with NullProcessor

POST /1/images

  • 200 queued processing uploaded jpg or png file with ImageProcessor
  • 422 returns "file" is required

Swagger:

Dotnet Core Web App

Repo:

URL:

github pipeline (this repo):

Development app configuration: local appsettings.json (not present in repo)

Demo app configuraion: Azure Portal Web App Configuration

Go Web App (docker)

Only /1/ping endpoint is implemented.

repo:

URL (DockerHub)

URL (Azure Container Registry)

Github pipeline (deploys dockers to DockerHub and Azure Container Registry)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages