This is an old revision of the document!
✅ 1. Azure Resources Checklist
| Resource Type | Name (per your setup) | Notes |
| Function App | dehamerfuncapp | Your C# Azure Function app |
| Storage Account | Linked to Function App | Required for deployment—should auto-create if –functions-version specified |
| Azure Cognitive Services (Text Analytics) | dehamersentimentai | For sentiment classification |
| Azure OpenAI | don-openai-useast | For GPT-4.1-based reply generation |
Install These
brew install dotnet-sdk #This will be version 9 which will not work but gives you the rest of the stuff needed. brew install azure-cli
Assuming you already have created a Resource Group named don-test-rg, an OpenAI deployment named and deployed a gpt model named gpt-4.1.
Install this from the webpage and follow directions. dotnet 8.x
Then these
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenApi --version 1.4.0 dotnet --list-sdks dotnet add package Azure.AI.TextAnalytics --version 5.3.0 dotnet add package Azure.AI.OpenAI --version 2.0.0
Create Storage Account
az storage account create \ --name dehamerfuncstorage \ --location eastus \ --resource-group don-test-rg \ --sku Standard_LRS
Create Function Plan for Windows
az functionapp plan create \ --resource-group don-test-rg \ --name donfuncplan \ --location eastus \ --sku B1 \ --is-linux false
Create Function App
az functionapp create \ --resource-group don-test-rg \ --name dehamerfuncapp \ --plan donfuncplan \ --storage-account dehamerfunctstorage \ --runtime dotnet-isolated \ --functions-version 4 \ --os-type Windows
Create TexAnalytics
az cognitiveservices account create \ --name dehamersentimentai \ --resource-group don-test-rg \ --location eastus \ --kind TextAnalytics \ --sku S \ --custom-domain dehamersentimentai az cognitiveservices account update \ --name donsentimentai \ --resource-group don-test-rg \ --set properties.publicNetworkAccess=Enabled
Get keys and endpoint for export and app settings
export TEXT_ANALYTICS_ENDPOINT=`az cognitiveservices account show \ --name dehamersentimentai \ --resource-group don-test-rg \ --query "properties.endpoint"|sed -e s:\"::g` export TEXT_ANALYTICS_KEY=`az cognitiveservices account keys list \ --name dehamersentimentai \ --resource-group don-test-rg \ --query "key1" -o tsv` az functionapp config appsettings set \ --name dehamerfuncapp \ --resource-group don-test-rg \ --settings \ TEXT_ANALYTICS_ENDPOINT=$TEXT_ANALYTICS_ENDPOINT \ TEXT_ANALYTICS_KEY=$TEXT_ANALYTICS_KEY export OPENAI_KEY=`az cognitiveservices account keys list \ --name don-openai-useast \ --resource-group don-test-rg \ --query "key1" -o tsv` export OPENAI_ENDPOINT=https://don-openai-useast.openai.azure.com/ az functionapp config appsettings set \ --name donfuncapp \ --resource-group don-test-rg \ --settings \ OPENAI_KEY=$OPENAI_KEY \ OPENAI_ENDPOINT=$OPENAI_ENDPOINT #Confirm they were set az functionapp config appsettings list \ --name dehamerfuncapp \ --resource-group don-test-rg \ --query "[?starts_with(name, 'TEXT_') || starts_with(name, 'OPENAI_')]" -o table