aaron-y-chen opened a new pull request, #71350: URL: https://github.com/apache/airflow/pull/71350
related: #51377 ## Summary - Add an `azure_analysis_services` connection type using Microsoft Entra service-principal client-secret authentication. - Add a Hook, Operator, Sensor, and Trigger for starting and monitoring model refreshes in synchronous, fire-and-forget, and deferrable modes. - Add request and polling timeouts, response validation, diagnostic HTTP errors, provider metadata, documentation, and a system-test Dag. ## Testing Run the system-test Dag in Breeze against a live Azure Analysis Services instance: - Azure Analysis Services D1 Developer tier in West US - Compatibility-level-1200 model - Dedicated Microsoft Entra service principal and client-secret Airflow connection - Two `calculate` refreshes The Dag runs a fire-and-forget Operator, a deferrable-enabled Sensor, and a deferrable-enabled Operator. All three task instances complete successfully on their first try. <img width="1434" height="818" alt="51377_1" src="https://github.com/user-attachments/assets/25440cf2-6883-4197-bfce-eec74608d002" /> Verify both refresh IDs returned by Airflow through the Azure Analysis Services REST API: | Refresh ID | Type | Status | Duration | |---|---|---|---:| | `437aa86c-…-8169e` | `calculate` | `succeeded` | 0.206 s | | `d9f4974e-…-9020` | `calculate` | `succeeded` | 0.179 s | The Azure screenshot confirms the D1 resource, West US location, and compatibility-level-1200 model. <img width="1436" height="811" alt="51377_2" src="https://github.com/user-attachments/assets/7456aa35-0875-4552-8786-e534a200f4b3" /> <br> --- ##### Was generative AI tooling used to co-author this PR? <!-- If generative AI tooling has been used in the process of authoring this PR, please change below checkbox to `[X]` followed by the name of the tool, uncomment the "Generated-by". --> - [x] Yes (please specify the tool below) Generated-by: [GPT 5.6-sol] following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) --- * Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)** for more information. Note: commit author/co-author name and email in commits become permanently public when merged. * For fundamental code changes, an Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals)) is needed. * When adding dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x). * For significant user-facing changes create newsfragment: `{pr_number}.significant.rst`, in [airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments). You can add this file in a follow-up commit after the PR is created so you know the PR number. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
