durablefunctions-apiscraping-dotnet icon indicating copy to clipboard operation
durablefunctions-apiscraping-dotnet copied to clipboard

Build an Azure Durable Functions that will scrape GitHub for opened issues and store them on Azure Storage.


page_type: sample products:

  • azure
  • dotnet-core
  • azure-functions
  • azure-storage languages:
  • csharp extensions: ms.author: marouill ms.custom: nextgen name: "Retrieve opened issue count on GitHub with Azure Durable Functions (.NET)" urlFragment: retrieve-opened-issue-count-on-github-with-azure-durable-functions description: "Build an Azure Durable Functions that will scrape GitHub for opened issues and store them on Azure Storage."

Retrieve opened issue count on GitHub with Azure Durable Functions

Build

The project can be built with the latest version of the .NET CLI. Or directly within Visual Studio 2022 with the .NET 6 installed.

dotnet build

Running the Sample

Pre-requisite

Locally

Open the solution in Visual Studio 2022. Change the GitHubToken value in local.settings.json to match your GitHub Personal Access Token created previously in the pre-requisite.

Sample local.settings.json file

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsSecretStorageType": "files", // temporary fix required for Azure Storage Emulator 5.8.0.0 and Azure Functions latest SDK.
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "GitHubToken": "INSERT_TOKEN_HERE"
  }
}

On Azure

First, you will need to provision the service. Look into the provision.ps1 file provided and modify the name of the storage and Azure Web Site values to ensure that they are unique.

Then you can execute the file with the previously generated GitHub.

.\provision.ps1 -githubToken <TOKEN> -resourceGroup <ResourceGroupName> -storageName <StorageAccountName> -functionName <FunctionName>

Resources