Skip to content

Commit 99ce2a5

Browse files
authored
Merge pull request #192376 from MicrosoftDocs/repo_sync_working_branch
Confirm merge from repo_sync_working_branch to main to sync with https://github.com/MicrosoftDocs/azure-docs (branch main)
2 parents ea28998 + 29ccfa6 commit 99ce2a5

File tree

8 files changed

+53
-24
lines changed

8 files changed

+53
-24
lines changed

articles/active-directory/managed-identities-azure-resources/managed-identity-best-practice-recommendations.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ will be displayed with “Identity not found” when viewed in the portal. [Read
106106

107107
:::image type="content" source="media/managed-identity-best-practice-recommendations/identity-not-found.png" alt-text="Identity not found for role assignment.":::
108108

109+
Role assignments which are no longer associated with a user or service principal will appear with an `ObjectType` value of `Unknown`. In order to remove them, you can pipe several Azure PowerShell commands together to first get all the role assignments, filter to only those with an `ObjectType` value of `Unknown` and then remove those role assignments from Azure.
110+
111+
```azurepowershell
112+
Get-AzRoleAssignment | Where-Object {$_.ObjectType -eq "Unknown"} | Remove-AzRoleAssignment
113+
```
114+
109115
## Limitation of using managed identities for authorization
110116

111117
Using Azure AD **groups** for granting access to services is a great way to simplify the authorization process. The idea is simple – grant permissions to a group and add identities to the group so that they inherit the same permissions. This is a well-established pattern from various on-premises systems and works well when the identities represent users. Another option to control authorization in Azure AD is by using [App Roles](../develop/howto-add-app-roles-in-azure-ad-apps.md), which allows you to declare **roles** that are specific to an app (rather than groups, which are a global concept in the directory). You can then [assign app roles to managed identities](how-to-assign-app-role-managed-identity-powershell.md) (as well as users or groups).

articles/azure-app-configuration/quickstart-feature-flag-aspnet-core.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,27 @@ dotnet new mvc --no-https --output TestFeatureFlags
138138
}
139139
```
140140
#### [.NET Core 3.x](#tab/core3x)
141-
141+
142+
Add the following code:
142143
```csharp
143144
public void ConfigureServices(IServiceCollection services)
144145
{
145146
services.AddControllersWithViews();
147+
services.AddAzureAppConfiguration();
146148
services.AddFeatureManagement();
147149
}
148150
```
149151
152+
And then add below:
153+
154+
```csharp
155+
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
156+
{
157+
// ...
158+
app.UseAzureAppConfiguration();
159+
}
160+
```
161+
150162
#### [.NET Core 2.x](#tab/core2x)
151163
152164
```csharp

articles/azure-monitor/app/api-custom-events-metrics.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
title: Application Insights API for custom events and metrics | Microsoft Docs
33
description: Insert a few lines of code in your device or desktop app, webpage, or service, to track usage and diagnose issues.
44
ms.topic: conceptual
5-
ms.date: 05/11/2020
5+
ms.date: 05/11/2020
66
ms.devlang: csharp, java, javascript, vb
77
ms.custom: "devx-track-js, devx-track-csharp"
88
---
99

1010
# Application Insights API for custom events and metrics
1111

12-
Insert a few lines of code in your application to find out what users are doing with it, or to help diagnose issues. You can send telemetry from device and desktop apps, web clients, and web servers. Use the [Azure Application Insights](./app-insights-overview.md) core telemetry API to send custom events and metrics, and your own versions of standard telemetry. This API is the same API that the standard Application Insights data collectors use.
12+
Insert a few lines of code in your application to find out what users are doing with it, or to help diagnose issues. You can send telemetry from device and desktop apps, web clients, and web servers. Use the [Azure Application Insights](./app-insights-overview.md) core telemetry API to send custom events and metrics, and your own versions of standard telemetry. This API is the same API that the standard Application Insights data collectors use.
1313

14-
[!INCLUDE [azure-monitor-log-analytics-rebrand](../../../includes/azure-monitor-instrumentation-key-deprecation.md)]
14+
[!INCLUDE [azure-monitor-log-analytics-rebrand](../../../includes/azure-monitor-instrumentation-key-deprecation.md)]
1515

1616
## API summary
1717

@@ -156,8 +156,7 @@ To learn how to effectively use the GetMetric() call to capture locally pre-aggr
156156
## TrackMetric
157157

158158
> [!NOTE]
159-
> Microsoft.ApplicationInsights.TelemetryClient.TrackMetric is not the preferred method for sending metrics. Metrics should always be pre-aggregated across a time period before being sent. Use one of the GetMetric(..) overloads to get a metric object for accessing SDK pre-aggregation capabilities. If you are implementing your own pre-aggregation logic, you can
160-
use the TrackMetric() method to send the resulting aggregates. If your application requires sending a separate telemetry item at every occasion without aggregation across time, you likely have a use case for event telemetry; see TelemetryClient.TrackEvent
159+
> Microsoft.ApplicationInsights.TelemetryClient.TrackMetric is not the preferred method for sending metrics. Metrics should always be pre-aggregated across a time period before being sent. Use one of the GetMetric(..) overloads to get a metric object for accessing SDK pre-aggregation capabilities. If you are implementing your own pre-aggregation logic, you can use the TrackMetric() method to send the resulting aggregates. If your application requires sending a separate telemetry item at every occasion without aggregation across time, you likely have a use case for event telemetry; see TelemetryClient.TrackEvent
161160
(Microsoft.ApplicationInsights.DataContracts.EventTelemetry).
162161

163162
Application Insights can chart metrics that are not attached to particular events. For example, you could monitor a queue length at regular intervals. With metrics, the individual measurements are of less interest than the variations and trends, and so statistical charts are useful.
@@ -296,7 +295,7 @@ To associate page views to AJAX calls, join with dependencies:
296295

297296
```kusto
298297
pageViews
299-
| join (dependencies) on operation_Id
298+
| join (dependencies) on operation_Id
300299
```
301300

302301
## TrackRequest
@@ -486,8 +485,8 @@ telemetry.trackTrace({
486485

487486
```javascript
488487
trackTrace({
489-
message: string,
490-
properties?: {[string]:string},
488+
message: string,
489+
properties?: {[string]:string},
491490
severityLevel?: SeverityLevel
492491
})
493492
```
@@ -549,7 +548,7 @@ try
549548
{
550549
success = dependency.Call();
551550
}
552-
catch(Exception ex)
551+
catch(Exception ex)
553552
{
554553
success = false;
555554
telemetry.TrackException(ex);
@@ -667,7 +666,7 @@ telemetry.flush();
667666
The function is asynchronous for the [server telemetry channel](https://www.nuget.org/packages/Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel/).
668667

669668
> [!NOTE]
670-
> The Java and Javascript SDKs automatically flush on application shutdown.
669+
> The Java and JavaScript SDKs automatically flush on application shutdown.
671670
672671
## Authenticated users
673672

@@ -1066,7 +1065,7 @@ In webpages, you might want to set it from the web server's state, rather than c
10661065
// Standard Application Insights webpage script:
10671066
var appInsights = window.appInsights || function(config){ ...
10681067
// Modify this part:
1069-
}({instrumentationKey:
1068+
}({instrumentationKey:
10701069
// Generate from server property:
10711070
@Microsoft.ApplicationInsights.Extensibility.
10721071
TelemetryConfiguration.Active.InstrumentationKey;

articles/communication-services/quickstarts/includes/manage-teams-identity-net.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ var client = new CommunicationIdentityClient(connectionString);
115115
Use the `GetTokenForTeamsUser` method to issue an access token for the Teams user that can be used with the Azure Communication Services SDKs.
116116

117117
```csharp
118-
var accessToken = await client.GetTokenForTeamsUser(teamsUserAadToken.AccessToken);
118+
var accessToken = await client.GetTokenForTeamsUserAsync(teamsUserAadToken.AccessToken);
119119
Console.WriteLine($"Token: {accessToken.Value.Token}");
120120
```
121121

articles/cost-management-billing/reservations/synapse-analytics-pre-purchase-plan.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Any Azure Synapse Analytics use deducts from the prepurchased SCUs automatically
1818

1919
## Determine the right size to buy
2020

21-
A synapse prepurchase applies to all Synapse workloads and tiers. You can think of the Pre-Purchase Plan as a pool of prepaid Synapse commit units. Usage is deducted from the pool, regardless of the workload or tier. Other charges such as compute, storage, and networking are charged separately.
21+
A synapse prepurchase applies to all Synapse workloads and tiers. You can think of the Pre-Purchase Plan as a pool of prepaid Synapse commit units. Usage is deducted from the pool, regardless of the workload or tier. Integrated services such as VMs for SHIR, Azure Storage accounts, and networking components are charged separately.
2222

2323
The Synapse prepurchase discount applies to usage from the following products:
2424

@@ -74,4 +74,4 @@ To learn more about Azure Reservations, see the following articles:
7474
- [Manage Azure Reservations](manage-reserved-vm-instance.md)
7575
- [Understand Azure Reservations discount](understand-reservation-charges.md)
7676
- [Understand reservation usage for your Pay-As-You-Go subscription](understand-reserved-instance-usage.md)
77-
- [Understand reservation usage for your Enterprise enrollment](understand-reserved-instance-usage-ea.md)
77+
- [Understand reservation usage for your Enterprise enrollment](understand-reserved-instance-usage-ea.md)

articles/data-lake-analytics/data-lake-analytics-manage-use-python-sdk.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ This document was written using `pip version 9.0.1`.
3939
Use the following `pip` commands to install the modules from the commandline:
4040

4141
```console
42+
pip install azure-identity
4243
pip install azure-mgmt-resource
4344
pip install azure-datalake-store
4445
pip install azure-mgmt-datalake-store
@@ -56,6 +57,9 @@ Paste the following code into the script:
5657
# Use this only for Azure AD end-user authentication
5758
#from azure.common.credentials import UserPassCredentials
5859

60+
# Required for Azure Identity
61+
from azure.identity import DefaultAzureCredential
62+
5963
# Required for Azure Resource Manager
6064
from azure.mgmt.resource.resources import ResourceManagementClient
6165
from azure.mgmt.resource.resources.models import ResourceGroup
@@ -78,6 +82,9 @@ from azure.mgmt.datalake.analytics.job.models import JobInformation, JobState, U
7882
# Required for Azure Data Lake Analytics catalog management
7983
from azure.mgmt.datalake.analytics.catalog import DataLakeAnalyticsCatalogManagementClient
8084

85+
# Required for Azure Data Lake Analytics Model
86+
from azure.mgmt.datalake.analytics.account.models import CreateOrUpdateComputePolicyParameters
87+
8188
# Use these as needed for your application
8289
import logging
8390
import getpass
@@ -106,8 +113,12 @@ credentials = UserPassCredentials(user, password)
106113
### Noninteractive authentication with SPI and a secret
107114

108115
```python
109-
credentials = ServicePrincipalCredentials(
110-
client_id='FILL-IN-HERE', secret='FILL-IN-HERE', tenant='FILL-IN-HERE')
116+
# Acquire a credential object for the app identity. When running in the cloud,
117+
# DefaultAzureCredential uses the app's managed identity (MSI) or user-assigned service principal.
118+
# When run locally, DefaultAzureCredential relies on environment variables named
119+
# AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID.
120+
121+
credentials = DefaultAzureCredential()
111122
```
112123

113124
### Noninteractive authentication with API and a certificate
@@ -147,7 +158,7 @@ armGroupResult = resourceClient.resource_groups.create_or_update(
147158
First create a store account.
148159

149160
```python
150-
adlsAcctResult = adlsAcctClient.account.create(
161+
adlsAcctResult = adlsAcctClient.account.begin_create(
151162
rg,
152163
adls,
153164
DataLakeStoreAccount(
@@ -232,10 +243,10 @@ The DataLakeAnalyticsAccountManagementClient object provides methods for managin
232243
The following code retrieves a list of compute policies for a Data Lake Analytics account.
233244

234245
```python
235-
policies = adlaAccountClient.computePolicies.listByAccount(rg, adla)
246+
policies = adlaAcctClient.compute_policies.list_by_account(rg, adla)
236247
for p in policies:
237-
print('Name: ' + p.name + 'Type: ' + p.objectType + 'Max AUs / job: ' +
238-
p.maxDegreeOfParallelismPerJob + 'Min priority / job: ' + p.minPriorityPerJob)
248+
print('Name: ' + p.name + 'Type: ' + p.object_type + 'Max AUs / job: ' +
249+
p.max_degree_of_parallelism_per_job + 'Min priority / job: ' + p.min_priority_per_job)
239250
```
240251

241252
### Create a new compute policy
@@ -244,9 +255,9 @@ The following code creates a new compute policy for a Data Lake Analytics accoun
244255

245256
```python
246257
userAadObjectId = "3b097601-4912-4d41-b9d2-78672fc2acde"
247-
newPolicyParams = ComputePolicyCreateOrUpdateParameters(
258+
newPolicyParams = CreateOrUpdateComputePolicyParameters(
248259
userAadObjectId, "User", 50, 250)
249-
adlaAccountClient.computePolicies.createOrUpdate(
260+
adlaAcctClient.compute_policies.create_or_update(
250261
rg, adla, "GaryMcDaniel", newPolicyParams)
251262
```
252263

includes/api-management-service-limits.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ ms.custom: Include file
3535
| Maximum size of API schema used by [validation policy](../articles/api-management/validation-policies.md)<sup>10</sup> | 4 MB |
3636
| Maximum size of request or response body in [validate-content policy](../articles/api-management/validation-policies.md#validate-content)<sup>10</sup> | 100 KB |
3737
| Maximum number of self-hosted gateways<sup>11</sup> | 25 |
38+
| Maximum number of active WebSocket connections per unit | 200 |
3839

3940
<sup>1</sup> Scaling limits depend on the pricing tier. For details on the pricing tiers and their scaling limits, see [API Management pricing](https://azure.microsoft.com/pricing/details/api-management/).<br/>
4041
<sup>2</sup> Per unit cache size depends on the pricing tier. To see the pricing tiers and their scaling limits, see [API Management pricing](https://azure.microsoft.com/pricing/details/api-management/).<br/>

includes/notification-hubs-backend-service-sample-app-reactnative.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
> [!NOTE]
3333
> React Native has a built-in command line interface. Rather than install and manage a specific version of the CLI globally, we recommend you access the current version at runtime using `npx`, which ships with Node.js. With `npx react-native <command>`, the current stable version of the CLI will be downloaded and executed at the time the command is run.
3434

35-
1. Navigate to your projects folder where you want to create the new application. Use the Typescript-based template by specifying the `--template` parameter:
35+
1. Navigate to your projects folder where you want to create the new application. Use the TypeScript-based template by specifying the `--template` parameter:
3636

3737
```bash
3838
# init new project with npx

0 commit comments

Comments
 (0)