Skip to content

Commit 4fea414

Browse files
Merge pull request #302658 from MicrosoftDocs/main
Auto Publish – main to live - 2025-07-12 05:00 UTC
2 parents f101373 + 5f8c9c8 commit 4fea414

12 files changed

+115
-88
lines changed

articles/api-management/inject-vnet-v2.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ If you want to enable *public* inbound access to an API Management instance in t
5454
* Minimum: /27 (32 addresses)
5555
* Recommended: /24 (256 addresses) - to accommodate scaling of API Management instance
5656

57+
### Network security group
58+
5759
[!INCLUDE [api-management-virtual-network-v2-nsg-rules](../../includes/api-management-virtual-network-v2-nsg-rules.md)]
5860

5961
### Subnet delegation

articles/api-management/integrate-vnet-outbound.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,14 @@ If you want to inject a Premium v2 (preview) API Management instance into a virt
4646
* Minimum: /27 (32 addresses)
4747
* Recommended: /24 (256 addresses) - to accommodate scaling of API Management instance
4848

49+
### Network security group
50+
4951
[!INCLUDE [api-management-virtual-network-v2-nsg-rules](../../includes/api-management-virtual-network-v2-nsg-rules.md)]
5052

53+
> [!IMPORTANT]
54+
> * Inbound NSG rules do not apply when a v2 tier instance is integrated in a virtual network for private outbound access. To enforce inbound NSG rules, use virtual network injection instead of integration.
55+
> * This differs from networking in the classic Premium tier, where inbound NSG rules are enforced in both external and internal virtual network injection modes. [Learn more](virtual-network-injection-resources.md)
56+
5157
### Subnet delegation
5258

5359
The subnet needs to be delegated to the **Microsoft.Web/serverFarms** service.

articles/api-management/virtual-network-workspaces-resources.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: dlepow
55

66
ms.service: azure-api-management
77
ms.topic: concept-article
8-
ms.date: 06/18/2025
8+
ms.date: 07/08/2025
99
ms.author: danlep
1010
---
1111

@@ -45,7 +45,6 @@ For information about configuring subnet delegation, see [Add or remove a subnet
4545

4646
#### [Virtual network integration](#tab/external)
4747

48-
4948
For virtual network integration, the subnet needs to be delegated to the **Microsoft.Web/serverFarms** service.
5049

5150
:::image type="content" source="media/virtual-network-injection-workspaces-resources/delegate-external.png" alt-text="Screenshot showing subnet delegation to Microsoft.Web/serverFarms in the portal.":::
@@ -65,21 +64,20 @@ For virtual network injection, the subnet needs to be delegated to the **Microso
6564
6665
---
6766

67+
## Network security group
6868

69-
## Network security group (NSG) rules
69+
#### [Virtual network integration](#tab/external)
7070

71-
A network security group (NSG) must be attached to the subnet to explicitly allow certain inbound or outbound connectivity. Configure the following rules in the NSG. Set the priority of these rules higher than that of the default rules.
71+
[!INCLUDE [api-management-virtual-network-v2-nsg-rules](../../includes/api-management-virtual-network-v2-nsg-rules.md)]
7272

73-
Configure other NSG rules to meet your organization's network access requirements.
7473

75-
#### [Virtual network integration](#tab/external)
74+
#### [Virtual network injection](#tab/internal)
7675

77-
| Direction | Source | Source port ranges | Destination | Destination port ranges | Protocol | Action | Purpose |
78-
|-------|--------------|----------|---------|------------|-----------|-----|--------|
79-
| Inbound | AzureLoadBalancer | * | Workspace gateway subnet range | 80 | TCP | Allow | Allow internal health ping traffic |
80-
| Inbound | Internet | * | Workspace gateway subnet range | 80,443 | TCP | Allow | Allow inbound traffic |
76+
A network security group (NSG) must be associated with the subnet. To set up a network security group, see [Create a network security group](../virtual-network/manage-network-security-group.md).
8177

82-
#### [Virtual network injection](#tab/internal)
78+
* Configure the following rules in the NSG. Set the priority of these rules higher than that of the default rules.
79+
* Configure other outbound rules you need for the gateway to reach your API backends.
80+
* Configure other NSG rules to meet your organization’s network access requirements. For example, NSG rules can also be used to block outbound traffic to the internet and allow access only to resources in your virtual network.
8381

8482
| Direction | Source | Source port ranges | Destination | Destination port ranges | Protocol | Action | Purpose |
8583
|-------|--------------|----------|---------|------------|-----------|-----|--------|
@@ -89,6 +87,10 @@ Configure other NSG rules to meet your organization's network access requirement
8987

9088
---
9189

90+
> [!IMPORTANT]
91+
> * Inbound NSG rules do not apply when you integrate a workspace gateway in a virtual network for private outbound access. To enforce inbound NSG rules, use virtual network injection instead of integration.
92+
> * This differs from networking in the classic Premium tier, where inbound NSG rules are enforced in both external and internal virtual network injection modes. [Learn more](virtual-network-injection-resources.md)
93+
9294
## DNS settings for virtual network injection
9395

9496
For virtual network injection, you have to manage your own DNS to enable inbound access to your workspace gateway.

articles/app-service/configure-authentication-provider-aad.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ The created app registration authenticates incoming requests for your Microsoft
265265

266266
Your application code is often the best place to handle custom authorization logic. However, for common scenarios, the Microsoft identity platform provides built-in checks that you can use to limit access.
267267

268-
This section shows how to enable built-in checks by using the [App Service authentication V2 API](./configure-authentication-api-version.md). Currently, the only way to configure these built-in checks is by using [Azure Resource Manager templates](/azure/templates/microsoft.web/sites/config-authsettingsv2) or the [REST API](/rest/api/appservice/web-apps/update-auth-settings-v2).
268+
This section shows how to enable built-in checks by using the [App Service authentication V2 API](./configure-authentication-api-version.md). Currently, the only way to configure these built-in checks is by using [Azure Resource Manager templates](/azure/templates/microsoft.web/sites/config-authsettingsv2) or the [REST API](/rest/api/appservice/web-apps/update-auth-settings-v-2).
269269

270270
Within the API object, the Microsoft Entra identity provider configuration has a `validation` section that can include a `defaultAuthorizationPolicy` object, as shown in the following structure:
271271

articles/connectors/connectors-create-api-servicebus.md

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ The Service Bus connector has different versions, based on [logic app workflow t
3333
| Logic app | Environment | Connector version |
3434
|-----------|-------------|-------------------|
3535
| **Consumption** | Multitenant Azure Logic Apps | Managed connector, which appears in the connector gallery under **Runtime** > **Shared**. <br><br>**Note**: Service Bus managed connector triggers follow the [*long polling trigger* pattern](#service-bus-managed-triggers), which means that the trigger periodically checks for messages in the queue or topic subscription. For more information, review the following documentation: <br><br>- [Service Bus managed connector reference](/connectors/servicebus/) <br>- [Managed connectors in Azure Logic Apps](managed.md) |
36-
| **Standard** | Single-tenant Azure Logic Apps and App Service Environment v3 (Windows plans only) | Managed connector (Azure-hosted), which appears in the connector gallery under **Runtime** > **Shared**, and built-in connector, which appears in the connector gallery under **Runtime** > **In App** and is [service provider based](../logic-apps/custom-connector-overview.md#service-provider-interface-implementation). <br><br>The Service Bus managed connector triggers follow the [*long polling trigger* pattern](#service-bus-managed-triggers), which means that the trigger periodically checks for messages in the queue or topic subscription. <br><br>The Service Bus built-in connector non-session triggers follow a *continuous polling trigger pattern* that is fully managed by the connector. This pattern has the trigger constantly check for messages in the queue or topic subscription. Session triggers follow the *long-polling trigger pattern*, but its configuration is governed by the Azure Functions setting named [**clientRetryOptions:tryTimeout**](../azure-functions/functions-bindings-service-bus.md#hostjson-settings). The built-in version usually provides better performance, capabilities, pricing, and so on.
37-
<br><br>For more information, review the following documentation: <br><br>- [Service Bus managed connector reference](/connectors/servicebus/) <br>- [Service Bus built-in connector operations](/azure/logic-apps/connectors/built-in/reference/servicebus) <br>- [Built-in connectors in Azure Logic Apps](built-in.md) |
36+
| **Standard** | Single-tenant Azure Logic Apps and App Service Environment v3 (Windows plans only) | Managed connector (Azure-hosted), which appears in the connector gallery under **Runtime** > **Shared**, and built-in connector, which appears in the connector gallery under **Runtime** > **In App** and is [service provider based](../logic-apps/custom-connector-overview.md#service-provider-interface-implementation). <br><br>The Service Bus managed connector triggers follow the [*long polling trigger* pattern](#service-bus-managed-triggers), which means that the trigger periodically checks for messages in the queue or topic subscription. <br><br>The Service Bus built-in connector non-session triggers follow a *continuous polling trigger pattern* that is fully managed by the connector. This pattern has the trigger constantly check for messages in the queue or topic subscription. Session triggers follow the *long-polling trigger pattern*, but its configuration is governed by the Azure Functions setting named [**clientRetryOptions:tryTimeout**](../azure-functions/functions-bindings-service-bus.md#hostjson-settings). The built-in version usually provides better performance, capabilities, pricing, and so on. <br><br>For more information, review the following documentation: <br><br>- [Service Bus managed connector reference](/connectors/servicebus/) <br>- [Service Bus built-in connector operations](/azure/logic-apps/connectors/built-in/reference/servicebus) <br>- [Built-in connectors in Azure Logic Apps](built-in.md) |
3837

3938
## Prerequisites
4039

@@ -135,64 +134,67 @@ To increase the timeout for sending a message, [add the **ServiceProviders.Servi
135134
>
136135
> If you must change the concurrency on a Service Bus auto-complete trigger, don't make this change before
137136
> you initially save your workflow. Create and save your workflow first before you edit the trigger to change the concurrency.
138-
```
139137
140138
### Service Bus built-in connector triggers
141139

142-
For he Service Bus built-in connector, non-session triggers follow a *continuous polling trigger pattern* that is fully managed by the connector. This pattern has the trigger constantly check for messages in the queue or topic subscription. Session triggers follow the *long-polling trigger pattern*, with its configuration is governed by the Azure Functions setting named [**clientRetryOptions:tryTimeout**](../azure-functions/functions-bindings-service-bus.md#hostjson-settings). Currently, the configuration settings for the Service Bus built-in trigger are shared between the [Azure Functions host extension](../azure-functions/functions-bindings-service-bus.md#hostjson-settings), which is defined in your logic app's [**host.json** file](../logic-apps/edit-app-settings-host-settings.md), and the trigger settings defined in your logic app's workflow, which you can set up either through the designer or code view. This section covers both settings locations.
140+
For the Service Bus built-in connector, non-session triggers follow a *continuous polling trigger pattern* that is fully managed by the connector. This pattern has the trigger constantly check for messages in the queue or topic subscription. Session triggers follow the *long-polling trigger pattern*, with its configuration is governed by the Azure Functions setting named [**clientRetryOptions:tryTimeout**](../azure-functions/functions-bindings-service-bus.md#hostjson-settings). Currently, the configuration settings for the Service Bus built-in trigger are shared between the [Azure Functions host extension](../azure-functions/functions-bindings-service-bus.md#hostjson-settings), which is defined in your logic app's [**host.json** file](../logic-apps/edit-app-settings-host-settings.md), and the trigger settings defined in your logic app's workflow, which you can set up either through the designer or code view. This section covers both settings locations.
141+
142+
* Some built-in triggers, such as the **When messages are available in a queue** trigger, can return one or more messages. When these triggers fire, they return between one and the number of messages.
143143

144-
* In Standard workflows, some triggers, such as the **When messages are available in a queue** trigger, can return one or more messages. When these triggers fire, they return between one and the number of messages. For this type of trigger and where the **Maximum message count** parameter isn't supported, you can still control the number of messages received by using the **maxMessageBatchSize** property in the **host.json** file. To find this file, see [Edit host and app settings for Standard logic apps](../logic-apps/edit-app-settings-host-settings.md).
144+
The built-in trigger named **When messages are available in a queue (V1)** doesn't support the parameter named **Maximum message batch size**. Make sure that you use the V2 version instead. To use a trigger where the parameter isn't supported, you can still control the number of messages received by adding the `maxMessageBatchSize` parameter to the trigger definition in the host.json file. To find this file, see [Edit host and app settings for Standard logic apps](../logic-apps/edit-app-settings-host-settings.md).
145145

146-
147146
```json
148147
"extensions": {
149-
"serviceBus": {
148+
"serviceBus": {
150149
"maxMessageBatchSize": 25
151-
}
150+
}
152151
}
153152
```
154153

155-
* You can also enable concurrency on the Service Bus trigger, either through the designer or in code:
154+
You can also enable concurrency on the Service Bus trigger, either through the designer or in code, for example:
156155

157156
```json
158157
"runtimeConfiguration": {
159-
"concurrency": {
160-
"runs": 100
158+
"concurrency": {
159+
"runs": 50
161160
}
162161
}
163162
```
164163

165-
When you set up concurrency using a batch, keep the number of concurrent runs larger than the overall batch size. That way, read messages don't go into a waiting state and are always picked up when they're read. In some cases, the trigger can have up to twice the batch size.
164+
* If you set up concurrency using a batch, keep the number of concurrent runs larger than the overall batch size. That way, read messages don't go into a waiting state and are always picked up when they're read. In some cases, the trigger can have up to twice the batch size.
166165

167-
* If you enable concurrency, the **SplitOn** limit is reduced to 100 items. This behavior is true for all triggers, not just the Service Bus trigger. Make sure the specified batch size is less than this limit on any trigger where you enable concurrency.
166+
* If you enable concurrency on the trigger named **When messages are available in a queue (V1)**, and 100+ messages are sent to the queue, all messages are routed to the [dead-letter queue](../service-bus-messaging/service-bus-dead-letter-queues.md).
168167

169-
* [Some scenarios exist where the trigger can exceed the concurrency settings](../logic-apps/logic-apps-workflow-actions-triggers.md#change-waiting-runs-limit). Rather than fail these runs, Azure Logic Apps queues them in a waiting state until they can be started. The [**maximumWaitingRuns** setting](../logic-apps/edit-app-settings-host-settings.md#trigger-concurrency) controls the number of runs allowed in the waiting state:
168+
* If you enable concurrency, the **SplitOn** limit is reduced to 100 items. This behavior is true for all triggers, not just the Service Bus trigger. Make sure the specified batch size is less than this limit on any trigger where you enable concurrency.
170169

171-
```json
172-
"runtimeConfiguration": {
173-
"concurrency": {
174-
"runs": 100,
175-
"maximumWaitingRuns": 50
176-
}
177-
}
178-
```
170+
* If you enable concurrency, by default, a 30-second delay exists between batch reads. This delay slows down the trigger to achieve the following goals:
171+
172+
* Reduce the number of storage calls sent to check the number of runs on which to apply concurrency.
179173

180-
With the Service Bus trigger, make sure that you carefully test these changes so that runs don't wait longer than the message lock timeout. For more information about the default values, see [Concurrency and de-batching limits here](../logic-apps/logic-apps-limits-and-config.md#concurrency-and-debatching).
174+
* Mimic the behavior of the Service Bus managed connector trigger, which has a 30-second long poll when no messages are found.
181175

182-
* If you enable concurrency, a 30-second delay exists between batch reads, by default. This delay slows down the trigger to achieve the following goals:
176+
You can change this delay, but make sure that you carefully test any changes to the default value:
183177

184-
- Reduce the number of storage calls sent to check the number of runs on which to apply concurrency.
178+
```json
179+
"workflow": {
180+
"settings": {
181+
"Runtime.ServiceProviders.FunctionTriggers.DynamicListenerEnableDisableInterval": "00:00:30"
182+
}
183+
}
184+
```
185185

186-
- Mimic the behavior of the Service Bus managed connector trigger, which has a 30-second long poll when no messages are found.
186+
* [Some scenarios exist where the trigger can exceed the concurrency settings](../logic-apps/logic-apps-workflow-actions-triggers.md#change-waiting-runs-limit). Rather than fail these runs, Azure Logic Apps queues them in a waiting state until they can be started. The [`maximumWaitingRuns` setting](../logic-apps/edit-app-settings-host-settings.md#trigger-concurrency) controls the number of runs allowed in the waiting state:
187187

188-
You can change this delay, but make sure that you carefully test any changes to the default value:
188+
```json
189+
"runtimeConfiguration": {
190+
"concurrency": {
191+
"runs": 100,
192+
"maximumWaitingRuns": 50
193+
}
194+
}
195+
```
189196

190-
```json
191-
"workflow": {
192-
"settings": {
193-
"Runtime.ServiceProviders.FunctionTriggers.DynamicListenerEnableDisableInterval": "00:00:30"
194-
}
195-
}
197+
With the Service Bus trigger, make sure that you carefully test these changes so that runs don't wait longer than the message lock timeout. For more information about the default values, see [Concurrency and de-batching limits here](../logic-apps/logic-apps-limits-and-config.md#concurrency-and-debatching).
196198

197199
## Step 1: Check access to Service Bus namespace
198200

articles/connectors/enable-stateful-affinity-built-in-connectors.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.suite: integration
66
ms.reviewer: estfan, edwardhe, azla
77
ms.topic: how-to
88
ms.custom: devx-track-azurepowershell
9-
ms.date: 03/18/2025
9+
ms.date: 07/12/2025
1010
---
1111

1212
# Enable stateful mode for stateless built-in connectors in Azure Logic Apps
@@ -197,6 +197,13 @@ Set-AzResource :
197197

198198
Resource scale-in events might cause the loss of context for built-in connectors with stateful mode enabled. To prevent this potential loss before such events can happen, fix the number of instances available for your logic app resource. This way, no scale-in events can happen to cause this potential context loss.
199199

200+
> [!NOTE]
201+
>
202+
> For logic apps that doesn't use the App Service Environment v3 hosting option,
203+
> Azure Logic Apps waits up to 5 minutes before taking down a virtual machine during
204+
> scale-in events. Built-in connectors might experience issues. For example,
205+
> Azure Service Bus can't complete messages during platform upgrades.
206+
200207
1. On your logic app resource menu, under **Settings**, select **Scale out (App Service plan)**.
201208

202209
1. On the **Scale out (App Service plan)** page, in the **App Scale out** section, follow these steps:
@@ -209,7 +216,7 @@ Resource scale-in events might cause the loss of context for built-in connectors
209216

210217
1. When you're done, on the **Scale out** toolbar, select **Save**.
211218

212-
## Next steps
219+
## Related content
213220

214221
- [Connect to Azure Service Bus](/azure/connectors/connectors-create-api-servicebus)
215222
- [Connect to SAP](/azure/logic-apps/connectors/sap)

0 commit comments

Comments
 (0)