Skip to content

Commit 6e839b6

Browse files
authored
Merge pull request #285284 from MicrosoftDocs/main
8/22/2024 AM Publish
2 parents 480d3f3 + d03d947 commit 6e839b6

File tree

105 files changed

+1723
-700
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

+1723
-700
lines changed

articles/ai-services/document-intelligence/faq.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,15 @@ sections:
134134
answer: |
135135
**Yes.**
136136
137-
If your Document Intelligence resource is configured with a firewall or virtual network, you need to add the dedicated IP address 20.3.165.95 to the firewall allowlist for your Document Intelligence resource.
137+
If your Document Intelligence resource is configured with a firewall or virtual network, you need to add the dedicated IP address 20.3.165.95 to the firewall allowlist for your Document Intelligence resource. Please note that some functions in custom projects (e.g. auto-label, project management and human in the loop) won't work if the public network access is disabled.
138+
139+
- question: |
140+
When I upload a file in Document Intelligence Studio by "Fetch from URL" function, can I use a URL from my blob storage?
141+
142+
answer: |
143+
**Yes.**
144+
145+
If your Azure blob storage URL includes a SAS token and is accessible from public networks. You cannot use the **Fetch** function for storage accounts where the key access is disabled or behind a firewall/VNet.
138146
139147
- question: |
140148
Can I reuse or customize the labeling experience from Document Intelligence Studio and build it into my own application?

articles/ai-services/document-intelligence/managed-identities-secured-access.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ To ensure that the Document Intelligence resource can access the training datase
114114

115115
:::image type="content" source="media/managed-identities/v2-stg-role-assign-role.png" alt-text="Screenshot of add role assignment window.":::
116116

117-
1. On the **Role** tab, search for and select the **Storage Blob Data Reader** permission and select **Next**.
117+
1. On the **Role** tab, search for and select the **Storage Blob Data Contributor** permission and select **Next**.
118118

119119
:::image type="content" source="media/managed-identities/v2-stg-role-assignment.png" alt-text="Screenshot of choose a role tab.":::
120120

@@ -279,7 +279,7 @@ That's it! You can now configure secure access for your Document Intelligence re
279279

280280
:::image type="content" source="media/managed-identities/content-source-error.png" alt-text="Screenshot of content source not accessible error.":::
281281

282-
**Resolution**: Make sure you grant your Document Intelligence managed identity the role of **Storage Blob Data Reader** and enabled **Trusted services** access or **Resource instance** rules on the networking tab.
282+
**Resolution**: Make sure you grant your Document Intelligence managed identity the role of **Storage Blob Data Contributor** and enabled **Trusted services** access or **Resource instance** rules on the networking tab.
283283

284284
* **AccessDenied**:
285285

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,14 +151,14 @@ Extract text, selection marks, text styles, table structures, and bounding regio
151151
const { AzureKeyCredential } = require("@azure/core-auth");
152152

153153
// set `<your-key>` and `<your-endpoint>` variables with the values from the Azure portal.
154-
const key = "<your-key";
154+
const key = "<your-key>";
155155
const endpoint = "<your-endpoint>";
156156

157157
// sample document
158158
const formUrl = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-layout.pdf"
159159

160160
async function main() {
161-
const client = DocumentIntelligence(endpoint, new AzureKeyCredential(key:key));
161+
const client = DocumentIntelligence(endpoint, new AzureKeyCredential(key));
162162

163163

164164
const initialResponse = await client
@@ -329,7 +329,7 @@ const { AzureKeyCredential } = require("@azure/core-auth");
329329

330330
async function main() {
331331

332-
const client = DocumentIntelligence(endpoint, new AzureKeyCredential(key:key));
332+
const client = DocumentIntelligence(endpoint, new AzureKeyCredential(key));
333333

334334
const initialResponse = await client
335335
.path("/documentModels/{modelId}:analyze", "prebuilt-invoice")

articles/ai-services/language-service/custom-named-entity-recognition/includes/roles-for-resource-and-storage.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,16 @@ Use the following steps to set the required roles for your Language resource and
3737
5. Select **Select members**
3838
6. Select your subscription, and **Language** as the managed identity. You can search for user names in the **Select** field.
3939

40+
### Roles for your user
41+
> [!IMPORTANT]
42+
> If you skip this step, you'll have a 403 error when trying to connect to your custom project. It's important that your current user has this role to access storage account blob data, even if you're the owner of the storage account.
43+
>
44+
1. Go to your storage account page in the [Azure portal](https://portal.azure.com/).
45+
2. Select **Access Control (IAM)** in the left navigation menu.
46+
3. Select **Add** to **Add Role Assignments**, and choose the **Storage blob data contributor** role on the storage account.
47+
4. Within **Assign access to**, select **User, group, or service principal**.
48+
5. Select **Select members**
49+
6. Select your User. You can search for user names in the **Select** field.
50+
4051
> [!IMPORTANT]
4152
> If you have a virtual network or private endpoint, be sure to select **Allow Azure services on the trusted services list to access this storage account** in the Azure portal.

articles/ai-services/language-service/custom-text-classification/concepts/data-formats.md

Lines changed: 68 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -27,39 +27,40 @@ Your Labels file should be in the `json` format below. This will enable you to [
2727
"projectFileVersion": "2022-05-01",
2828
"stringIndexType": "Utf16CodeUnit",
2929
"metadata": {
30-
"projectKind": "CustomMultiLabelClassification",
31-
"storageInputContainerName": "{CONTAINER-NAME}",
32-
"projectName": "{PROJECT-NAME}",
33-
"multilingual": false,
34-
"description": "Project-description",
35-
"language": "en-us"
30+
"projectKind": "CustomMultiLabelClassification",
31+
"storageInputContainerName": "{CONTAINER-NAME}",
32+
"projectName": "{PROJECT-NAME}",
33+
"multilingual": false,
34+
"description": "Project-description",
35+
"language": "en-us"
3636
},
3737
"assets": {
38-
"projectKind": "CustomMultiLabelClassification",
39-
"classes": [
40-
{
41-
"category": "Class1"
42-
},
43-
{
44-
"category": "Class2"
45-
}
46-
],
47-
"documents": [
48-
{
49-
"location": "{DOCUMENT-NAME}",
50-
"language": "{LANGUAGE-CODE}",
51-
"dataset": "{DATASET}",
52-
"classes": [
53-
{
54-
"category": "Class1"
55-
},
56-
{
57-
"category": "Class2"
58-
}
59-
]
60-
}
61-
]
62-
}
38+
"projectKind": "CustomMultiLabelClassification",
39+
"classes": [
40+
{
41+
"category": "Class1"
42+
},
43+
{
44+
"category": "Class2"
45+
}
46+
],
47+
"documents": [
48+
{
49+
"location": "{DOCUMENT-NAME}",
50+
"language": "{LANGUAGE-CODE}",
51+
"dataset": "{DATASET}",
52+
"classes": [
53+
{
54+
"category": "Class1"
55+
},
56+
{
57+
"category": "Class2"
58+
}
59+
]
60+
}
61+
]
62+
}
63+
}
6364
```
6465

6566
|Key |Placeholder |Value | Example |
@@ -81,43 +82,44 @@ Your Labels file should be in the `json` format below. This will enable you to [
8182
"projectFileVersion": "2022-05-01",
8283
"stringIndexType": "Utf16CodeUnit",
8384
"metadata": {
84-
"projectKind": "CustomSingleLabelClassification",
85-
"storageInputContainerName": "{CONTAINER-NAME}",
86-
"settings": {},
87-
"projectName": "{PROJECT-NAME}",
88-
"multilingual": false,
89-
"description": "Project-description",
90-
"language": "en-us"
85+
"projectKind": "CustomSingleLabelClassification",
86+
"storageInputContainerName": "{CONTAINER-NAME}",
87+
"settings": {},
88+
"projectName": "{PROJECT-NAME}",
89+
"multilingual": false,
90+
"description": "Project-description",
91+
"language": "en-us"
9192
},
9293
"assets": {
93-
"projectKind": "CustomSingleLabelClassification",
94-
"classes": [
95-
{
96-
"category": "Class1"
97-
},
98-
{
99-
"category": "Class2"
100-
}
101-
],
102-
"documents": [
103-
{
104-
"location": "{DOCUMENT-NAME}",
105-
"language": "{LANGUAGE-CODE}",
106-
"dataset": "{DATASET}",
107-
"class": {
108-
"category": "Class2"
109-
}
110-
},
111-
{
112-
"location": "{DOCUMENT-NAME}",
113-
"language": "{LANGUAGE-CODE}",
114-
"dataset": "{DATASET}",
115-
"class": {
116-
"category": "Class1"
117-
}
118-
}
119-
]
120-
}
94+
"projectKind": "CustomSingleLabelClassification",
95+
"classes": [
96+
{
97+
"category": "Class1"
98+
},
99+
{
100+
"category": "Class2"
101+
}
102+
],
103+
"documents": [
104+
{
105+
"location": "{DOCUMENT-NAME}",
106+
"language": "{LANGUAGE-CODE}",
107+
"dataset": "{DATASET}",
108+
"class": {
109+
"category": "Class2"
110+
}
111+
},
112+
{
113+
"location": "{DOCUMENT-NAME}",
114+
"language": "{LANGUAGE-CODE}",
115+
"dataset": "{DATASET}",
116+
"class": {
117+
"category": "Class1"
118+
}
119+
}
120+
]
121+
}
122+
}
121123
```
122124
|Key |Placeholder |Value | Example |
123125
|---------|---------|----------|--|

articles/ai-studio/concepts/content-filtering.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,9 @@ Now, you can go to the playground to test whether the content filter works as ex
106106

107107
### Configurability (preview)
108108

109-
The default content filtering configuration for the GPT model series is set to filter at the medium severity threshold for all four content harm categories (hate, violence, sexual, and self-harm) and applies to both prompts (text, multi-modal text/image) and completions (text). This means that content that is detected at severity level medium or high is filtered, while content detected at severity level low isn't filtered by the content filters. For DALL-E, the default severity threshold is set to low for both prompts (text) and completions (images), so content detected at severity levels low, medium, or high is filtered. The configurability feature is available in preview and allows customers to adjust the settings, separately for prompts and completions, to filter content for each content category at different severity levels as described in the table below:
109+
The default content filtering configuration for the GPT model series is set to filter at the medium severity threshold for all four content harm categories (hate, violence, sexual, and self-harm) and applies to both prompts (text, multi-modal text/image) and completions (text). This means that content that is detected at severity level medium or high is filtered, while content detected at severity level low isn't filtered by the content filters. For DALL-E, the default severity threshold is set to low for both prompts (text) and completions (images), so content detected at severity levels low, medium, or high is filtered.
110+
111+
The configurability feature allows customers to adjust the settings, separately for prompts and completions, to filter content for each content category at different severity levels as described in the table below:
110112

111113
| Severity filtered | Configurable for prompts | Configurable for completions | Descriptions |
112114
|-------------------|--------------------------|------------------------------|--------------|

articles/ai-studio/reference/region-support.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Azure AI Studio brings together various Azure AI capabilities that previously we
2020

2121
## Azure Public regions
2222

23-
Azure AI Studio is currently available in preview in the following Azure regions. You can create [Azure AI Studio hubs](../how-to/create-azure-ai-resource.md) and Azure AI Studio projects in these regions.
23+
Azure AI Studio is currently available in the following Azure regions. You can create [Azure AI Studio hubs](../how-to/create-azure-ai-resource.md) and Azure AI Studio projects in these regions.
2424

2525
- Australia East
2626
- Brazil South
@@ -45,7 +45,7 @@ Azure AI Studio is currently available in preview in the following Azure regions
4545

4646
### Azure Government regions
4747

48-
Azure AI Studio preview is currently not available in Azure Government regions or air-gap regions.
48+
Azure AI Studio is currently not available in Azure Government regions or air-gap regions.
4949

5050
## Azure OpenAI
5151

articles/application-gateway/application-gateway-websocket.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.author: greglin
66
ms.service: azure-application-gateway
77
services: application-gateway
88
ms.topic: conceptual
9-
ms.date: 11/16/2019
9+
ms.date: 08/22/2024
1010
---
1111

1212
# Overview of WebSocket support in Application Gateway
@@ -26,7 +26,9 @@ To establish a WebSocket connection, a specific HTTP-based handshake is exchange
2626
![Diagram compares a client interacting with a web server, connecting twice to get two replies, with a WebSocket interaction, where a client connects to a server once to get multiple replies.](./media/application-gateway-websocket/websocket.png)
2727

2828
> [!NOTE]
29-
> As described, the HTTP protocol is used only to perform a handshake when establishing a WebSocket connection. Once the handshake is completed, a WebSocket connection gets opened for transmitting the data, and the Web Application Firewall (WAF) cannot parse any contents. Therefore, WAF doesn't perform any inspections on such data.
29+
> After a connection is upgraded to WebSocket, as an intermediary/terminating proxy, Application Gateway will simply send the data received from the frontend to the backend and vice-versa, without any inspection or manipulation capability.
30+
> Therefore, the Web Application Firewall (WAF) cannot parse any content and doesn't perform any inspections on such data. Similarly, any manipulations like Header Rewrites, URL Rewrites, or Overriding Hostname in the Backend Settings will not apply after establishing a WebSocket connection.
31+
3032

3133
### Listener configuration element
3234

articles/azure-functions/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -579,8 +579,8 @@
579579
href: disable-function.md
580580
- name: Networking
581581
href: configure-networking-how-to.md
582-
- name: Move across regions
583-
href: functions-move-across-regions.md
582+
- name: Relocate to another region
583+
href: ../operational-excellence/relocation-functions.md?toc=/azure/azure-functions/toc.json
584584
- name: Work with legacy Functions Proxies
585585
href: legacy-proxies.md
586586
- name: Migrate
219 KB
Loading

0 commit comments

Comments
 (0)