From 058893e2d84f317f46b49322e363fd7e81a3a909 Mon Sep 17 00:00:00 2001 From: Priyanka-Microsoft Date: Thu, 12 Mar 2026 11:25:40 +0530 Subject: [PATCH 01/14] resolved codeQL issue --- infra/scripts/fabric/fabric_activator_definition.py | 1 - infra/scripts/fabric/fabric_common_utils.py | 1 - infra/scripts/fabric/fabric_database.py | 4 +--- infra/scripts/fabric/fabric_eventhouse.py | 2 +- infra/scripts/fabric/fabric_eventhub.py | 1 - infra/scripts/fabric/fabric_eventstream_definition.py | 1 - infra/scripts/fabric/fabric_workspace.py | 1 - infra/scripts/fabric/graph_api.py | 2 +- 8 files changed, 3 insertions(+), 10 deletions(-) diff --git a/infra/scripts/fabric/fabric_activator_definition.py b/infra/scripts/fabric/fabric_activator_definition.py index ae8f8f3..a4e51e5 100644 --- a/infra/scripts/fabric/fabric_activator_definition.py +++ b/infra/scripts/fabric/fabric_activator_definition.py @@ -32,7 +32,6 @@ import os import re import sys -from typing import Dict, Any, Optional from fabric_api import FabricWorkspaceApiClient, FabricApiError diff --git a/infra/scripts/fabric/fabric_common_utils.py b/infra/scripts/fabric/fabric_common_utils.py index ab61bb1..ef7bcd7 100644 --- a/infra/scripts/fabric/fabric_common_utils.py +++ b/infra/scripts/fabric/fabric_common_utils.py @@ -13,7 +13,6 @@ import os import sys -import argparse from datetime import datetime def get_required_env_var(var_name: str) -> str: diff --git a/infra/scripts/fabric/fabric_database.py b/infra/scripts/fabric/fabric_database.py index 63b79aa..974ebe7 100644 --- a/infra/scripts/fabric/fabric_database.py +++ b/infra/scripts/fabric/fabric_database.py @@ -14,8 +14,6 @@ - Access to the specified Fabric cluster and database """ -import argparse -import os import sys from pathlib import Path @@ -25,7 +23,7 @@ sys.path.insert(0, str(scripts_dir)) from azure.identity import AzureCliCredential -from azure.kusto.data import KustoClient, KustoConnectionStringBuilder, ClientRequestProperties +from azure.kusto.data import KustoClient, KustoConnectionStringBuilder from azure.kusto.data.exceptions import KustoServiceError def create_kusto_client(cluster_uri) -> KustoClient: diff --git a/infra/scripts/fabric/fabric_eventhouse.py b/infra/scripts/fabric/fabric_eventhouse.py index b5e12d8..05919a6 100644 --- a/infra/scripts/fabric/fabric_eventhouse.py +++ b/infra/scripts/fabric/fabric_eventhouse.py @@ -18,7 +18,7 @@ import argparse import sys import time -from typing import Optional, Dict, Any +from typing import Optional from fabric_api import FabricWorkspaceApiClient, FabricApiError diff --git a/infra/scripts/fabric/fabric_eventhub.py b/infra/scripts/fabric/fabric_eventhub.py index cc657e0..d812531 100644 --- a/infra/scripts/fabric/fabric_eventhub.py +++ b/infra/scripts/fabric/fabric_eventhub.py @@ -27,7 +27,6 @@ """ import argparse -import sys from azure.identity import AzureCliCredential from azure.mgmt.eventhub import EventHubManagementClient from fabric_api import FabricApiClient, FabricApiError diff --git a/infra/scripts/fabric/fabric_eventstream_definition.py b/infra/scripts/fabric/fabric_eventstream_definition.py index e8e8a83..57d47cb 100644 --- a/infra/scripts/fabric/fabric_eventstream_definition.py +++ b/infra/scripts/fabric/fabric_eventstream_definition.py @@ -24,7 +24,6 @@ import json import os import sys -from typing import Dict, Any, Optional from fabric_api import FabricWorkspaceApiClient, FabricApiError from fabric_auth import authenticate_workspace diff --git a/infra/scripts/fabric/fabric_workspace.py b/infra/scripts/fabric/fabric_workspace.py index f6281b8..58719f2 100644 --- a/infra/scripts/fabric/fabric_workspace.py +++ b/infra/scripts/fabric/fabric_workspace.py @@ -16,7 +16,6 @@ """ import argparse -import sys from fabric_api import FabricApiClient, FabricWorkspaceApiClient, FabricApiError def setup_workspace(fabric_client: FabricApiClient, capacity_name: str, workspace_name: str) -> str: diff --git a/infra/scripts/fabric/graph_api.py b/infra/scripts/fabric/graph_api.py index a524270..09f3e07 100644 --- a/infra/scripts/fabric/graph_api.py +++ b/infra/scripts/fabric/graph_api.py @@ -22,7 +22,7 @@ import time import uuid from datetime import datetime, timedelta -from typing import Dict, List, Optional, Union, Any, Tuple +from typing import Dict, Optional, Union, Any, Tuple from azure.identity import AzureCliCredential From 93b2f7a3b7e54970a9bc3c7830b2a8cf770b35ae Mon Sep 17 00:00:00 2001 From: Ajit Padhi Date: Wed, 25 Mar 2026 15:55:11 +0530 Subject: [PATCH 02/14] Updated azure.yaml file to exclude the 1.23.9 azd version --- azure.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure.yaml b/azure.yaml index f508f88..2f39fbc 100644 --- a/azure.yaml +++ b/azure.yaml @@ -5,7 +5,7 @@ metadata: template: real-time-intelligence-operations-solution-accelerator@1.0 requiredVersions: - azd: ">= 1.19.0" + azd: ">= 1.19.0 != 1.23.9" hooks: postprovision: From 50b73d372c870ff8a9e8569711078e017ecbf4dc Mon Sep 17 00:00:00 2001 From: "Yatish Maddukuri (Persistent Systems Inc)" Date: Fri, 3 Apr 2026 10:33:55 +0530 Subject: [PATCH 03/14] Fix Fabric Event Hub connection credentials and endpoint normalization --- infra/scripts/fabric/fabric_api.py | 42 +++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/infra/scripts/fabric/fabric_api.py b/infra/scripts/fabric/fabric_api.py index a2c2e1d..3f57283 100644 --- a/infra/scripts/fabric/fabric_api.py +++ b/infra/scripts/fabric/fabric_api.py @@ -86,6 +86,22 @@ def _format_duration(self, elapsed_seconds: float) -> str: minutes = int(elapsed_seconds // 60) seconds = int(elapsed_seconds % 60) return f"{minutes}m {seconds}s" + + @staticmethod + def _normalize_eventhub_endpoint(namespace_or_endpoint: str) -> str: + """Normalize Event Hub endpoint to the connector-expected host format. + + Accepts either a bare namespace (e.g. "myns") or a full endpoint + (e.g. "sb://myns.servicebus.windows.net/") and returns + "myns.servicebus.windows.net". + """ + endpoint = (namespace_or_endpoint or "").strip() + if endpoint.startswith("sb://"): + endpoint = endpoint[len("sb://"):] + endpoint = endpoint.rstrip("/") + if ".servicebus.windows.net" not in endpoint: + endpoint = f"{endpoint}.servicebus.windows.net" + return endpoint def start_long_running_operation(self, uri: str, @@ -759,6 +775,8 @@ def create_eventhub_connection(self, name: str, namespace_name: str, event_hub_n """ self._log(f"Creating Event Hub connection: {name}") + normalized_endpoint = self._normalize_eventhub_endpoint(namespace_name) + connection_payload = { "displayName": name, "connectivityType": "ShareableCloud", @@ -770,7 +788,7 @@ def create_eventhub_connection(self, name: str, namespace_name: str, event_hub_n { "name": "endpoint", "dataType": "Text", - "value": namespace_name, + "value": normalized_endpoint, }, { "name": "entityPath", @@ -780,6 +798,8 @@ def create_eventhub_connection(self, name: str, namespace_name: str, event_hub_n ] }, "credentialDetails": { + "singleSignOnType": "None", + "skipTestConnection": True, "credentials": { "credentialType": "Basic", # the endpoint only accepts Basic auth, but takes SAS key with policy name as password and username "username": shared_access_policy_name, #"RootManageSharedAccessKey", @@ -818,11 +838,31 @@ def update_eventhub_connection(self, connection_id: str, name: str, namespace_na try: self._log(f"Updating Event Hub connection: {name} (ID: {connection_id})") + normalized_endpoint = self._normalize_eventhub_endpoint(namespace_name) + connection_payload = { "displayName": name, "connectivityType": "ShareableCloud", "allowConnectionUsageInGateway": False, + "connectionDetails": { + "type": "EventHub", + "creationMethod": "EventHub.Contents", + "parameters": [ + { + "name": "endpoint", + "dataType": "Text", + "value": normalized_endpoint, + }, + { + "name": "entityPath", + "dataType": "Text", + "value": event_hub_name, + } + ] + }, "credentialDetails": { + "singleSignOnType": "None", + "skipTestConnection": True, "credentials": { "credentialType": "Basic", # the endpoint only accepts Basic auth, but takes SAS key with policy name as password and username "username": shared_access_policy_name, From 0110aff83af22e08f7753fcfbcd8bf0478ffcce1 Mon Sep 17 00:00:00 2001 From: "Yatish Maddukuri (Persistent Systems Inc)" Date: Fri, 3 Apr 2026 10:57:16 +0530 Subject: [PATCH 04/14] fix: remove unsupported skipTestConnection for EventHub Fabric connection --- infra/scripts/fabric/fabric_api.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/infra/scripts/fabric/fabric_api.py b/infra/scripts/fabric/fabric_api.py index 3f57283..577b198 100644 --- a/infra/scripts/fabric/fabric_api.py +++ b/infra/scripts/fabric/fabric_api.py @@ -799,7 +799,6 @@ def create_eventhub_connection(self, name: str, namespace_name: str, event_hub_n }, "credentialDetails": { "singleSignOnType": "None", - "skipTestConnection": True, "credentials": { "credentialType": "Basic", # the endpoint only accepts Basic auth, but takes SAS key with policy name as password and username "username": shared_access_policy_name, #"RootManageSharedAccessKey", @@ -862,7 +861,6 @@ def update_eventhub_connection(self, connection_id: str, name: str, namespace_na }, "credentialDetails": { "singleSignOnType": "None", - "skipTestConnection": True, "credentials": { "credentialType": "Basic", # the endpoint only accepts Basic auth, but takes SAS key with policy name as password and username "username": shared_access_policy_name, From 45ee854e650ca808075698555732f6b847397d7c Mon Sep 17 00:00:00 2001 From: "Yatish Maddukuri (Persistent Systems Inc)" Date: Fri, 3 Apr 2026 11:35:44 +0530 Subject: [PATCH 05/14] fix: add SecurityControl Ignore tag to Event Hub namespace to allow local auth --- infra/main.bicep | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/infra/main.bicep b/infra/main.bicep index 086ef30..5ec66ae 100644 --- a/infra/main.bicep +++ b/infra/main.bicep @@ -102,6 +102,10 @@ var allTags = union( tags ) +var eventHubTags = union(allTags, { + SecurityControl: 'Ignore' // Required to override MSFT subscription policy controls that enforce disableLocalAuth; local auth needed for Fabric SAS connection +}) + resource resourceGroupTags 'Microsoft.Resources/tags@2021-04-01' = { name: 'default' properties: { @@ -142,6 +146,7 @@ module eventHubNamespaceModule 'br/public:avm/res/event-hub/namespace:0.13.0' = skuName: 'Standard' skuCapacity: 1 disableLocalAuth: false // NOTE: local auth is currently needed in order to create connection with Fabric via SAS token + tags: eventHubTags eventhubs: [ { name: eventHubName From dca31ece4a1949d0017f2cdeef4bb55d51af4556 Mon Sep 17 00:00:00 2001 From: "Prekshith D J (Persistent Systems Inc)" Date: Tue, 7 Apr 2026 09:54:02 +0530 Subject: [PATCH 06/14] Filter the paths to run the pipeline --- .../workflows/azd-ai-template-validation.yml | 5 ++++ .github/workflows/azure-dev.yml | 27 ++++++++++--------- .github/workflows/create-release.yml | 6 +++++ .github/workflows/pylint.yml | 14 +++++++++- 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/.github/workflows/azd-ai-template-validation.yml b/.github/workflows/azd-ai-template-validation.yml index 5494447..64b6682 100644 --- a/.github/workflows/azd-ai-template-validation.yml +++ b/.github/workflows/azd-ai-template-validation.yml @@ -5,6 +5,11 @@ on: branches: - main - dev + paths: + - 'infra/**' + - 'src/**' + - 'azure.yaml' + - '.github/workflows/azd-ai-template-validation.yml' workflow_dispatch: # Set up permissions for deploying with secretless Azure federated credentials diff --git a/.github/workflows/azure-dev.yml b/.github/workflows/azure-dev.yml index d7f13ed..e08dd5a 100644 --- a/.github/workflows/azure-dev.yml +++ b/.github/workflows/azure-dev.yml @@ -7,18 +7,21 @@ on: branches: - main - dev - # - "*" - # paths: - # - "infra/**" - # - "src/**" - # - ".github/workflows/azure-dev.yml" - # pull_request: - # branches: - # - main - # paths: - # - "infra/**" - # - "src/**" - # - ".github/workflows/azure-dev.yml" + paths: + - 'infra/**' + - 'src/**' + - 'azure.yaml' + - 'requirements.txt' + - '.github/workflows/azure-dev.yml' + pull_request: + branches: + - main + paths: + - 'infra/**' + - 'src/**' + - 'azure.yaml' + - 'requirements.txt' + - '.github/workflows/azure-dev.yml' # Set up permissions for deploying with secretless Azure federated credentials permissions: diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index c897682..a817918 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -3,6 +3,12 @@ name: "Create Release" on: push: branches: ["main"] + paths: + - 'src/**' + - 'infra/**' + - 'azure.yaml' + - 'requirements.txt' + - '.github/workflows/create-release.yml' workflow_dispatch: diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index c9f9838..f5bf399 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -1,6 +1,18 @@ name: PyLint -on: [push] +on: + push: + paths: + - 'src/**/*.py' + - 'infra/**/*.py' + - 'requirements.txt' + - '.github/workflows/pylint.yml' + pull_request: + paths: + - 'src/**/*.py' + - 'infra/**/*.py' + - 'requirements.txt' + - '.github/workflows/pylint.yml' jobs: build: From dd3f57978c6c452b56a765faf72f77e4885e72bd Mon Sep 17 00:00:00 2001 From: "Teja Sri Munnangi (Persistent Systems Inc)" Date: Wed, 8 Apr 2026 14:13:09 +0530 Subject: [PATCH 07/14] commit --- .../workflows/azd-ai-template-validation.yml | 42 +++++++++++++------ .github/workflows/azure-dev.yml | 14 ++++--- 2 files changed, 37 insertions(+), 19 deletions(-) diff --git a/.github/workflows/azd-ai-template-validation.yml b/.github/workflows/azd-ai-template-validation.yml index 5494447..168a881 100644 --- a/.github/workflows/azd-ai-template-validation.yml +++ b/.github/workflows/azd-ai-template-validation.yml @@ -1,11 +1,10 @@ name: AZD AI Template validation -# Run when commits are pushed to pre-deploy-alguadam + on: - push: - branches: - - main - - dev - workflow_dispatch: + + workflow_dispatch: + schedule: + - cron: '30 1 * * 4' # Every Thursday 7:00 AM IST / 1:30 AM UTC # Set up permissions for deploying with secretless Azure federated credentials # https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure?tabs=azure-portal%2Clinux#set-up-azure-login-with-openid-connect-authentication @@ -13,17 +12,30 @@ permissions: id-token: write contents: read +env: + AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }} + AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }} + AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }} + AZURE_LOCATION: ${{ vars.AZURE_LOCATION }} + RG_TAGS: ${{ vars.RG_TAGS }} + TEMPLATE_USE_DEV_CONTAINER: ${{ vars.TEMPLATE_USE_DEV_CONTAINER }} + TEMPLATE_VALIDATE_AZD: ${{ vars.TEMPLATE_VALIDATE_AZD }} + TEMPLATE_VALIDATE_TESTS: ${{ vars.TEMPLATE_VALIDATE_TESTS }} + AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }} + jobs: validate: runs-on: ubuntu-latest name: Validation steps environment: 'rti-validate' - env: - RG_TAGS: ${{ vars.RG_TAGS }} steps: - name: Checkout uses: actions/checkout@v4 + - name: Set timestamp + shell: bash + run: echo "HHMM=$(date -u +'%H%M')" >> $GITHUB_ENV + - name: Add RG tags into Bicep parameter file shell: bash run: | @@ -45,11 +57,15 @@ jobs: uses: microsoft/template-validation-action@Latest id: validation env: - AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }} - AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }} - AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }} - AZURE_LOCATION: ${{ vars.AZURE_LOCATION }} - AZURE_ENV_NAME: '${{ vars.AZURE_ENV_NAME }}val' + AZURE_CLIENT_ID: ${{ env.AZURE_CLIENT_ID }} + AZURE_TENANT_ID: ${{ env.AZURE_TENANT_ID }} + AZURE_SUBSCRIPTION_ID: ${{ env.AZURE_SUBSCRIPTION_ID }} + AZURE_LOCATION: ${{ env.AZURE_LOCATION }} + AZURE_ENV_NAME: azd-${{ vars.AZURE_ENV_NAME }}-${{ env.HHMM }} + TEMPLATE_USE_DEV_CONTAINER: ${{ env.TEMPLATE_USE_DEV_CONTAINER }} + TEMPLATE_VALIDATE_AZD: ${{ env.TEMPLATE_VALIDATE_AZD }} + TEMPLATE_VALIDATE_TESTS: ${{ env.TEMPLATE_VALIDATE_TESTS }} + AZURE_DEV_COLLECT_TELEMETRY: ${{ env.AZURE_DEV_COLLECT_TELEMETRY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Print result diff --git a/.github/workflows/azure-dev.yml b/.github/workflows/azure-dev.yml index d7f13ed..c04d2b0 100644 --- a/.github/workflows/azure-dev.yml +++ b/.github/workflows/azure-dev.yml @@ -3,10 +3,7 @@ name: CI/CD Azure - Real-Time Intelligence Operations # Trigger the workflow on push to main/master or manual dispatch on: workflow_dispatch: - push: - branches: - - main - - dev + # - "*" # paths: # - "infra/**" @@ -32,6 +29,10 @@ env: AZURE_LOCATION: 'westus3' PYTHONIOENCODING: utf-8 RG_TAGS: ${{ vars.RG_TAGS }} + TEMPLATE_USE_DEV_CONTAINER: ${{ vars.TEMPLATE_USE_DEV_CONTAINER }} + TEMPLATE_VALIDATE_AZD: ${{ vars.TEMPLATE_VALIDATE_AZD }} + TEMPLATE_VALIDATE_TESTS: ${{ vars.TEMPLATE_VALIDATE_TESTS }} + AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }} jobs: build: @@ -90,9 +91,10 @@ jobs: shell: bash run: | COMMON_PART="rtio" + HHMM=$(date -u +'%H%M') TIMESTAMP=$(date +%s) - UPDATED_TIMESTAMP=$(echo $TIMESTAMP | tail -c 6) - UNIQUE_ENV_NAME="${COMMON_PART}${UPDATED_TIMESTAMP}" + UPDATED_TIMESTAMP=$(echo "$TIMESTAMP" | tail -c 6) + UNIQUE_ENV_NAME="${COMMON_PART}${HHMM}${UPDATED_TIMESTAMP}" echo "ENV_NAME=${UNIQUE_ENV_NAME}" >> $GITHUB_ENV echo "Generated Environment Name: ${UNIQUE_ENV_NAME}" From 76a140b65674028d6813272768d7e8f26a01b6bc Mon Sep 17 00:00:00 2001 From: Tejasri-Microsoft Date: Wed, 8 Apr 2026 14:33:08 +0530 Subject: [PATCH 08/14] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/azure-dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/azure-dev.yml b/.github/workflows/azure-dev.yml index c04d2b0..905eba8 100644 --- a/.github/workflows/azure-dev.yml +++ b/.github/workflows/azure-dev.yml @@ -1,6 +1,6 @@ name: CI/CD Azure - Real-Time Intelligence Operations -# Trigger the workflow on push to main/master or manual dispatch +# Trigger the workflow on manual dispatch on: workflow_dispatch: From a54c585b667a9ec7953c6a0cb4d93af5309ba53d Mon Sep 17 00:00:00 2001 From: Roopan-Microsoft Date: Thu, 9 Apr 2026 11:40:41 +0530 Subject: [PATCH 09/14] fix: add bicep version requirement (>= 0.33.0) to azure.yaml --- azure.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/azure.yaml b/azure.yaml index 2f39fbc..c579718 100644 --- a/azure.yaml +++ b/azure.yaml @@ -6,6 +6,7 @@ metadata: requiredVersions: azd: ">= 1.19.0 != 1.23.9" + bicep: '>= 0.33.0' hooks: postprovision: From 5f0bbb65958f9a569829eb83412982af1cc18f5c Mon Sep 17 00:00:00 2001 From: "Prekshith D J (Persistent Systems Inc)" Date: Thu, 9 Apr 2026 11:55:43 +0530 Subject: [PATCH 10/14] fix: Remove create-release.yml path filter changes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/create-release.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index a817918..c897682 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -3,12 +3,6 @@ name: "Create Release" on: push: branches: ["main"] - paths: - - 'src/**' - - 'infra/**' - - 'azure.yaml' - - 'requirements.txt' - - '.github/workflows/create-release.yml' workflow_dispatch: From 3585e84bf8acaac73b8805c2bd9a3b8a673bfe07 Mon Sep 17 00:00:00 2001 From: Harmanpreet-Microsoft Date: Thu, 9 Apr 2026 18:44:46 +0530 Subject: [PATCH 11/14] docs: Add Data Agent table selection limitation and manual workaround Document the known platform-level limitation of the Fabric Data Agent SDK (Preview) where programmatic table selections do not persist after publishing. Added Preview callout banner, Known Limitations section with root cause details (confirmed by Microsoft Support SR 2604010010005113), and step-by-step manual workaround with placeholder screenshots for the required post-deployment table selection in the Fabric portal. Fixes Bug #38607 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs/FabricDataAgentGuide.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/FabricDataAgentGuide.md b/docs/FabricDataAgentGuide.md index 8c3af86..feb0663 100644 --- a/docs/FabricDataAgentGuide.md +++ b/docs/FabricDataAgentGuide.md @@ -6,6 +6,11 @@ After you have deployed your solution, you can add Azure Data Agent to get data - Add the KQL Database created in the Fabric workspace as your data source, - Use the Agent configuration files provided below to set up your Fabric Data Agent. +> [!NOTE] +> The Fabric Data Agent SDK is currently in **Preview**. After deployment, table selections may not persist — you may need to manually select the required tables in the Fabric portal under the **Data** tab and save. Once saved through the UI, the selections persist and the agent works as expected. +> +> ![Data Agent - Tables Selected](../docs/images/deployment/data_agent_tables_selected.png) + ## 📁 Agent Configuration Files This folder contains essential configuration files for setting up your Fabric Data Agent to deliver optimal intelligence based on your data. From dd169b4f1f59de3f047d464096775172769a5234 Mon Sep 17 00:00:00 2001 From: Harmanpreet-Microsoft Date: Thu, 9 Apr 2026 13:30:38 +0000 Subject: [PATCH 12/14] Add files via upload --- .../deployment/data_agent_tables_selected.png | Bin 0 -> 106962 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/deployment/data_agent_tables_selected.png diff --git a/docs/images/deployment/data_agent_tables_selected.png b/docs/images/deployment/data_agent_tables_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..1012c8f779ec1497b5add3f5b7c367652cb4b1bb GIT binary patch literal 106962 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 ~hcxRH-md4IirNLhFN^zDbWmPRK!;bQD(@jN=pM zJOo;)p64dFSg60re|9*X7Uy0xdW$>nHWirBLH$5%!WF$d^JLp#l<1=}#%YCR} zuINy#K#El_oK+J$Te|{u2zyp>u#_XmuLz^L+M(!E3#|s|5(iN6rO3*fu}-TU)1|wf z@3yVW)ITI&%zq>FL2Y{a#~7b!H||u`Ely6gx-EM{y~L|n zgQPnoz|eXK=BcOV;;?XjqqFKx{A6Zs+7W?{mmlKLuoA8gLs96{chh9W@}+tC-Ly5a z=~C2P=Hu2TFD72=I~}Rj+pxVLMP_uIR81O!sbMGsU1iL0C zCQ9Y48@^75w{1~v)AVJs$x}VoKkZ7o?r<*#$Y&1~4LRyW>GlrJAj__N8V2_gCUX?k zd}&5cr~8l3mu%Y8 z3jFK}LESV`wO-=vMhuX8AgKK|gy6brMJQn`2DN=2J)1&hM!HKi+`X|^5xGTdKc_>~ zC-PT*^bcw&C18u&N`R_k6Zs^@K$poyhjDB{C)_i|)7s29&y&Ohj?U6mJoJmhf@f<% zRUN1sj$QtRjv``|kh|6y-$+)jmFejQztNXau3f6Up|+|Ka9uRB{Z(0BIj1!wNo^z|K&Nv#3>PJ%yHZp!AB z2Ve@#`Gm-G&05tg893aR_snEMsEOIf&~1R_H-9wysu=WB7_U|w?w8-u>NW|>e){V= z_Sq)1?Pfl~%Akd&Ouv{;TYLT0f&4cUjb5hdSl*%6pU9r4FZJ;ZJk1M69zEj(|$<~4d@A*^B|pVS_Wf~f2j zxgpP0xWVt)Av^za4(B#ZpOu?mW(_0Q)j!l0oO2)?4a|KTzMoA>*jA(ni<@M^=q_X1 zNBHA^c5J9%?U?p4b&w5j&IKK{@#Pt!ozfxXXCG}oA`I3zzG3`5nrI>%v24kyTS@aqpn8Q%rxJhy2~Wal1qt@4=f;G*H5(6bGR|Mi(Rs}k>hr53(Nq!^ff?q3t>%vO*?5zks z+3NNvqP3Phpc1)%GW)XEta?oC0_$^;5ovF~k;ZyRheLJ}_h!3}W*B6miK50VTgs*o zvZ0Auf`*(Ni90`rG+o1#=fqVFFfZL~!nh9>L9@h@Foi`Pgi^&fNYgP_PZ1yu4q`OQ zGG4_LC#IMvgz5tabsKK<5FqNyqV5Kwptj#uo^~TnIR(;qQVU1XWE9_={#5j8hFI47 zI%jr|DxU3*ta;nS^FDTF7>toilCFCx$<=r_Qm)FSKK7)hWNwHw4fsdy1}0~UJ{-57 z8K+dC3{UMG(7}fkmL^77Z*qkEOKFCE7AI${-gx;v)0eYyb& z>_FcI`X*Qg(yY#mg`Gn$hvs1j8zS93XuT{{*heZoRq0q1U0%V%FuI&JzCFs7iaTn3gaT=u1tD#uJqf$9`aBwkUU@wUsr^(lWwyCOno)#83@OhqkaK& z^nc8FdpGLe2O|;JmI~lfnt#?aQVgYaS(onqLMHx~r0akD0RPwSIP|U4ZEb(p{P^9B zzVg9<(46rDCmU?iK(@Qz6-H3QOUEY~vQ7zn8Af~9@vb=I2r#mZ$0PcbyAJN$v7_!< zZxK>lcNE}xE4}u6vS0$c*nd)cKsaom@ezCftm1?7Y=|lfH4=`g)Qz~ez zVzMslY36T$&{*7(lE8>)&IevCX~@R(5V#Wgz#SkP4+4Hv5Yr}eN0Z8}BK)zM*DK0# zG@z1lEk523&@G(jfB3FJ)5R0;mI46Wk^odgF(AwM#J Date: Fri, 10 Apr 2026 11:09:04 +0530 Subject: [PATCH 13/14] fix: Restore push/PR triggers with path filters Restore push and pull_request triggers with path filters for both azure-dev.yml and azd-ai-template-validation.yml, while keeping dev's schedule trigger and structural changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../workflows/azd-ai-template-validation.yml | 10 +++++- .github/workflows/azure-dev.yml | 32 +++++++++++-------- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/.github/workflows/azd-ai-template-validation.yml b/.github/workflows/azd-ai-template-validation.yml index 168a881..70c99af 100644 --- a/.github/workflows/azd-ai-template-validation.yml +++ b/.github/workflows/azd-ai-template-validation.yml @@ -1,7 +1,15 @@ name: AZD AI Template validation on: - + push: + branches: + - main + - dev + paths: + - 'infra/**' + - 'src/**' + - 'azure.yaml' + - '.github/workflows/azd-ai-template-validation.yml' workflow_dispatch: schedule: - cron: '30 1 * * 4' # Every Thursday 7:00 AM IST / 1:30 AM UTC diff --git a/.github/workflows/azure-dev.yml b/.github/workflows/azure-dev.yml index 905eba8..4393d8d 100644 --- a/.github/workflows/azure-dev.yml +++ b/.github/workflows/azure-dev.yml @@ -3,19 +3,25 @@ name: CI/CD Azure - Real-Time Intelligence Operations # Trigger the workflow on manual dispatch on: workflow_dispatch: - - # - "*" - # paths: - # - "infra/**" - # - "src/**" - # - ".github/workflows/azure-dev.yml" - # pull_request: - # branches: - # - main - # paths: - # - "infra/**" - # - "src/**" - # - ".github/workflows/azure-dev.yml" + push: + branches: + - main + - dev + paths: + - 'infra/**' + - 'src/**' + - 'azure.yaml' + - 'requirements.txt' + - '.github/workflows/azure-dev.yml' + pull_request: + branches: + - main + paths: + - 'infra/**' + - 'src/**' + - 'azure.yaml' + - 'requirements.txt' + - '.github/workflows/azure-dev.yml' # Set up permissions for deploying with secretless Azure federated credentials permissions: From 09fe3bbdd4bcc8b6cf29cc49d571cdf65812096a Mon Sep 17 00:00:00 2001 From: Yamini-Microsoft Date: Fri, 17 Apr 2026 00:57:40 +0530 Subject: [PATCH 14/14] fix: Wire tags parameter in main.parameters.json for azd env support The tags parameter was defined in main.bicep but not mapped in main.parameters.json, so users could not pass custom tags via azd env set AZURE_TAGS. This is needed to support SFI policy bypass by setting Securitycontrol:Ignore tag on the resource group before Event Hub creation (which requires local auth enabled). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- infra/main.parameters.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/infra/main.parameters.json b/infra/main.parameters.json index faf8053..08b853b 100644 --- a/infra/main.parameters.json +++ b/infra/main.parameters.json @@ -10,6 +10,9 @@ }, "existingFabricCapacityName": { "value": "${EXISTING_FABRIC_CAPACITY_NAME}" + }, + "tags": { + "value": "${AZURE_TAGS}" } } } \ No newline at end of file