nailo2c opened a new pull request, #61924:
URL: https://github.com/apache/airflow/pull/61924

   related: #52712
   
   # Why
   
   Added the CommonMessageQueue interface for Azure Service Bus, so it can be 
used through the unified `MessageQueueTrigger(scheme="azure+servicebus")` entry 
point.
   
   # How
   
   Referenced past related PRs (#52917, #56445) and implemented a 
`BaseMessageQueueProvider` subclass following the same pattern as Redis and 
Google Pub/Sub.
   
   # What
   
   ## System Test
   
   + Enabled the example DAG 
(`providers/microsoft/azure/tests/system/microsoft/azure/example_event_schedule_asb.py`)
 to wait for data.
   <img width="1910" height="664" alt="azure_event_driven_before_data_fire" 
src="https://github.com/user-attachments/assets/70054e1f-d7ca-4592-ae49-c9ae9f58d624";
 />
   
   <br>
   <br>
   
   + Sent data manually.
   ```bash
   python3 -c "
   from azure.servicebus import ServiceBusClient, ServiceBusMessage
   conn_str = 
'Endpoint=sb://airflow-asb-test.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****'
   with ServiceBusClient.from_connection_string(conn_str) as client:
       with client.get_queue_sender('my-queue') as sender:
           sender.send_messages(ServiceBusMessage('Test message from CLI'))
           print('Message sent successfully')
   "
   ```
   
   <br>
   
   + Received data successfully.
   <img width="1907" height="606" alt="azure_event_driven_after_data_fire" 
src="https://github.com/user-attachments/assets/90a50a39-5da7-40db-aacc-cd3f846a55bd";
 />
   
   <br>
   <br>
   
   + Also shown in the Triggerer log.
   <img width="1463" height="471" alt="triggerer_log" 
src="https://github.com/user-attachments/assets/19ca5ea8-b921-4daa-8bd4-bab1ff45b227";
 />
   
   ## Doc
   
   + Successfully built from my local device.
   <img width="1885" height="988" alt="Screenshot 2026-02-14 at 11 38 57 AM" 
src="https://github.com/user-attachments/assets/2cd043c3-d5d5-4b4d-b100-7cc828ff790f";
 />
   
   
   ---
   
   ##### 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)
       Claude
   
   <!--
   Generated-by: [Tool Name] 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` or `{issue_number}.significant.rst`, in 
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
   


-- 
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]

Reply via email to