Skip to content

Commit 1324c69

Browse files
Learn Build Service GitHub AppLearn Build Service GitHub App
authored andcommitted
Merging changes synced from https://github.com/MicrosoftDocs/azure-docs-pr (branch live)
2 parents 63e925a + 15ce635 commit 1324c69

File tree

110 files changed

+1741
-439
lines changed

Some content is hidden

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

110 files changed

+1741
-439
lines changed

articles/ai-services/document-intelligence/how-to-guides/includes/v3-0/javascript-sdk.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -589,12 +589,12 @@ async function main() {
589589
} = await poller.pollUntilDone();
590590

591591
if (result) {
592-
The identity document model has multiple document types, so we need to know which document type was actually
592+
// The identity document model has multiple document types, so we need to know which document type was actually
593593
extracted.
594594
if (result.docType === "idDocument.driverLicense") {
595595
const { FirstName, LastName, DocumentNumber, DateOfBirth, DateOfExpiration, Height, Weight, EyeColor, Endorsements, Restrictions, VehicleClassifications} = result.fields;
596596

597-
For the sake of the example, we'll only show a few of the fields that are produced.
597+
// For the sake of the example, we'll only show a few of the fields that are produced.
598598
console.log("Extracted a Driver License:");
599599
console.log(" Name:", FirstName && FirstName.content, LastName && LastName.content);
600600
console.log(" License No.:", DocumentNumber && DocumentNumber.content);
@@ -607,7 +607,7 @@ async function main() {
607607
console.log(" Endorsements:", Endorsements && Endorsements.content);
608608
console.log(" Class:", VehicleClassifications && VehicleClassifications.content);
609609
} else if (result.docType === "idDocument.passport") {
610-
The passport document type extracts and parses the Passport's machine-readable zone
610+
// The passport document type extracts and parses the Passport's machine-readable zone
611611
if (!result.fields.machineReadableZone) {
612612
throw new Error("No Machine Readable Zone extracted from passport.");
613613
}
@@ -630,7 +630,7 @@ async function main() {
630630
console.log(" Issuer:", CountryRegion && CountryRegion.content);
631631
console.log(" Expiration Date:", DateOfExpiration && DateOfExpiration.content);
632632
} else {
633-
The only reason this would happen is if the client library's schema for the prebuilt identity document model is
633+
// The only reason this would happen is if the client library's schema for the prebuilt identity document model is
634634
out of date, and a new document type has been introduced.
635635
console.error("Unknown document type in result:", result);
636636
}

articles/ai-services/openai/concepts/use-your-data.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,24 @@ Avoid asking long questions and break them down into multiple questions if possi
152152

153153
* If you have documents in multiple languages, we recommend building a new index for each language and connecting them separately to Azure OpenAI.
154154

155-
### Using the web app
155+
### Deploying the model
156156

157-
You can use the available web app to interact with your model using a graphical user interface, which you can deploy using either [Azure OpenAI studio](../use-your-data-quickstart.md?pivots=programming-language-studio#deploy-a-web-app) or a [manual deployment](https://github.com/microsoft/sample-app-aoai-chatGPT).
157+
After you connect Azure OpenAI to your data, you can deploy it using the **Deploy to** button in Azure OpenAI studio.
158+
159+
:::image type="content" source="../media/use-your-data/deploy-model.png" alt-text="A screenshot showing the model deployment button in Azure OpenAI Studio." lightbox="../media/use-your-data/deploy-model.png":::
160+
161+
#### Using Power Virtual Agents
162+
163+
You can deploy your model to [Power Virtual Agents](/power-virtual-agents/fundamentals-what-is-power-virtual-agents) directly from Azure OpenAI studio, enabling you to bring conversational experiences to various data stores like public websites, SharePoint, OneDrive, and more. Power Virtual Agents acts as a conversational and generative AI platform, making the process of creating, publishing and deploying a bot to any number of channels simple and accessible.
164+
165+
While Power Virtual Agents has features that leverage Azure OpenAI such as [generative answers](/power-virtual-agents/nlu-boost-conversations), deploying a model grounded on your data lets you create a chatbot that will respond using your data, and connect it to the Power Platform. For more information, see [Use a connection to Azure OpenAI on your data](/power-virtual-agents/nlu-generative-answers-azure-openai).
166+
167+
> [!VIDEO https://www.microsoft.com/videoplayer/embed/RW192hF]
168+
169+
170+
#### Using the web app
171+
172+
You can also use the available standalone web app to interact with your model using a graphical user interface, which you can deploy using either Azure OpenAI studio or a [manual deployment](https://github.com/microsoft/sample-app-aoai-chatGPT).
158173

159174
![A screenshot of the web app interface.](../media/use-your-data/web-app.png)
160175

@@ -170,6 +185,22 @@ When customizing the app, we recommend:
170185

171186
- Pulling changes from the `main` branch for the web app's source code frequently to ensure you have the latest bug fixes and improvements.
172187

188+
#### Important considerations
189+
190+
- Publishing creates an Azure App Service in your subscription. It may incur costs depending on the
191+
[pricing plan](https://azure.microsoft.com/pricing/details/app-service/windows/) you select. When you're done with your app, you can delete it from the Azure portal.
192+
- You can [customize](../concepts/use-your-data.md#using-the-web-app) the frontend and backend logic of the web app.
193+
- By default, the app will only be accessible to you. To add authentication (for example, restrict access to the app to members of your Azure tenant):
194+
195+
1. Go to the [Azure portal](https://portal.azure.com/#home) and search for the app name you specified during publishing. Select the web app, and go to the **Authentication** tab on the left navigation menu. Then select **Add an identity provider**.
196+
197+
:::image type="content" source="../media/quickstarts/web-app-authentication.png" alt-text="Screenshot of the authentication page in the Azure portal." lightbox="../media/quickstarts/web-app-authentication.png":::
198+
199+
1. Select Microsoft as the identity provider. The default settings on this page will restrict the app to your tenant only, so you don't need to change anything else here. Then select **Add**
200+
201+
Now users will be asked to sign in with their Azure Active Directory account to be able to access your app. You can follow a similar process to add another identity provider if you prefer. The app doesn't use the user's login information in any other way other than verifying they are a member of your tenant.
202+
203+
173204
### Using the API
174205

175206
Consider setting the following parameters even if they are optional for using the API.

articles/ai-services/openai/includes/deploy-web-app.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@ ms.topic: include
99
ms.date: 06/15/2023
1010
---
1111

12-
## Deploy a web app
12+
## Deploy your model
1313

1414
Once you're satisfied with the experience in Azure OpenAI studio, you can deploy a web app directly from the
1515
Studio by selecting the **Deploy to** button.
1616

17-
:::image type="content" source="../media/quickstarts/chatgpt-playground-publish-web-app.png" alt-text="A screenshot showing the button to publish a web app in Azure AI studio." lightbox="../media/quickstarts/chatgpt-playground-publish-web-app.png":::
17+
:::image type="content" source="../media/use-your-data/deploy-model.png" alt-text="A screenshot showing the model deployment button in Azure OpenAI Studio." lightbox="../media/use-your-data/deploy-model.png":::
18+
19+
This gives you the option to either [deploy the model](../concepts/use-your-data.md#deploying-the-model) as a standalone web application, or to Power Virtual Agents.
20+
21+
As an example, if you choose to deploy a web app:
1822

1923
The first time you deploy a web app, you should select **Create a new web app**. Choose a name for the app, which will
2024
become part of the app URL. For example, `https://<appname>.azurewebsites.net`.
@@ -23,5 +27,6 @@ Select your subscription, resource group, location, and pricing plan for the pub
2327
update an existing app, select **Publish to an existing web app** and choose the name of your previous
2428
app from the dropdown menu.
2529

30+
If you choose to deploy a web app, see the [important considerations](../concepts/use-your-data.md#important-considerations) for using it.
2631
> [!div class="nextstepaction"]
27-
> [I ran into an issue with the web app.](https://microsoft.qualtrics.com/jfe/form/SV_0Cl5zkG3CnDjq6O?PLanguage=STUDIO&Pillar=AOAI&Product=ownData&Page=quickstart&Section=Create-sample-app)
32+
> [I ran into an issue with deploying the model.](https://microsoft.qualtrics.com/jfe/form/SV_0Cl5zkG3CnDjq6O?PLanguage=STUDIO&Pillar=AOAI&Product=ownData&Page=quickstart&Section=Create-sample-app)

articles/ai-services/openai/includes/use-your-data-studio.md

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,3 @@ You can experiment with the configuration settings such as temperature and pre-r
6161

6262
[!INCLUDE [deploy-web-app](deploy-web-app.md)]
6363

64-
65-
### Important considerations
66-
67-
- Publishing creates an Azure App Service in your subscription. It may incur costs depending on the
68-
[pricing plan](https://azure.microsoft.com/pricing/details/app-service/windows/) you select. When you're done with your app, you can delete it from the Azure portal.
69-
- You can [customize](../concepts/use-your-data.md#using-the-web-app) the frontend and backend logic of the web app.
70-
- By default, the app will only be accessible to you. To add authentication (for example, restrict access to the app to members of your Azure tenant):
71-
72-
1. Go to the [Azure portal](https://portal.azure.com/#home) and search for the app name you specified during publishing. Select the web app, and go to the **Authentication** tab on the left navigation menu. Then select **Add an identity provider**.
73-
74-
:::image type="content" source="../media/quickstarts/web-app-authentication.png" alt-text="Screenshot of the authentication page in the Azure portal." lightbox="../media/quickstarts/web-app-authentication.png":::
75-
76-
1. Select Microsoft as the identity provider. The default settings on this page will restrict the app to your tenant only, so you don't need to change anything else here. Then select **Add**
77-
78-
Now users will be asked to sign in with their Azure Active Directory account to be able to access your app. You can follow a similar process to add another identity provider if you prefer. The app doesn't use the user's login information in any other way other than verifying they are a member of your tenant.
9.22 KB
Loading

articles/aks/app-routing.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
2-
title: Use the application routing add-on with Azure Kubernetes Service (AKS) clusters (preview)
2+
title: Azure Kubernetes Service (AKS) ingress with the application routing add-on (preview)
33
description: Use the application routing add-on to securely access applications deployed on Azure Kubernetes Service (AKS).
44
ms.subservice: aks-networking
55
ms.custom: devx-track-azurecli
6-
author: sabbour
6+
author: asudbring
77
ms.topic: how-to
8-
ms.date: 05/04/2023
9-
ms.author: asabbour
8+
ms.date: 08/07/2023
9+
ms.author: allensu
1010
---
1111

12-
# Use the application routing add-on with Azure Kubernetes Service (AKS) clusters (preview)
12+
# Azure Kubernetes Service (AKS) ingress with the application routing add-on (preview)
1313

1414
The application routing add-on configures an [ingress controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/) in your Azure Kubernetes Service (AKS) cluster with SSL termination through certificates stored in Azure Key Vault. It can optionally integrate with Open Service Mesh (OSM) for end-to-end encryption of inter-cluster communication using mutual TLS (mTLS). When you deploy ingresses, the add-on creates publicly accessible DNS names for endpoints on an Azure DNS zone.
1515

articles/aks/ingress-basic.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
---
2-
title: Create an ingress controller in Azure Kubernetes Service (AKS)
2+
title: Create an unmanaged ingress controller
3+
titleSuffix: Azure Kubernetes Service
34
description: Learn how to create and configure an ingress controller in an Azure Kubernetes Service (AKS) cluster.
45
author: asudbring
56
ms.author: allensu
67
ms.subservice: aks-networking
78
ms.custom: devx-track-azurepowershell
89
ms.topic: how-to
9-
ms.date: 02/23/2023
10+
ms.date: 08/07/2023
1011
---
1112

12-
# Create an ingress controller in Azure Kubernetes Service (AKS)
13+
# Create an unmanaged ingress controller
1314

1415
An ingress controller is a piece of software that provides reverse proxy, configurable traffic routing, and TLS termination for Kubernetes services. Kubernetes ingress resources are used to configure the ingress rules and routes for individual Kubernetes services. When you use an ingress controller and ingress rules, a single IP address can be used to route traffic to multiple services in a Kubernetes cluster.
1516

articles/aks/istio-deploy-ingress.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
---
2-
title: Deploy external or internal ingresses for Istio service mesh add-on for Azure Kubernetes Service (preview)
2+
title: Azure Kubernetes Service (AKS) external or internal ingresses for Istio service mesh add-on (preview)
33
description: Deploy external or internal ingresses for Istio service mesh add-on for Azure Kubernetes Service (preview)
4-
ms.topic: article
5-
ms.custom:
6-
ms.date: 04/09/2023
7-
ms.author: shasb
4+
ms.topic: how-to
5+
ms.service: azure-kubernetes-service
6+
ms.subservice: aks-networking
7+
author: asudbring
8+
ms.date: 08/07/2023
9+
ms.author: allensu
810
---
911

10-
# Deploy external or internal ingresses for Istio service mesh add-on for Azure Kubernetes Service (preview)
12+
# Azure Kubernetes Service (AKS) external or internal ingresses for Istio service mesh add-on deployment (preview)
1113

1214
This article shows you how to deploy external or internal ingresses for Istio service mesh add-on for Azure Kubernetes Service (AKS) cluster.
1315

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

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,65 @@ The following example injects a singleton service dependency:
122122

123123
This code requires `using Microsoft.Extensions.DependencyInjection;`. To learn more, see [Dependency injection in ASP.NET Core](/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-5.0&preserve-view=true).
124124

125+
#### Register Azure clients
126+
127+
Dependency injection can be used to interact with other Azure services. You can inject clients from the [Azure SDK for .NET](/dotnet/azure/sdk/azure-sdk-for-dotnet) using the [Microsoft.Extensions.Azure](https://www.nuget.org/packages/Microsoft.Extensions.Azure) package. After installing the package, [register the clients](/dotnet/azure/sdk/dependency-injection#register-clients) by calling `AddAzureClients()` on the service collection in `Program.cs`. The following example configures a [named client](/dotnet/azure/sdk/dependency-injection#configure-multiple-service-clients-with-different-names) for Azure Blobs:
128+
129+
```csharp
130+
using Microsoft.Extensions.Azure;
131+
using Microsoft.Extensions.Hosting;
132+
133+
var host = new HostBuilder()
134+
.ConfigureFunctionsWorkerDefaults()
135+
.ConfigureServices((hostContext, services) =>
136+
{
137+
services.AddAzureClients(clientBuilder =>
138+
{
139+
clientBuilder.AddBlobServiceClient(hostContext.Configuration.GetSection("MyStorageConnection"))
140+
.WithName("copierOutputBlob");
141+
});
142+
})
143+
.Build();
144+
145+
host.Run();
146+
```
147+
148+
The following example shows how we can use this registration and [SDK types](#sdk-types) to copy blob contents as a stream from one container to another using an injected client:
149+
150+
```csharp
151+
using Microsoft.Extensions.Azure;
152+
using Microsoft.Extensions.Logging;
153+
154+
namespace MyFunctionApp
155+
{
156+
public class BlobCopier
157+
{
158+
private readonly ILogger<BlobCopier> _logger;
159+
private readonly BlobContainerClient _copyContainerClient;
160+
161+
public BlobCopier(ILogger<BlobCopier> logger, IAzureClientFactory<BlobServiceClient> blobClientFactory)
162+
{
163+
_logger = logger;
164+
_copyContainerClient = blobClientFactory.CreateClient("copierOutputBlob").GetBlobContainerClient("samples-workitems-copy");
165+
_copyContainerClient.CreateIfNotExists();
166+
}
167+
168+
[Function("BlobCopier")]
169+
public async Task Run([BlobTrigger("samples-workitems/{name}", Connection = "MyStorageConnection")] Stream myBlob, string name)
170+
{
171+
await _copyContainerClient.UploadBlobAsync(name, myBlob);
172+
_logger.LogInformation($"Blob {name} copied!");
173+
}
174+
175+
}
176+
}
177+
```
178+
179+
The [ILogger&lt;T&gt;] in this example was also obtained through dependency injection. It is registered automatically. To learn more about configuration options for logging, see [Logging](#logging).
180+
181+
> [!TIP]
182+
> The example used a literal string for the name of the client in both `Program.cs` and the function. Consider instead using a shared constant string defined on the function class. For example, you could add `public const string CopyStorageClientName = nameof(_copyContainerClient);` and then reference `BlobCopier.CopyStorageClientName` in both locations. You could similarly define the configuration section name with the function rather than in `Program.cs`.
183+
125184
### Middleware
126185

127186
.NET isolated also supports middleware registration, again by using a model similar to what exists in ASP.NET. This model gives you the ability to inject logic into the invocation pipeline, and before and after functions execute.
@@ -246,7 +305,7 @@ Each trigger and binding extension also has its own minimum version requirement,
246305
[eventhub-sdk-types]: ./functions-bindings-event-hubs.md?tabs=isolated-process%2Cextensionv5&pivots=programming-language-csharp#binding-types
247306
[servicebus-sdk-types]: ./functions-bindings-service-bus.md?tabs=isolated-process%2Cextensionv5&pivots=programming-language-csharp#binding-types
248307

249-
<sup>1</sup> For output scenarios in which you would use an SDK type, you should create and work with SDK clients directly instead of using an output binding.
308+
<sup>1</sup> For output scenarios in which you would use an SDK type, you should create and work with SDK clients directly instead of using an output binding. See [Register Azure clients](#register-azure-clients) for an example of how to do this with dependency injection.
250309

251310
<sup>2</sup> The Service Bus trigger does not yet support message settlement scenarios for the isolated model.
252311

@@ -502,6 +561,7 @@ Because your isolated worker process app runs outside the Functions runtime, you
502561
[FunctionContext]: /dotnet/api/microsoft.azure.functions.worker.functioncontext?view=azure-dotnet&preserve-view=true
503562
[ILogger]: /dotnet/api/microsoft.extensions.logging.ilogger
504563
[ILogger&lt;T&gt;]: /dotnet/api/microsoft.extensions.logging.ilogger-1
564+
[ILoggerFactory]: /dotnet/api/microsoft.extensions.logging.iloggerfactory
505565
[GetLogger]: /dotnet/api/microsoft.azure.functions.worker.functioncontextloggerextensions.getlogger
506566
[GetLogger&lt;T&gt;]: /dotnet/api/microsoft.azure.functions.worker.functioncontextloggerextensions.getlogger#microsoft-azure-functions-worker-functioncontextloggerextensions-getlogger-1
507567
[HttpRequestData]: /dotnet/api/microsoft.azure.functions.worker.http.httprequestdata?view=azure-dotnet&preserve-view=true

articles/azure-functions/functions-app-settings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ Connection string for storage account where the function app code and configurat
517517
|---|------------|
518518
|WEBSITE_CONTENTAZUREFILECONNECTIONSTRING|`DefaultEndpointsProtocol=https;AccountName=...`|
519519

520-
This setting is required for Consumption plan apps on Windows and for Premium plan apps on both Windows and Linux. It's not required for Dedicated plan apps, which aren't dynamically scaled by Functions.
520+
This setting is required for Consumption plan apps on Windows and for Elastic Premium plan apps on both Windows and Linux. It's not required for Dedicated plan apps, which aren't dynamically scaled by Functions.
521521

522522
Changing or removing this setting may cause your function app to not start. To learn more, see [this troubleshooting article](functions-recover-storage-account.md#storage-account-application-settings-were-deleted).
523523

0 commit comments

Comments
 (0)