Skip to content

Commit ac2d7ce

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 6927fea + 3cc74ba commit ac2d7ce

11 files changed

+74
-50
lines changed

articles/app-service/webjobs-sdk-get-started.md

Lines changed: 61 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to enable your web apps to run background tasks. Use this
44
author: ggailey777
55
ms.devlang: csharp
66
ms.custom: devx-track-csharp
7-
ms.date: 06/25/2021
7+
ms.date: 01/17/2025
88
ms.author: glenga
99
ms.topic: tutorial
1010

@@ -15,7 +15,7 @@ ms.topic: tutorial
1515

1616
Get started with the Azure WebJobs SDK for Azure App Service to enable your web apps to run background tasks, scheduled tasks, and respond to events.
1717

18-
Use Visual Studio 2022 to create a .NET Core console app that uses the WebJobs SDK to respond to Azure Storage Queue messages, run the project locally, and finally deploy it to Azure.
18+
Use Visual Studio 2022 to create a .NET 8 console app that uses the WebJobs SDK to respond to Azure Storage Queue messages, run the project locally, and finally deploy it to Azure.
1919

2020
In this tutorial, you will learn how to:
2121

@@ -37,7 +37,7 @@ In this tutorial, you will learn how to:
3737
In this section, you start by creating a project in Visual Studio 2022. Next, you'll add tools for Azure development, code publishing, and functions that listen for triggers and call functions. Last, you'll set up console logging that disables a legacy monitoring tool and enables a console provider with default filtering.
3838

3939
>[!NOTE]
40-
>The procedures in this article are verified for creating a .NET Core console app that runs on .NET 6.0.
40+
>The procedures in this article are verified for creating a C# console app that runs on .NET 8.0.
4141
4242
### Create a project
4343

@@ -64,6 +64,9 @@ Install the latest WebJobs NuGet package. This package includes Microsoft.Azure.
6464
```powershell
6565
Install-Package Microsoft.Azure.WebJobs.Extensions -version <4_X_VERSION>
6666
```
67+
>[!NOTE]
68+
>The sample code in this article works with package versions 4.x. Make sure you use a 4.x version because you get build errors when using package versions 5.x.
69+
6770
5. In the **Package Manager Console**, execute the command. The extension list appears and automatically installs.
6871
6972
### Create the Host
@@ -109,10 +112,10 @@ Set up console logging that uses the [ASP.NET Core logging framework](/aspnet/co
109112
110113
1. Get the latest stable version of the [`Microsoft.Extensions.Logging.Console` NuGet package](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Console/), which includes `Microsoft.Extensions.Logging`.
111114
112-
2. In the following command, replace `<6_X_VERSION>` with the current version number you found in step 1. Each type of NuGet Package has a unique version number.
115+
2. In the following command, replace `<9_X_VERSION>` with the current version number you found in step 1. Each type of NuGet Package has a unique version number.
113116
114117
```powershell
115-
Install-Package Microsoft.Extensions.Logging.Console -version <6_X_VERSION>
118+
Install-Package Microsoft.Extensions.Logging.Console -version <9_X_VERSION>
116119
```
117120
3. In the **Package Manager Console**, fill in the current version number and execute the command. The extension list appears and automatically installs.
118121

@@ -126,24 +129,30 @@ Set up console logging that uses the [ASP.NET Core logging framework](/aspnet/co
126129
```cs
127130
builder.ConfigureLogging((context, b) =>
128131
{
129-
b.AddConsole();
132+
b.SetMinimumLevel(LogLevel.Error);
133+
b.AddFilter("Function", LogLevel.Information);
134+
b.AddFilter("Host", LogLevel.Debug);
135+
b.AddConsole();
130136
});
131137
```
132138

133-
The `Main` method now looks like this:
139+
This adds logging that captures log output for function executions at the `Information` level, the host at the `Debug` level, and the `error` level for all other components. The `Main` method now looks like this:
134140

135141
```cs
136142
static async Task Main()
137143
{
138144
var builder = new HostBuilder();
139145
builder.ConfigureWebJobs(b =>
140-
{
141-
b.AddAzureStorageCoreServices();
142-
});
146+
{
147+
b.AddAzureStorageCoreServices();
148+
});
143149
builder.ConfigureLogging((context, b) =>
144-
{
145-
b.AddConsole();
146-
});
150+
{
151+
b.SetMinimumLevel(LogLevel.Error);
152+
b.AddFilter("Function", LogLevel.Information);
153+
b.AddFilter("Host", LogLevel.Debug);
154+
b.AddConsole();
155+
});
147156
var host = builder.Build();
148157
using (host)
149158
{
@@ -170,7 +179,7 @@ In this section, you create a function triggered by messages in an Azure Storage
170179
Starting with version 3 of the WebJobs SDK, to connect to Azure Storage services you must install a separate Storage binding extension package.
171180

172181
>[!NOTE]
173-
> Beginning with 5.x, Microsoft.Azure.WebJobs.Extensions.Storage has been [split by storage service](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage/CHANGELOG.md#major-changes-and-features) and has migrated the `AddAzureStorage()` extension method by service type.
182+
> Beginning with 5.x, Microsoft.Azure.WebJobs.Extensions.Storage has been [split by storage service](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage/CHANGELOG.md#major-changes-and-features) and has migrated the `AddAzureStorage()` extension method by service type. This version also requires you to update the version of the `Microsoft.Azure.WebJobs.Host.Storage` assembly used by the SDK.
174183
175184
1. Get the latest stable version of the [Microsoft.Azure.WebJobs.Extensions.Storage](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage) NuGet package, version 5.x.
176185
@@ -179,8 +188,15 @@ Starting with version 3 of the WebJobs SDK, to connect to Azure Storage services
179188
```powershell
180189
Install-Package Microsoft.Azure.WebJobs.Extensions.Storage -Version <5_X_VERSION>
181190
```
191+
182192
1. In the **Package Manager Console**, execute the command with the current version number at the `PM>` entry point.
183193

194+
1. Also run this command to update the `Microsoft.Azure.WebJobs.Host.Storage` package to version 4.1.0:
195+
196+
```powershell
197+
Install-Package Microsoft.Azure.WebJobs.Host.Storage -Version 4.1.0
198+
```
199+
184200
1. Continuing in **Program.cs**, in the `ConfigureWebJobs` extension method, add the `AddAzureStorageQueues` method on the [`HostBuilder`](/dotnet/api/microsoft.extensions.hosting.hostbuilder) instance (before the `Build` command) to initialize the Storage extension. At this point, the `ConfigureWebJobs` method looks like this:
185201

186202
```cs
@@ -205,15 +221,18 @@ Starting with version 3 of the WebJobs SDK, to connect to Azure Storage services
205221
{
206222
var builder = new HostBuilder();
207223
builder.UseEnvironment(EnvironmentName.Development);
208-
builder.ConfigureLogging((context, b) =>
209-
{
210-
b.AddConsole();
211-
});
212224
builder.ConfigureWebJobs(b =>
213225
{
214226
b.AddAzureStorageCoreServices();
215227
b.AddAzureStorageQueues();
216228
});
229+
builder.ConfigureLogging((context, b) =>
230+
{
231+
b.SetMinimumLevel(LogLevel.Error);
232+
b.AddFilter("Function", LogLevel.Information);
233+
b.AddFilter("Host", LogLevel.Debug);
234+
b.AddConsole();
235+
});
217236
var host = builder.Build();
218237
using (host)
219238
{
@@ -238,7 +257,7 @@ The `QueueTrigger` attribute tells the runtime to call this function when a new
238257

239258
namespace WebJobsSDKSample
240259
{
241-
public class Functions
260+
public static class Functions
242261
{
243262
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger logger)
244263
{
@@ -307,7 +326,7 @@ Build and run the project locally and create a message queue to trigger the func
307326

308327
5. Go back to the **Queue** window and refresh it. The message is gone, since it has been processed by your function running locally.
309328

310-
6. Close the console window.
329+
6. Close the console window or type Ctrl+C.
311330

312331
It's now time to publish your WebJobs SDK project to Azure.
313332

@@ -368,11 +387,11 @@ When the WebJob runs in Azure, you can't monitor function execution by viewing c
368387

369388
1. In your **Publish** profile page, select the three dots above **Hosting** to show **Hosting profile section actions** and choose **Open in Azure Portal**.
370389

371-
1. In the web app under **Settings**, choose **Application Insights**, and select **Turn on Application Insights**.
390+
1. In the web app under **Monitoring**, choose **Application Insights**, and select **Turn on Application Insights**.
372391

373-
1. Verify the generated **Resource name** for the instance and the **Location**, and select **Apply**.
392+
1. Verify the generated **Resource name** for the instance and the **Location**, and select **Apply** and then **Yes**.
374393

375-
1. Under **Settings**, choose **Configuration** and verify that a new `APPINSIGHTS_INSTRUMENTATIONKEY` was created. This key is used to connect your WebJob instance to Application Insights.
394+
1. Under **Settings**, choose **Environment variables** and verify that a new `APPINSIGHTS_INSTRUMENTATIONKEY` was created. This key is used to connect your WebJob instance to Application Insights.
376395

377396
To take advantage of [Application Insights](/azure/azure-monitor/app/app-insights-overview) logging, you need to update your logging code as well.
378397

@@ -406,23 +425,26 @@ The `Main` method code should now look like the following example:
406425
static async Task Main()
407426
{
408427
var builder = new HostBuilder();
409-
builder.UseEnvironment(EnvironmentName.Development);
428+
//builder.UseEnvironment(EnvironmentName.Development);
410429
builder.ConfigureWebJobs(b =>
411-
{
412-
b.AddAzureStorageCoreServices();
413-
b.AddAzureStorage();
414-
});
430+
{
431+
b.AddAzureStorageCoreServices();
432+
b.AddAzureStorageQueues();
433+
});
415434
builder.ConfigureLogging((context, b) =>
416-
{
417-
b.AddConsole();
435+
{
436+
b.SetMinimumLevel(LogLevel.Error);
437+
b.AddFilter("Function", LogLevel.Information);
438+
b.AddFilter("Host", LogLevel.Debug);
439+
b.AddConsole();
418440

419-
// If the key exists in settings, use it to enable Application Insights.
420-
string instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
421-
if (!string.IsNullOrEmpty(instrumentationKey))
422-
{
423-
b.AddApplicationInsightsWebJobs(o => o.InstrumentationKey = instrumentationKey);
424-
}
425-
});
441+
// If the key exists in settings, use it to enable Application Insights.
442+
string? instrumentationKey = context.Configuration["APPINSIGHTS_INSTRUMENTATIONKEY"];
443+
if (!string.IsNullOrEmpty(instrumentationKey))
444+
{
445+
b.AddApplicationInsightsWebJobs(o => o.InstrumentationKey = instrumentationKey);
446+
}
447+
});
426448
var host = builder.Build();
427449
using (host)
428450
{
@@ -431,7 +453,7 @@ static async Task Main()
431453
}
432454
```
433455

434-
This initializes the Application Insights logging provider with default [filtering](webjobs-sdk-how-to.md#log-filtering). When running locally, all Information and higher-level logs are written to both the console and Application Insights.
456+
This initializes the Application Insights logging provider with default [filtering](webjobs-sdk-how-to.md#log-filtering). When running locally, all Information and higher-level logs are written to both the console and Application Insights. When running locally, Application Insights logging is only supported after you also add the `APPINSIGHTS_INSTRUMENTATIONKEY` to the `appsetting.json` file in the project.
435457

436458
### Republish the project and trigger the function again
437459

@@ -441,7 +463,7 @@ This initializes the Application Insights logging provider with default [filteri
441463

442464
1. In your **Publish** profile page, select the three dots above **Hosting** to show **Hosting profile section actions** and choose **Open in Azure Portal**.
443465

444-
1. In the web app under **Settings**, choose **Application Insights**, and select **View Application Insights data**.
466+
1. In the web app under **Settings** > **Monitor**, choose **Application Insights**, and select **View Application Insights data**.
445467

446468
1. Select **Search** and then select **See all data in the last 24 hours**.
447469

articles/azure-cache-for-redis/cache-overview-vector-similarity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.date: 04/24/2024
1212

1313
# What are Vector Embeddings and Vector Search in Azure Cache for Redis?
1414

15-
Vector similarity search (VSS) has become a popular technology for AI-powered intelligent applications. Azure Cache for Redis can be used as a vector database by combining it models like [Azure OpenAI](/azure/ai-services/openai/overview) for Retrieval-Augmented Generative AI and analysis scenarios. This article is a high-level introduction to the concept of vector embeddings, vector similarity search, and how Redis can be used as a vector database powering intelligent applications.
15+
Vector similarity search (VSS) has become a popular technology for AI-powered intelligent applications. Azure Cache for Redis can be used as a vector database when combined with models like [Azure OpenAI](/azure/ai-services/openai/overview) for Retrieval-Augmented Generative AI and other analysis scenarios. This article is a high-level introduction to the concept of vector embeddings, vector similarity search, and how Redis can be used as a vector database powering intelligent applications.
1616

1717
For tutorials and sample applications on how to use Azure Cache for Redis and Azure OpenAI to perform vector similarity search, see the following:
1818

662 KB
Loading
142 KB
Loading
1.07 MB
Loading
Binary file not shown.
325 KB
Loading
629 KB
Loading

articles/azure-maps/power-bi-visual-add-bubble-layer.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ titleSuffix: Microsoft Azure Maps
44
description: In this article, you learn how to use the bubble layer in an Azure Maps Power BI visual.
55
author: deniseatmicrosoft
66
ms.author: limingchen
7-
ms.date: 12/04/2023
7+
ms.date: 01/17/2025
88
ms.topic: how-to
99
ms.service: azure-maps
1010
ms.subservice: power-bi-visual
@@ -14,9 +14,13 @@ ms.subservice: power-bi-visual
1414

1515
The **Bubble layer** renders location data as scaled circles on the map.
1616

17-
:::image type="content" source="./media/power-bi-visual/bubble-layer-with-legend-color.png" alt-text="A map displaying point data using the bubble layer":::
17+
:::image type="content" source="./media/power-bi-visual/bubble-layer-no-legend.png" lightbox="./media/power-bi-visual/bubble-layer-no-legend.png"alt-text="A map displaying point data using the bubble layer, all bubbles are blue.":::
1818

19-
Initially all bubbles have the same fill color. If a field is passed into the **Legend** bucket of the **Fields** pane, the bubbles are colored based on their categorization. The outline of the bubbles is white be default but can be changed to a new color or by enabling the high-contrast outline option. The **High-contrast outline** option dynamically assigns an outline color that is a high-contrast variant of the fill color. This helps to ensure the bubbles are clearly visible regardless of the style of the map. The following are the primary settings in the **Format** pane that are available in the **Bubble layer** section.
19+
Initially all bubbles have the same fill color. If a field is passed into the **Legend** bucket of the **Fields** pane, the bubbles are colored based on their categorization.
20+
21+
:::image type="content" source="./media/power-bi-visual/bubble-layer-with-legend-color.png" lightbox="./media/power-bi-visual/bubble-layer-with-legend-color.png"alt-text="A map displaying point data using the bubble layer, the bubbles are colored based on their categorization with a legend showing what color is associated with which business.":::
22+
23+
The outline of the bubbles is white be default but can be changed to a new color or by enabling the high-contrast outline option. The **High-contrast outline** option dynamically assigns an outline color that is a high-contrast variant of the fill color. This helps to ensure the bubbles are clearly visible regardless of the style of the map. The following are the primary settings in the **Format** pane that are available in the **Bubble layer** section.
2024

2125
| Setting | Description |
2226
|----------------|----------------|
@@ -41,8 +45,6 @@ If a field is passed into the **Size** bucket of the **Fields** pane, the bubble
4145

4246
When the **bubble layer** displays on a map, the **Category labels** settings become active in the **Format visual** pane.
4347

44-
:::image type="content" source="./media/power-bi-visual/category-labels.png" alt-text="A screenshot showing the category labels settings in the format visual section of Power BI." lightbox="./media/power-bi-visual/category-labels.png":::
45-
4648
The **Category labels** settings enable you to customize font setting such as font type, size and color as well as the category labels background color and transparency.
4749

4850
:::image type="content" source="./media/power-bi-visual/category-labels-example.png" alt-text="A screenshot showing the category labels on an Azure Maps map in Power BI." lightbox="./media/power-bi-visual/category-labels-example.png":::

articles/azure-maps/power-bi-visual-add-tile-layer.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ titleSuffix: Azure Maps Power BI visual
44
description: This article demonstrates how to use the tile layer in Azure Maps Power BI visual.
55
author: deniseatmicrosoft
66
ms.author: limingchen
7-
ms.date: 07/18/2023
7+
ms.date: 01/17/2025
88
ms.topic: how-to
99
ms.service: azure-maps
1010
ms.subservice: power-bi-visual
1111
---
1212

1313
# Add a tile layer
1414

15-
The tile layer feature, like the reference layer feature, allows additional data to be overlaid on the map to provide more context. Tile layers allow you to superimpose images on top of the Azure Maps base map tiles. Superimposing images is a great way to overlay large or complex datasets such as imagery from drones, or millions of rows of data.
15+
The tile layer feature, like the reference layer feature, allows other data to be overlaid on the map to provide more context. Tile layers allow you to superimpose images on top of the Azure Maps base map tiles. Superimposing images is a great way to overlay large or complex datasets such as imagery from drones, or millions of rows of data.
1616

17-
:::image type="content" source="./media/power-bi-visual/radar-tile-layer-with-bubbles.png"alt-text="A map displaying a bubble layer above a tile layer showing current infrared weather data from Azure Maps.":::
17+
:::image type="content" source="./media/power-bi-visual/tile-layer.png" lightbox="./media/power-bi-visual/tile-layer.png" alt-text="A map displaying an open street map tile layer in an Azure Maps Power BI Visual.":::
1818

19-
A tile layer loads in tiles from a server. These images can either be prerendered or dynamically rendered. prerendered images are stored like any other image on a server using a naming convention that the tile layer understands. Dynamically rendered images use a service to load the images close to real time. Tile layers are a great way to visualize large datasets on the map. Not only can a tile layer be generated from an image, vector data can also be rendered as a tile layer too.
19+
A tile layer loads in tiles from a server. These images can either be prerendered or dynamically rendered. Prerendered images are stored like any other image on a server using a naming convention that the tile layer understands. Dynamically rendered images use a service to load the images close to real time. Tile layers are a great way to visualize large datasets on the map. Not only can a tile layer be generated from an image, vector data can also be rendered as a tile layer too.
2020

2121
The bounding box and zoom range of where a tile service is available can be passed as settings to limit where tiles are requested, a performance enhancement for both the visual and the tile service. The following table gives an overview of all settings available in the **Format** pane available in the **Tile layer** section.
2222

0 commit comments

Comments
 (0)