Skip to content

Commit f966e4c

Browse files
authored
Merge pull request #285586 from MicrosoftDocs/main
Publish to live, Tuesday 4 AM PST, 8/27
2 parents fed9e4b + 3757327 commit f966e4c

File tree

77 files changed

+1707
-389
lines changed

Some content is hidden

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

77 files changed

+1707
-389
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-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/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)

0 commit comments

Comments
 (0)