Skip to content

Commit dc9e477

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into nw-sfi-09
2 parents f818889 + 13787a6 commit dc9e477

File tree

150 files changed

+2579
-1039
lines changed

Some content is hidden

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

150 files changed

+2579
-1039
lines changed

articles/automation/troubleshoot/extension-based-hybrid-runbook-worker.md

Lines changed: 1 addition & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Troubleshoot extension-based Hybrid Runbook Worker issues in Azure Automation
33
description: This article tells how to troubleshoot and resolve issues that arise with Azure Automation extension-based Hybrid Runbook Workers.
44
services: automation
5-
ms.date: 01/03/2024
5+
ms.date: 08/26/2024
66
ms.topic: troubleshooting
77
ms.custom:
88
---
@@ -73,34 +73,6 @@ To help troubleshoot issues with extension-based Hybrid Runbook Workers:
7373
/home/hweautomation
7474
```
7575
76-
77-
### Unable to update Az modules while using the Hybrid Worker
78-
79-
#### Issue
80-
81-
The Hybrid Runbook Worker jobs failed as it was unable to import Az modules.
82-
83-
#### Resolution
84-
85-
As a workaround, you can follow these steps:
86-
87-
1. Navigate to the folder:
88-
> [!TIP]
89-
> Replace `*` in the below path with the specific version that is installed if you know it.
90-
```
91-
C:\Program Files\Microsoft Monitoring Agent\Agent\AzureAutomation\*\HybridAgent
92-
```
93-
94-
1. Edit the file with the name `Orchestrator.Sandbox.exe.config`
95-
96-
1. Add the following lines inside the `<assemblyBinding>` tag:
97-
```xml
98-
<dependentAssembly>
99-
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
100-
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
101-
</dependentAssembly>
102-
```
103-
10476
### Scenario: Runbooks go into a suspended state on a Hybrid Runbook Worker when using a custom account on a server with User Account Control (UAC) enabled
10577
10678
#### Issue
@@ -411,38 +383,6 @@ This error occurs when you attempt to use a Run As account in a runbook that run
411383
If your Hybrid Runbook Worker is an Azure VM, you can use [runbook authentication with managed identities](../automation-hrw-run-runbooks.md#runbook-auth-managed-identities) instead. This scenario simplifies authentication by allowing you to authenticate to Azure resources using the managed identity of the Azure VM instead of the Run As account. When the Hybrid Runbook Worker is an on-premises machine, you need to install the Run As account certificate on the machine. To learn how to install the certificate, see the steps to run the PowerShell runbook **Export-RunAsCertificateToHybridWorker** in [Run runbooks on a Hybrid Runbook Worker](../automation-hrw-run-runbooks.md).
412384

413385

414-
### Scenario: Set-AzStorageBlobContent fails on a Hybrid Runbook Worker
415-
416-
#### Issue
417-
418-
Runbook fails when it tries to execute `Set-AzStorageBlobContent`, and you receive the following error message:
419-
420-
`Set-AzStorageBlobContent : Failed to open file xxxxxxxxxxxxxxxx: Illegal characters in path`
421-
422-
#### Cause
423-
424-
This error is caused by the long file name behavior of calls to `[System.IO.Path]::GetFullPath()`, which adds UNC paths.
425-
426-
#### Resolution
427-
428-
As a workaround, you can create a configuration file named `OrchestratorSandbox.exe.config` with the following content:
429-
430-
```azurecli
431-
<configuration>
432-
<runtime>
433-
<AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false" />
434-
</runtime>
435-
</configuration>
436-
```
437-
438-
Place this file in the same folder as the executable file `OrchestratorSandbox.exe`. For example:
439-
> [!TIP]
440-
> Replace `*` in the below path with the specific version that is installed if you know it.
441-
```
442-
%ProgramFiles%\Microsoft Monitoring Agent\Agent\AzureAutomation\*\HybridAgent
443-
```
444-
445-
446386
### Scenario: Microsoft Azure VMs automatically dropped from a hybrid worker group
447387

448388
#### Issue

articles/azure-app-configuration/concept-feature-management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.date: 02/20/2024
1313

1414
Traditionally, shipping a new application feature requires a complete redeployment of the application itself. Testing a feature often requires multiple deployments of the application. Each deployment might change the feature or expose the feature to different customers for testing.
1515

16-
Feature management is a modern software-development practice that decouples feature release from code deployment and enables quick changes to feature availability on demand. It uses a technique called *feature flags* (also known as *feature toggles* and *feature switches*) to dynamically administer a feature's lifecycle.
16+
Feature management is a software-development practice that decouples feature release from code deployment and enables quick changes to feature availability on demand. It uses a technique called *feature flags* (also known as *feature toggles* and *feature switches*) to dynamically administer a feature's lifecycle.
1717

1818
Feature management helps developers address the following problems:
1919

articles/azure-maps/how-to-dev-guide-csharp-sdk.md

Lines changed: 130 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ titleSuffix: Azure Maps
44
description: How to develop applications that incorporate Azure Maps using the C# SDK Developers Guide.
55
author: sinnypan
66
ms.author: sipa
7-
ms.date: 11/11/2021
7+
ms.date: 08/27/2024
88
ms.topic: how-to
99
ms.service: azure-maps
1010
ms.subservice: rest-sdk
@@ -139,6 +139,11 @@ var client = new MapsSearchClient(credential);
139139
Call the `GetGeocoding` method to get the coordinate of an address.
140140

141141
```csharp
142+
using System;
143+
using Azure;
144+
using Azure.Maps.Search;
145+
using Azure.Maps.Search.Models;
146+
142147
// Use Azure Maps subscription key authentication
143148
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
144149
var credential = new AzureKeyCredential(subscriptionKey);
@@ -147,19 +152,90 @@ var client = new MapsSearchClient(credential);
147152
Response<GeocodingResponse> searchResult = client.GetGeocoding(
148153
"1 Microsoft Way, Redmond, WA 98052");
149154

150-
Console.WriteLine($"The Coordinate: ({searchResult.Value.Features[0].Geometry.Coordinates})");
155+
for (int i = 0; i < searchResult.Value.Features.Count; i++)
156+
{
157+
Console.WriteLine("Coordinate:" + string.Join(",", searchResult.Value.Features[i].Geometry.Coordinates));
158+
}
159+
```
160+
161+
## Batch geocode addresses
162+
163+
This sample demonstrates how to perform batch search address.
164+
165+
```csharp
166+
using System;
167+
using Azure;
168+
using Azure.Maps.Search;
169+
using System.Collections.Generic;
170+
using Azure.Maps.Search.Models;
171+
using Azure.Maps.Search.Models.Queries;
172+
173+
// Use Azure Maps subscription key authentication
174+
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
175+
var credential = new AzureKeyCredential(subscriptionKey);
176+
var client = new MapsSearchClient(credential);
177+
178+
List<GeocodingQuery> queries = new List<GeocodingQuery>
179+
{
180+
new GeocodingQuery()
181+
{
182+
Query ="15171 NE 24th St, Redmond, WA 98052, United States"
183+
},
184+
new GeocodingQuery()
185+
{
186+
AddressLine = "400 Broad St"
187+
},
188+
};
189+
Response<GeocodingBatchResponse> results = client.GetGeocodingBatch(queries);
190+
191+
//Print coordinates
192+
for (var i = 0; i < results.Value.BatchItems.Count; i++)
193+
{
194+
for (var j = 0; j < results.Value.BatchItems[i].Features.Count; j++)
195+
{
196+
Console.WriteLine("Coordinates: " + string.Join(",", results.Value.BatchItems[i].Features[j].Geometry.Coordinates));
197+
}
198+
}
199+
```
200+
201+
## Reverse geocode a coordinates
202+
203+
You can translate coordinates into human-readable street addresses. This process is also called reverse geocoding.
204+
205+
```csharp
206+
using System;
207+
using Azure;
208+
using Azure.Maps.Search;
209+
using Azure.Core.GeoJson;
210+
using Azure.Maps.Search.Models;
211+
212+
// Use Azure Maps subscription key authentication
213+
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
214+
var credential = new AzureKeyCredential(subscriptionKey);
215+
var client = new MapsSearchClient(credential);
216+
217+
GeoPosition coordinates = new GeoPosition(-122.138685, 47.6305637);
218+
Response<GeocodingResponse> result = client.GetReverseGeocoding(coordinates);
219+
220+
//Print addresses
221+
for (int i = 0; i < result.Value.Features.Count; i++)
222+
{
223+
Console.WriteLine(result.Value.Features[i].Properties.Address.FormattedAddress);
224+
}
151225
```
152226

153227
## Batch reverse geocode a set of coordinates
154228

155229
Azure Maps Search also provides some batch query APIs. The Reverse Geocoding Batch API sends batches of queries to [Reverse Geocoding API](/rest/api/maps/search/get-reverse-geocoding) using just a single API call. The API allows caller to batch up to **100** queries.
156230

157231
```csharp
158-
using system;
159-
using Azure;
232+
using System;
233+
using Azure;
234+
using Azure.Maps.Search;
235+
using System.Collections.Generic;
160236
using Azure.Core.GeoJson;
161-
using Azure.Maps.Search;
162237
using Azure.Maps.Search.Models;
238+
using Azure.Maps.Search.Models.Queries;
163239

164240
// Use Azure Maps subscription key authentication
165241
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
@@ -170,16 +246,62 @@ List<ReverseGeocodingQuery> items = new List<ReverseGeocodingQuery>
170246
{
171247
new ReverseGeocodingQuery()
172248
{
173-
Coordinates = new GeoPosition(-122.34255, 47.0)
249+
Coordinates = new GeoPosition(-122.349309, 47.620498)
174250
},
175251
new ReverseGeocodingQuery()
176252
{
177-
Coordinates = new GeoPosition(-122.34255, 47.0)
253+
Coordinates = new GeoPosition(-122.138679, 47.630356),
254+
ResultTypes = new List<ReverseGeocodingResultTypeEnum>(){ ReverseGeocodingResultTypeEnum.Address, ReverseGeocodingResultTypeEnum.Neighborhood }
178255
},
179256
};
180-
Response<GeocodingBatchResponse> = client.GetReverseGeocodingBatch(items);
257+
Response<GeocodingBatchResponse> result = client.GetReverseGeocodingBatch(items);
258+
//Print addresses
259+
for (var i = 0; i < result.Value.BatchItems.Count; i++)
260+
{
261+
Console.WriteLine(result.Value.BatchItems[i].Features[0].Properties.Address.AddressLine);
262+
Console.WriteLine(result.Value.BatchItems[i].Features[0].Properties.Address.Neighborhood);
263+
}
181264
```
182265

266+
## Get polygons for a given location
267+
268+
This sample demonstrates how to search polygons.
269+
270+
```csharp
271+
using System;
272+
using Azure;
273+
using Azure.Maps.Search;
274+
using Azure.Core.GeoJson;
275+
using Azure.Maps.Search.Models;
276+
using Azure.Maps.Search.Models.Options;
277+
278+
// Use Azure Maps subscription key authentication
279+
var subscriptionKey = Environment.GetEnvironmentVariable("SUBSCRIPTION_KEY") ?? string.Empty;
280+
var credential = new AzureKeyCredential(subscriptionKey);
281+
var client = new MapsSearchClient(credential);
282+
283+
GetPolygonOptions options = new GetPolygonOptions()
284+
{
285+
Coordinates = new GeoPosition(-122.204141, 47.61256),
286+
ResultType = BoundaryResultTypeEnum.Locality,
287+
Resolution = ResolutionEnum.Small,
288+
};
289+
Response<Boundary> result = client.GetPolygon(options);
290+
291+
var count = ((GeoJsonPolygon)((GeoJsonGeometryCollection)result.Value.Geometry).Geometries[0]).Coordinates.Count;
292+
for (var i = 0; i < count; i++)
293+
{
294+
var coorCount = ((GeoJsonPolygon)((GeoJsonGeometryCollection)result.Value.Geometry).Geometries[0]).Coordinates[i].Count;
295+
for (var j = 0; j < coorCount; j++)
296+
{
297+
Console.WriteLine(string.Join(",",((GeoJsonPolygon)((GeoJsonGeometryCollection)result.Value.Geometry).Geometries[0]).Coordinates[i][j]));
298+
}
299+
}
300+
```
301+
302+
## Using V1 SDKs for Search and Render
303+
304+
For more information on using Search v1, see [Azure Maps Search client library for .NET](https://www.nuget.org/packages/Azure.Maps.Search/1.0.0-beta.5). For more information on using Render v1, see [Azure Maps Render client library for .NET](https://www.nuget.org/packages/Azure.Maps.Rendering/1.0.0-beta.3).
183305

184306
## Additional information
185307

articles/azure-monitor/agents/azure-monitor-agent-migration-data-collection-rule-generator.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ To run script, copy the following command and replace the parameters with your v
7373

7474
For information on deploying the DCRs, see [Data collection rules in Azure Monitor](/azure/azure-monitor/essentials/data-collection-rule-overview) and [Create and edit data collection rules (DCRs) in Azure Monitor](/azure/azure-monitor/essentials/data-collection-rule-create-edit)
7575

76+
> [!Warning]
77+
> You shouldn’t use an existing custom log table used by MMA agents. Your MMA agents won't be able to write to the table once the first AMA agent writes to the table. You should create a new table for AMA to use to prevent MMA data loss.
7678
7779
## Next steps
7880

articles/azure-monitor/logs/manage-table-access.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ The user can now read workspace details and run a query, but can't read data fro
9090
1. From the **Log Analytics workspaces** menu, select **Tables**.
9191
1. Select the ellipsis ( **...** ) to the right of your table and select **Access control (IAM)**.
9292

93-
:::image type="content" source="media/manage-access/table-level-access-control.png" alt-text="Screenshot that shows the Log Analytics workspace table management screen with the table-level access control button highlighted." lightbox="media/manage-access/manage-access-create-custom-role-json.png":::
93+
:::image type="content" source="media/manage-access/table-level-access-control.png" alt-text="Screenshot that shows the Log Analytics workspace table management screen with the table-level access control button highlighted." lightbox="media/manage-access/table-level-access-control.png":::
9494

9595
1. On the **Access control (IAM)** screen, select **Add** > **Add role assignment**.
9696
1. Select the **Reader** role and select **Next**.

articles/azure-monitor/vm/monitor-virtual-machine.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ The following table lists the different steps for configuration of VM monitoring
4444
| Step | Description |
4545
|:---|:---|
4646
| [Deploy Azure Monitor agent](monitor-virtual-machine-agent.md) | Deploy the Azure Monitor agent to your Azure and hybrid virtual machines to collect data from the guest operating system and workloads. |
47-
| [Configure data collection](monitor-virtual-machine-data-collection.md)) | Create data collection rules to instruct the Azure Monitor agent to collect telemetry from the guest operating system. |
48-
| [Analyze collect data](monitor-virtual-machine-analyze.md) | Analyze monitoring data collected by Azure Monitor from virtual machines and their guest operating systems and applications to identify trends and critical information. |
47+
| [Configure data collection](monitor-virtual-machine-data-collection.md) | Create data collection rules to instruct the Azure Monitor agent to collect telemetry from the guest operating system. |
48+
| [Analyze collected data](monitor-virtual-machine-analyze.md) | Analyze monitoring data collected by Azure Monitor from virtual machines and their guest operating systems and applications to identify trends and critical information. |
4949
| [Create alert rules](monitor-virtual-machine-alerts.md) | Create alerts to proactively identify critical issues in your monitoring data. |
5050
| [Migrate management pack logic](monitor-virtual-machine-management-packs.md) | General guidance for translation the logic from your System Center Operations Manager management packs to Azure Monitor. |
5151

@@ -90,4 +90,4 @@ See [Design a Log Analytics workspace architecture](../logs/workspace-design.md)
9090

9191
## Next steps
9292

93-
[Deploy the Azure Monitor agent to your virtual machines](monitor-virtual-machine-agent.md)
93+
[Deploy the Azure Monitor agent to your virtual machines](monitor-virtual-machine-agent.md)

articles/azure-netapp-files/manage-cool-access.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The storage with cool access feature provides options for the “coolness period
2828
* You can't use [large volume](large-volumes-requirements-considerations.md) with cool access.
2929
* See [Resource limits for Azure NetApp Files](azure-netapp-files-resource-limits.md#resource-limits) for maximum number of volumes supported for cool access per subscription per region.
3030
* Considerations for using cool access with [cross-region replication](cross-region-replication-requirements-considerations.md) and [cross-zone replication](cross-zone-replication-introduction.md):
31-
* The cool access setting on the destination is updated automatically to match the source volume whenever the setting is changed on the source volume or during authorizing or performing a reverse resync of the replication. Changes to the cool access setting on the destination volume don't affect the setting on the source volume.
31+
* The cool access setting on the destination volume is updated automatically to match the source volume whenever the setting is changed on the source volume or during authorizing or performing a reverse resync of the replication only if the destination volume is in a cool access-enabled capacity pool. Changes to the cool access setting on the destination volume don't affect the setting on the source volume.
3232
* In cross-region or cross-zone replication configuration, you can enable cool access exclusively for destination volumes to enhance data protection and create cost savings without affecting latency in source volumes.
3333
* Considerations for using cool access with [snapshot restore](snapshots-restore-new-volume.md):
3434
* When restoring a snapshot of a cool access enabled volume to a new volume, the new volume inherits the cool access configuration from the parent volume. Once the new volume is created, the cool access settings can be modified.

articles/azure-signalr/concept-connection-string.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This article gives an overview of connection strings in Azure Signa
44
author: chenkennt
55
ms.service: azure-signalr-service
66
ms.topic: conceptual
7-
ms.date: 03/29/2023
7+
ms.date: 08/09/2024
88
ms.author: kenchen
99
---
1010

0 commit comments

Comments
 (0)