Skip to content

Commit 504ab4f

Browse files
committed
Merge branch 'main' into release-scommi
2 parents 91c8d3a + bbbec12 commit 504ab4f

File tree

105 files changed

+1004
-568
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+1004
-568
lines changed

.openpublishing.redirection.operator-5g-core.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,6 @@
1515
"redirect_url": "/azure/operator-5g-core/how-to-deploy-observability",
1616
"redirect_document_id": false
1717
},
18-
{
19-
"source_path_from_root": "/articles/operator-5g-core/quickstart-complete-prerequisites-deploy-azure-kubernetes-service.md",
20-
"redirect_url": "/azure/operator-5g-core/quickstart-complete-prerequisites-deploy-nexus-azure-kubernetes-service",
21-
"redirect_document_id": false
22-
},
2318
{
2419
"source_path_from_root": "/articles/operator-5g-core/how-to-complete-prerequisites-deploy-nexus-azure-kubernetes-service.md",
2520
"redirect_url": "/azure/operator-5g-core/quickstart-complete-prerequisites-deploy-nexus-azure-kubernetes-service",

articles/ai-services/document-intelligence/containers/install-run.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Support for containers is currently available with Document Intelligence version
2626
* [Client libraries targeting `REST API 2022-08-31 (GA)`](../sdk-overview-v3-0.md)
2727
* [Client libraries targeting `REST API 2023-07-31 (GA)`](../sdk-overview-v3-1.md)
2828

29-
✔️ See [**Install and run Document Intelligence v3.0 containers**](?view=doc-intel-3.0.0&preserve-view=true) for supported container documentation.
29+
✔️ See [**Install and run Document Intelligence containers**](?view=doc-intel-3.1.0&preserve-view=true) for supported container documentation.
3030

3131
:::moniker-end
3232

articles/ai-services/document-intelligence/quickstarts/includes/python-sdk.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ Extract text, selection marks, text styles, table structures, and bounding regio
122122
>
123123
> * For this example, you'll need a **document file from a URL**. You can use our [sample document](https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-layout.pdf) for this quickstart.
124124
> * We've added the file URL value to the `formUrl` variable in the `analyze_layout` function.
125-
> * To analyze a given file at a URL, you'll use the `begin_analyze_document_from_url` method and pass in `prebuilt-layout` as the model Id. The returned value is a `result` object containing data about the submitted document.
126125
127126
:::moniker range="doc-intel-4.0.0"
128127

@@ -250,6 +249,8 @@ After you add a code sample to your application, build and run your program:
250249

251250
:::moniker range="doc-intel-3.1.0"
252251

252+
To analyze a given file at a URL, you'll use the `begin_analyze_document_from_url` method and pass in `prebuilt-layout` as the model Id. The returned value is a `result` object containing data about the submitted document.
253+
253254
**Add the following code sample to your form_recognizer_quickstart.py application. Make sure you update the key and endpoint variables with values from your Azure portal Form Recognizer instance:**
254255

255256
```python
@@ -276,7 +277,7 @@ def analyze_layout():
276277
endpoint=endpoint, credential=AzureKeyCredential(key)
277278
)
278279

279-
poller = document_analysis_client.begin_analyze_document(
280+
poller = document_analysis_client.begin_analyze_document_from_url(
280281
"prebuilt-layout", formUrl)
281282
result = poller.result()
282283

@@ -532,7 +533,6 @@ Analyze and extract common fields from specific document types using a prebuilt
532533
>
533534
> * Analyze an invoice using the prebuilt-invoice model. You can use our [sample invoice document](https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-invoice.pdf) for this quickstart.
534535
> * We've added the file URL value to the `invoiceUrl` variable at the top of the file.
535-
> * To analyze a given file at a URI, you'll use the `begin_analyze_document_from_url` method and pass `prebuilt-invoice` as the model Id. The returned value is a `result` object containing data about the submitted document.
536536
> * For simplicity, all the key-value pairs that the service returns are not shown here. To see the list of all supported fields and corresponding types, see our [Invoice](../../concept-invoice.md#field-extraction) concept page.
537537

538538
:::moniker range="doc-intel-4.0.0"
@@ -778,6 +778,8 @@ After you add a code sample to your application, build and run your program:
778778

779779
:::moniker range="doc-intel-3.1.0"
780780

781+
To analyze a given file at a URI, you'll use the `begin_analyze_document_from_url` method and pass `prebuilt-invoice` as the model Id. The returned value is a `result` object containing data about the submitted document.
782+
781783
**Add the following code sample to your form_recognizer_quickstart.py application. Make sure you update the key and endpoint variables with values from your Azure portal Form Recognizer instance:**
782784

783785
```python

articles/aks/learn/quick-kubernetes-deploy-cli.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ You can validate that the application is running by visiting the public IP addre
360360
Get the application URL using the following commands:
361361
362362
```azurecli-interactive
363-
runtime="5 minute"
363+
runtime="5 minutes"
364364
endtime=$(date -ud "$runtime" +%s)
365365
while [[ $(date -u +%s) -le $endtime ]]
366366
do
@@ -383,7 +383,7 @@ curl $IP_ADDRESS
383383

384384
Results:
385385
<!-- expected_similarity=0.3 -->
386-
```JSON
386+
```HTML
387387
<!doctype html>
388388
<html lang="">
389389
<head>
@@ -402,7 +402,7 @@ Results:
402402
</html>
403403
```
404404

405-
```JSON
405+
```OUTPUT
406406
echo "You can now visit your web server at $IP_ADDRESS"
407407
```
408408

articles/azure-arc/kubernetes/azure-rbac.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Azure RBAC on Azure Arc-enabled Kubernetes clusters"
3-
ms.date: 05/22/2024
3+
ms.date: 05/28/2024
44
ms.topic: how-to
55
ms.custom: devx-track-azurecli
66
description: "Use Azure RBAC for authorization checks on Azure Arc-enabled Kubernetes clusters."
@@ -43,17 +43,16 @@ For a conceptual overview of this feature, see [Azure RBAC on Azure Arc-enabled
4343
az connectedk8s show -g <resource-group> -n <connected-cluster-name>
4444
```
4545

46-
1. Get the ED (`identity.principalId`) from the output and run the following command to assign the **Connected Cluster Managed Identity CheckAccess Reader** role to the cluster MSI:
46+
1. Get the ID (`identity.principalId`) from the output and run the following command to assign the **Connected Cluster Managed Identity CheckAccess Reader** role to the cluster MSI:
4747

4848
```azurecli
4949
az role assignment create --role "Connected Cluster Managed Identity CheckAccess Reader" --assignee "<Cluster MSI ID>" --scope <cluster ARM ID>
5050
```
5151

52-
5352
1. Enable Azure role-based access control (RBAC) on your Azure Arc-enabled Kubernetes cluster by running the following command:
5453

5554
```azurecli
56-
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features azure-rbac --app-id "${SERVER_APP_ID}" --app-secret "${SERVER_APP_SECRET}"
55+
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features azure-rbac
5756
```
5857

5958
> [!NOTE]
@@ -344,12 +343,12 @@ Using a shared kubeconfig requires slightly different steps depending on your Ku
344343
sudo chmod +x /usr/local/bin/kubelogin
345344
```
346345

347-
1. [Convert](https://azure.github.io/kubelogin/cli/convert-kubeconfig.html) the kubelogin to use the appropriate [login mode](https://azure.github.io/kubelogin/concepts/login-modes.html). For example, for [device code login](https://azure.github.io/kubelogin/concepts/login-modes/devicecode.html) with a Microsoft Entra user, the commands would be as follows:
346+
1. Kubelogin can be used to authenticate with Azure Arc-enabled clusters by requesting a proof-of-possession (PoP) token. [Convert](https://azure.github.io/kubelogin/concepts/azure-arc.html) the kubeconfig using kubelogin to use the appropriate [login mode](https://azure.github.io/kubelogin/concepts/login-modes.html). For example, for [device code login](https://azure.github.io/kubelogin/concepts/login-modes/devicecode.html) with a Microsoft Entra user, the commands would be as follows:
348347

349348
```bash
350349
export KUBECONFIG=/path/to/kubeconfig
351350
352-
kubelogin convert-kubeconfig
351+
kubelogin convert-kubeconfig --pop-enabled --pop-claims 'u=<ARM ID of cluster>"
353352
```
354353

355354
### [Kubernetes < v1.26](#tab/Kubernetes-earlier)

articles/azure-functions/dotnet-isolated-process-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ public class MultipleOutputBindings
346346
}
347347
```
348348

349-
When using custom return types for multiple output bindings with ASP.NET Core integration, you must add the `[HttpResult]` attribute to the property that provides the result.
349+
When using custom return types for multiple output bindings with ASP.NET Core integration, you must add the `[HttpResult]` attribute to the property that provides the result. The `HttpResult` attribute is available when using [SDK 1.17.3-preview2 or later](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk/1.17.3-preview2) along with [version 3.2.0 or later of the HTTP extension](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http/3.2.0) and [version 1.3.0 or later of the ASP.NET Core extension](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore/1.3.0).
350350

351351
### SDK types
352352

articles/azure-government/compare-azure-government-global-azure.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,10 @@ The following Azure Lighthouse **features aren't currently available** in Azure
308308
- Delegation of subscriptions across a national cloud and the Azure public cloud, or across two separate national clouds, isn't supported
309309
- Privileged Identity Management (PIM) feature isn't enabled, for example, just-in-time (JIT) / eligible authorization capability
310310

311+
### [Azure Managed Grafana](../managed-grafana/index.yml)
312+
313+
The following document contains information about Azure Managed Grafana feature availability in Azure Government: [Azure Managed Grafana: Feature availability in sovereign clouds](../managed-grafana/known-limitations.md?#feature-availability-in-sovereign-clouds).
314+
311315
### [Azure Monitor](../azure-monitor/index.yml)
312316

313317
Azure Monitor enables the same features in both Azure and Azure Government.

articles/azure-monitor/alerts/action-groups.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Global requests from clients can be processed by action group services in any re
6464

6565
|Notification type|Description |Fields|
6666
|---------|---------|---------|
67-
|Email Azure Resource Manager role|Send an email to the subscription members, based on their role.<br>A notification email is sent only to the primary email address configured for the Microsoft Entra user.<br>The email is only sent to Microsoft Entra ID **user** members of the selected role, not to Microsoft Entra groups or service principals.<br> See [Email](#email-azure-resource-manager).|Enter the primary email address configured for the Microsoft Entra user. See [Email](#email-azure-resource-manager).|
67+
|Email Azure Resource Manager role|Send an email to the subscription members, based on their role.<br> See [Email](#email-azure-resource-manager).|Enter the primary email address configured for the Microsoft Entra user. See [Email](#email-azure-resource-manager).|
6868
|Email| Ensure that your email filtering and any malware/spam prevention services are configured appropriately. Emails are sent from the following email addresses:<br> * [email protected]<br> * [email protected]<br> * [email protected]|Enter the email where the notification should be sent.|
6969
|SMS|SMS notifications support bi-directional communication. The SMS contains the following information:<br> * Shortname of the action group this alert was sent to<br> * The title of the alert.<br> A user can respond to an SMS to:<br> * Unsubscribe from all SMS alerts for all action groups or a single action group.<br> * Resubscribe to alerts<br> * Request help.<br> For more information about supported SMS replies, see [SMS replies](#sms-replies).|Enter the **Country code** and the **Phone number** for the SMS recipient. If you can't select your country/region code in the Azure portal, SMS isn't supported for your country/region. If your country/region code isn't available, you can vote to have your country/region added at [Share your ideas](https://feedback.azure.com/d365community/idea/e527eaa6-2025-ec11-b6e6-000d3a4f09d0). As a workaround until your country is supported, configure the action group to call a webhook to a third-party SMS provider that supports your country/region.|
7070
|Azure app Push notifications|Send notifications to the Azure mobile app. To enable push notifications to the Azure mobile app, provide the For more information about the Azure mobile app, see [Azure mobile app](https://azure.microsoft.com/features/azure-portal/mobile-app/).|In the **Azure account email** field, enter the email address that you use as your account ID when you configure the Azure mobile app. |
@@ -348,9 +348,7 @@ When an email address is rate limited, a notification is sent to communicate tha
348348

349349
## Email Azure Resource Manager
350350

351-
When you use Azure Resource Manager for email notifications, you can send email to the members of a subscription's role. Email is only sent to Microsoft Entra ID **user** members of the role. Email isn't sent to Microsoft Entra groups or service principals.
352-
353-
A notification email is sent only to the primary email address.
351+
When you use Azure Resource Manager for email notifications, you can send email to the members of a subscription's role. Email is sent to Microsoft Entra ID **user** or **group** members of the role. This includes support for roles assigned through Azure Lighthouse.
354352

355353
If your primary email doesn't receive notifications, configure the email address for the Email Azure Resource Manager role:
356354

articles/azure-monitor/alerts/alerts-dynamic-thresholds.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,9 @@ Follow the procedure to [create or edit an alert rule](alerts-create-new-alert-r
8080
1. In the **Aggregation type**, we recommend that you don't select **Maximum**.
8181
1. In the **Operator** field, select **Greater than** unless behavior represents the application usage.
8282
1. In **Threshold Sensitivity**, select **Medium** or **Low** to reduce alert noise.
83-
1. In the **Check every** field, consider lowering the frequency based on the business impact of the alert.
84-
1. In the **Lookback period**, set the look-back window to at least 15 minutes. For example, if the **check every** field is set to 5 minutes, the lookback period should be at least 3 minutes or more.
83+
1. In the **Check every** field, select how often the alert rule checks if the condition is met. To minimize the the business impact of the alert, consider using a lower frequency. Make sure that the **check every** field is less than or equal to the **lookback period** field.
84+
1. In the **Lookback period**, set the time period to look back at each time the data is checked. Make sure that this **lookback period** is greater than or equal to the **Check every** field.
85+
1. In the **Advanced Settings**, choose how many violations will trigger the alert within a specific time period. Optionally, set the date from which to start learning the metric historical data and calculate the dynamic thresholds.
8586
1. Continue with the rest of the process to create an alert rule.
8687

8788
> [!NOTE]

articles/azure-resource-manager/bicep/bicep-functions-lambda.md

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This article describes the lambda functions to use in Bicep. [Lambda expressions
2020

2121
Bicep lambda function has these limitations:
2222

23-
- Lambda expression can only be specified directly as function arguments in these functions: [`filter()`](#filter), [`map()`](#map), [`reduce()`](#reduce), [`sort()`](#sort), and [`toObject()`](#toobject).
23+
- Lambda expression can only be specified directly as function arguments in these functions: [`filter()`](#filter), [`groupBy()`](#groupby), [`map()`](#map), [`mapValues()`](#mapvalues), [`reduce()`](#reduce), [`sort()`](#sort), and [`toObject()`](#toobject).
2424
- Using lambda variables (the temporary variables used in the lambda expressions) inside resource or module array access isn't currently supported.
2525
- Using lambda variables inside the [`listKeys`](./bicep-functions-resource.md#list) function isn't currently supported.
2626
- Using lambda variables inside the [reference](./bicep-functions-resource.md#reference) function isn't currently supported.
@@ -66,20 +66,24 @@ var dogs = [
6666
interests: ['Butter']
6767
}
6868
{
69-
name: 'Kira'
69+
name: 'Cira'
7070
age: 8
7171
interests: ['Rubs']
7272
}
7373
]
7474
7575
output oldDogs array = filter(dogs, dog => dog.age >=5)
76+
output dogNameIndex array = filter(dogs, (val, i) => i < 2 && substring(val.name, 0, 1) == 'C')
7677
```
7778

78-
The output from the preceding example shows the dogs that are five or older:
79+
The outputs from the preceding example:
7980

8081
| Name | Type | Value |
8182
| ---- | ---- | ----- |
8283
| oldDogs | Array | [{"name":"Evie","age":5,"interests":["Ball","Frisbee"]},{"name":"Kira","age":8,"interests":["Rubs"]}] |
84+
| dogNameIndex | Array | [{"name":"Casper","age":3,"interests":["Other dogs"]}] |
85+
86+
**oldDogs** lists the dogs that are five or older; **dogNameIndex** identifies the dogs whose index number is less than two and whose name starts with the letter "C".
8387

8488
```bicep
8589
var itemForLoop = [for item in range(0, 10): item]
@@ -88,7 +92,7 @@ output filteredLoop array = filter(itemForLoop, i => i > 5)
8892
output isEven array = filter(range(0, 10), i => 0 == i % 2)
8993
```
9094

91-
The output from the preceding example:
95+
The outputs from the preceding example:
9296

9397
| Name | Type | Value |
9498
| ---- | ---- | ----- |
@@ -118,15 +122,15 @@ An object.
118122

119123
### Examples
120124

121-
The following examples show how to use the `groupBy` function.
125+
The following example shows how to use the `groupBy` function.
122126

123127
```bicep
124128
var inputArray = ['foo', 'bar', 'baz']
125129
126130
output outObject object = groupBy(inputArray, x => substring(x, 0, 1))
127131
```
128132

129-
The output from the preceding example shows the dogs that are five or older:
133+
The output from the preceding example:
130134

131135
| Name | Type | Value |
132136
| ---- | ---- | ----- |
@@ -183,22 +187,24 @@ var dogs = [
183187
184188
output dogNames array = map(dogs, dog => dog.name)
185189
output sayHi array = map(dogs, dog => 'Hello ${dog.name}!')
186-
output mapObject array = map(range(0, length(dogs)), i => {
190+
output mapArray array = map(range(0, length(dogs)), i => {
187191
i: i
188192
dog: dogs[i].name
189193
greeting: 'Ahoy, ${dogs[i].name}!'
190194
})
195+
output mapArrayIndex array = map(dogs, (x, i) => { index: i, val: x.name})
191196
```
192197

193-
The output from the preceding example is:
198+
The outputs from the preceding example are:
194199

195200
| Name | Type | Value |
196201
| ---- | ---- | ----- |
197202
| dogNames | Array | ["Evie","Casper","Indy","Kira"] |
198203
| sayHi | Array | ["Hello Evie!","Hello Casper!","Hello Indy!","Hello Kira!"] |
199-
| mapObject | Array | [{"i":0,"dog":"Evie","greeting":"Ahoy, Evie!"},{"i":1,"dog":"Casper","greeting":"Ahoy, Casper!"},{"i":2,"dog":"Indy","greeting":"Ahoy, Indy!"},{"i":3,"dog":"Kira","greeting":"Ahoy, Kira!"}] |
204+
| mapArray | Array | [{"i":0,"dog":"Evie","greeting":"Ahoy, Evie!"},{"i":1,"dog":"Casper","greeting":"Ahoy, Casper!"},{"i":2,"dog":"Indy","greeting":"Ahoy, Indy!"},{"i":3,"dog":"Kira","greeting":"Ahoy, Kira!"}] |
205+
| mapArrayIndex | Array | [{"index":0,"val":"Evie"},{"index":1,"val":"Casper"},{"index":2,"val":"Indy"},{"index":3,"val":"Kira"}] |
200206

201-
**dogNames** shows the dog names from the array of objects; **sayHi** concatenates "Hello" and each of the dog names; and **mapObject** creates another array of objects.
207+
**dogNames** shows the dog names from the array of objects; **sayHi** concatenates "Hello" and each of the dog names; **mapArray** and **mapArrayIndex** create another two arrays of objects.
202208

203209
## mapValues
204210

@@ -287,16 +293,18 @@ var dogs = [
287293
var ages = map(dogs, dog => dog.age)
288294
output totalAge int = reduce(ages, 0, (cur, next) => cur + next)
289295
output totalAgeAdd1 int = reduce(ages, 1, (cur, next) => cur + next)
296+
output oddAge int = reduce(ages, 0, (cur, next, i) => (i % 2 == 0) ? cur + next : cur)
290297
```
291298

292-
The output from the preceding example is:
299+
The outputs from the preceding example are:
293300

294301
| Name | Type | Value |
295302
| ---- | ---- | ----- |
296303
| totalAge | int | 18 |
297304
| totalAgeAdd1 | int | 19 |
305+
| oddAge | int | 7 |
298306

299-
**totalAge** sums the ages of the dogs; **totalAgeAdd1** has an initial value of 1, and adds all the dog ages to the initial values.
307+
**totalAge** sums the ages of the dogs; **totalAgeAdd1** has an initial value of 1, and adds all the dog ages to the initial values. **oddAge** sums the ages of dogs that are located at even indices, specifically **5** (Evie) and **2** (Indy).
300308

301309
```bicep
302310
output reduceObjectUnion object = reduce([
@@ -477,4 +485,4 @@ The preceding example generates an object based on an array.
477485

478486
## Next steps
479487

480-
- See [Bicep functions - arrays](./bicep-functions-array.md) for additional array related Bicep functions.
488+
- See [Bicep functions - arrays](./bicep-functions-array.md) for more array-related Bicep functions.

0 commit comments

Comments
 (0)