From d7d8c4a984a4416e67080562ce92d92ffa15ff20 Mon Sep 17 00:00:00 2001 From: Abdul-Microsoft Date: Fri, 21 Nov 2025 18:16:28 +0530 Subject: [PATCH 1/5] Add Log Analytics workspace deletion guidance and update deployment guide --- docs/DeploymentGuide.md | 1 + docs/LogAnalyticsReplicationDisable.md | 28 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 docs/LogAnalyticsReplicationDisable.md diff --git a/docs/DeploymentGuide.md b/docs/DeploymentGuide.md index 5567213b..97ab5e3a 100644 --- a/docs/DeploymentGuide.md +++ b/docs/DeploymentGuide.md @@ -148,6 +148,7 @@ Once you've opened the project [locally](#local-environment), you can deploy it - If you encounter an error or timeout during deployment, changing the location may help, as there could be availability constraints for the resources. 6. If you are done trying out the application, you can delete the resources by running `azd down`. + > **Note:** If you deployed with `enableRedundancy=true` and Log Analytics workspace replication is enabled, you must first disable replication before running `azd down` else resource group delete will fail. Follow the steps in [Handling Log Analytics Workspace Deletion with Replication Enabled](./LogAnalyticsReplicationDisable.md), wait until replication returns `false`, then run `azd down`. ### Post Deployment Script: diff --git a/docs/LogAnalyticsReplicationDisable.md b/docs/LogAnalyticsReplicationDisable.md new file mode 100644 index 00000000..f4379a84 --- /dev/null +++ b/docs/LogAnalyticsReplicationDisable.md @@ -0,0 +1,28 @@ +# 🛠 Handling Log Analytics Workspace Deletion with Replication Enabled + +If redundancy (replication) is enabled for your Log Analytics workspace, you must disable it before deleting the workspace or resource group. Otherwise, deletion will fail. + +## ✅ Steps to Disable Replication Before Deletion +Run the following Azure CLI command. Note: This operation may take about 5 minutes to complete. + +```bash +az resource update --ids "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{logAnalyticsName}" --set properties.replication.enabled=false +``` + +Replace: +- `{subscriptionId}` → Your Azure subscription ID +- `{resourceGroupName}` → The name of your resource group +- `{logAnalyticsName}` → The name of your Log Analytics workspace + +Optional: Verify replication disabled (should output `false`): +```bash +az resource show --ids "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{logAnalyticsName}" --query properties.replication.enabled -o tsv +``` + +## ✅ After Disabling Replication +You can safely delete: +- The Log Analytics workspace (manual) +- The resource group (manual), or +- All provisioned resources via `azd down` + +Return to: [Deployment Guide](./DeploymentGuide.md) From 1950586cd20b6f86224d2e291669bbb6b9ad4cde Mon Sep 17 00:00:00 2001 From: Abdul-Microsoft Date: Mon, 24 Nov 2025 20:51:01 +0530 Subject: [PATCH 2/5] Remove unused mail exclusion from broken link checker arguments --- .github/workflows/broken-links-checker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/broken-links-checker.yml b/.github/workflows/broken-links-checker.yml index 83cef829..24286a51 100644 --- a/.github/workflows/broken-links-checker.yml +++ b/.github/workflows/broken-links-checker.yml @@ -37,7 +37,7 @@ jobs: uses: lycheeverse/lychee-action@v2.6.1 with: args: > - --verbose --exclude-mail --no-progress --exclude ^https?:// + --verbose --no-progress --exclude ^https?:// ${{ steps.changed-markdown-files.outputs.all_changed_files }} failIfEmpty: false env: @@ -50,7 +50,7 @@ jobs: uses: lycheeverse/lychee-action@v2.6.1 with: args: > - --verbose --exclude-mail --no-progress --exclude ^https?:// + --verbose --no-progress --exclude ^https?:// '**/*.md' failIfEmpty: false env: From 92c929996f7a26ce0f730d4f5eb97aab9f71af5e Mon Sep 17 00:00:00 2001 From: Atulku-Microsoft Date: Thu, 27 Nov 2025 16:46:02 +0530 Subject: [PATCH 3/5] Fix typos in README.md for clarity --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1063a7ad..826f60e9 100644 --- a/README.md +++ b/README.md @@ -104,8 +104,8 @@ _Note: This is not meant to outline all costs as selected SKUs, scaled use, cust | Product | Description | Cost | |---|---|---| -| [Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/) | Used for chat exerpeince/RAG in wen app, data processing workflow for extraction and summarization. | [Pricing](https://azure.microsoft.com/en-us/pricing/details/cognitive-services/openai-service/) | -| [Azure AI Search](https://learn.microsoft.com/en-us/azure/search/) | Processed and extracted document information is added to an Azure AI Search vecortized index. | [Pricing](https://learn.microsoft.com/en-us/azure/search/) | +| [Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/) | Used for chat experience/RAG in web app, data processing workflow for extraction and summarization. | [Pricing](https://azure.microsoft.com/en-us/pricing/details/cognitive-services/openai-service/) | +| [Azure AI Search](https://learn.microsoft.com/en-us/azure/search/) | Processed and extracted document information is added to an Azure AI Search vectorized index. | [Pricing](https://learn.microsoft.com/en-us/azure/search/) | | [Azure AI Document Intelligence](https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/)| Used during data processing workflow where documents have Optical Character Recognition (OCR) applied to extract data. | [Pricing](https://azure.microsoft.com/en-us/pricing/details/ai-document-intelligence/) | | [Azure Container Registry](https://learn.microsoft.com/en-us/azure/container-registry/)| Private registry where the Document Processor, AI Service, and Web App images are built, stored and managed. | [Pricing](https://azure.microsoft.com/pricing/details/container-registry/) | | [Azure Kubernetes Service (AKS)](https://learn.microsoft.com/azure/aks/)| The solution is deployed as a managed container app with with high availability, scalability, and region portability. | [Pricing](https://azure.microsoft.com/en-us/pricing/details/kubernetes-service/) | From 3a53a263821b5fea972577b497c77012aca7eea3 Mon Sep 17 00:00:00 2001 From: Atulku-Microsoft Date: Thu, 27 Nov 2025 16:47:22 +0530 Subject: [PATCH 4/5] Fix spelling error in DataProcessing.md Corrected the spelling of 'bulik' to 'bulk' in the documentation. --- docs/DataProcessing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DataProcessing.md b/docs/DataProcessing.md index a7252bff..4975e9dc 100644 --- a/docs/DataProcessing.md +++ b/docs/DataProcessing.md @@ -32,7 +32,7 @@ There are two methods to use your own data in this solution. It takes roughly 10 You can upload through the user interface files that you would like processed. These files are uploaded to blob storage, processed, and added to the Azure AI Search index. File uploads are limited to 500MB and restricted to the following file formats: Office Files, TXT, PDF, TIFF, JPG, PNG. 2. Bulk File Processing
-You can take buik file processing since the web app saves uploaded files here also. This would be the ideal to upload a large number of document or files that are large in size. +You can take bulk file processing since the web app saves uploaded files here also. This would be the ideal to upload a large number of document or files that are large in size. > **Document Upload Limit:**
Please ensure that the document you upload does not exceed a maximum size of 250 MB. From c0743ec2c05d5b4d8f559af30be3720c2b5bcf9a Mon Sep 17 00:00:00 2001 From: Atulku-Microsoft Date: Thu, 27 Nov 2025 17:41:03 +0530 Subject: [PATCH 5/5] Remove redundant exclude option in link checker --- .github/workflows/broken-links-checker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/broken-links-checker.yml b/.github/workflows/broken-links-checker.yml index 83cef829..61546eb6 100644 --- a/.github/workflows/broken-links-checker.yml +++ b/.github/workflows/broken-links-checker.yml @@ -37,7 +37,7 @@ jobs: uses: lycheeverse/lychee-action@v2.6.1 with: args: > - --verbose --exclude-mail --no-progress --exclude ^https?:// + --verbose --no-progress --exclude ^https?:// ${{ steps.changed-markdown-files.outputs.all_changed_files }} failIfEmpty: false env: @@ -50,8 +50,8 @@ jobs: uses: lycheeverse/lychee-action@v2.6.1 with: args: > - --verbose --exclude-mail --no-progress --exclude ^https?:// + --verbose --no-progress --exclude ^https?:// '**/*.md' failIfEmpty: false env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}