Skip to content

Commit 0a0e105

Browse files
committed
Merge branch 'master' of https://github.com/microsoftdocs/azure-docs-pr into akv-errorcodes
2 parents 68f5dd9 + 754a2dd commit 0a0e105

17 files changed

+127
-67
lines changed

articles/active-directory/hybrid/reference-connect-version-history.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Not all releases of Azure AD Connect will be made available for auto upgrade. Th
3838
>
3939
> You need to make sure you are running a recent version of Azure AD Connect to receive an optimal support experience.
4040
>
41-
>If you run a deprecated version of Azure AD Connect you may not have the latest security fixes, performance improvements, toubleshooting and diagnostic tools and service enhancements, and if you require support we may not be able to provide you with the level of service your organization needs.
41+
>If you run a deprecated version of Azure AD Connect you may not have the latest security fixes, performance improvements, troubleshooting and diagnostic tools and service enhancements, and if you require support we may not be able to provide you with the level of service your organization needs.
4242
>
4343
>If you have enabled Azure AD Connect for sync you will soon automatically begin receiving Health notifications that warn you about upcoming deprecations when you are running one of the older versions.
4444
>

articles/active-directory/manage-apps/access-panel-workspaces.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.workload: identity
1313
ms.tgt_pltfrm: na
1414
ms.devlang: na
1515
ms.topic: article
16-
ms.date: 10/29/2019
16+
ms.date: 12/19/2019
1717
ms.author: mimart
1818
ms.reviewer: kasimpso
1919
ms.collection: M365-identity-device-management
@@ -41,7 +41,7 @@ Your users can use the My Apps (preview) portal to view and start the cloud-base
4141
![User preview features](media/access-panel-workspaces/user-preview-features.png)
4242

4343
> [!NOTE]
44-
> To open the My Apps portal, users can use the link `https://myapps.microsoft.com` or the customized link for your organization, such as `https://myapps.microsoft.com/contoso.com`. If users aren't redirected to the My Apps preview version, users should try `https://myapplications.microsoft.com` or `https://myapplications.microsoft.com/contoso.com`.
44+
> To open the My Apps portal, users can use the link `https://myapps.microsoft.com` or the customized link for your organization, such as `https://myapps.microsoft.com/contoso.com`. After you enable the new My Apps experience, the **An updated My Applications experience is available** banner will display at the top of the My Apps page, and users can select **Try it** to view the new experience. To stop using the new experience, users can select **Yes** from the **Leave new experience** banner at the top of the page.
4545
4646
## Create a workspace
4747

@@ -94,6 +94,5 @@ You can access audit logs in the [Azure portal](https://portal.azure.com) by sel
9494

9595
![Assign roles to users and groups](media/access-panel-workspaces/audit-log-myapps.png)
9696

97-
9897
## Next steps
9998
[End-user experiences for applications in Azure Active Directory](end-user-experiences.md)

articles/azure-functions/durable/durable-functions-entities.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,8 @@ public static async Task<HttpResponseMessage> Run(
199199
[DurableClient] IDurableEntityClient client)
200200
{
201201
var entityId = new EntityId(nameof(Counter), "myCounter");
202-
JObject state = await client.ReadEntityStateAsync<JObject>(entityId);
203-
return req.CreateResponse(HttpStatusCode.OK, state);
202+
EntityStateResponse<JObject> stateResponse = await client.ReadEntityStateAsync<JObject>(entityId);
203+
return req.CreateResponse(HttpStatusCode.OK, stateResponse.EntityState);
204204
}
205205
```
206206

@@ -210,7 +210,8 @@ const df = require("durable-functions");
210210
module.exports = async function (context) {
211211
const client = df.getClient(context);
212212
const entityId = new df.EntityId("Counter", "myCounter");
213-
return context.df.readEntityState(entityId);
213+
const stateResponse = await context.df.readEntityState(entityId);
214+
return stateResponse.entityState;
214215
};
215216
```
216217

@@ -245,13 +246,12 @@ module.exports = df.orchestrator(function*(context){
245246

246247
// Two-way call to the entity which returns a value - awaits the response
247248
currentValue = yield context.df.callEntity(entityId, "get");
248-
if (currentValue < 10) {
249-
// One-way signal to the entity which updates the value - does not await a response
250-
yield context.df.signalEntity(entityId, "add", 1);
251-
}
252249
});
253250
```
254251

252+
> [!NOTE]
253+
> JavaScript does not currently support signaling an entity from an orchestrator. Use `callEntity` instead.
254+
255255
Only orchestrations are capable of calling entities and getting a response, which could be either a return value or an exception. Client functions that use the [client binding](durable-functions-bindings.md#entity-client) can only signal entities.
256256

257257
> [!NOTE]

articles/azure-functions/functions-recover-storage-account.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ We'll walk through the four most common error cases, how to identify, and how to
2727
1. Storage Account credentials invalid
2828
1. Storage Account Inaccessible
2929
1. Daily Execution Quota Full
30+
1. App is behind a firewall
31+
3032

3133
## Storage account deleted
3234

@@ -77,6 +79,12 @@ If you have a Daily Execution Quota configured, your Function App will be tempor
7779
* `The Function App has reached daily usage quota and has been stopped until the next 24 hours time frame.`
7880
* Remove the quota and restart your app to resolve the issue.
7981

82+
## App is behind a firewall
83+
84+
Your function runtime will be unreachable if your function app is hosted in an [internally load balanced App Service Environment](../app-service/environment/create-ilb-ase.md) and is configured to block inbound internet traffic, or has [inbound IP restrictions](/azure-functions/functions-networking-options#inbound-ip-restrictions) configured to block internet access. The Azure portal makes calls directly to the running app to fetch the list of functions and also makes http call to KUDU endpoint. Platform level settings under the `Platform Features` tab will still be available.
85+
86+
* To verify your ASE configuration, navigate to NSG of the subnet where ASE resides and validate inbound rules to allow traffic coming from the public IP of the computer where you are accessing the application. You can also use the portal from a computer connected to the virtual network running your app or a virtual machine running in your virtual network. [Read more about inbound rule configuration here](https://docs.microsoft.com/azure/app-service/environment/network-info#network-security-groups)
87+
8088
## Next Steps
8189

8290
Now that your Function App is back and operational take a look at our quickstarts and developer references to get up and running again!

articles/azure-maps/migrate-from-google-maps-android-app.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -207,14 +207,14 @@ To display a map using the Azure Maps SDK for Android, the following steps need
207207

208208
The map control contains its own lifecycle methods for managing Android's OpenGL lifecycle, which must be called directly from the containing Activity. In order for your app to correctly, call the map control's lifecycle methods, you must override the following lifecycle methods in the Activity that contains the map control and call the respective map control method.
209209

210-
* onCreate(Bundle)
211-
* onStart()
212-
* onResume()
213-
* onPause()
214-
* onStop()
215-
* onDestroy()
216-
* onSaveInstanceState(Bundle)
217-
* onLowMemory()
210+
* `onCreate(Bundle)`
211+
* `onStart()`
212+
* `onResume()`
213+
* `onPause()`
214+
* `onStop()`
215+
* `onDestroy()`
216+
* `onSaveInstanceState(Bundle)`
217+
* `onLowMemory()`
218218

219219
Edit the **MainActivity.java** file as follows:
220220

articles/azure-monitor/insights/container-insights-agent-config.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ The following are the settings that can be configured to control data collection
3131
|`[log_collection_settings.stderr] enabled =` |Boolean | true or false |This controls if stderr container log collection is enabled. When set to `true` and no namespaces are excluded for stdout log collection (`log_collection_settings.stderr.exclude_namespaces` setting), stderr logs will be collected from all containers across all pods/nodes in the cluster. If not specified in ConfigMaps, the default value is `enabled = true`. |
3232
|`[log_collection_settings.stderr] exclude_namespaces =` |String |Comma-separated array |Array of Kubernetes namespaces for which stderr logs will not be collected. This setting is effective only if `log_collection_settings.stdout.enabled` is set to `true`. If not specified in ConfigMap, the default value is `exclude_namespaces = ["kube-system"]`. |
3333
| `[log_collection_settings.env_var] enabled =` |Boolean | true or false | This setting controls environment variable collection across all pods/nodes in the cluster and defaults to `enabled = true` when not specified in ConfigMaps. If collection of environment variables is globally enabled, you can disable it for a specific container by setting the environment variable `AZMON_COLLECT_ENV` to **False** either with a Dockerfile setting or in the [configuration file for the Pod](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/) under the **env:** section. If collection of environment variables is globally disabled, then you cannot enable collection for a specific container (that is, the only override that can be applied at the container level is to disable collection when it's already enabled globally.). |
34+
| `[log_collection_settings.enrich_container_logs] enabled =` |Boolean | true or false | This setting controls container log enrichment to populate the Name and Image property values for every log record written to the ContainerLog table for all container logs in the cluster. It defaults to `enabled = false` when not specified in ConfigMap. |
3435

3536
ConfigMaps is a global list and there can be only one ConfigMap applied to the agent. You cannot have another ConfigMaps overruling the collections.
3637

articles/azure-monitor/insights/container-insights-faq.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,47 @@ ms.date: 10/15/2019
99

1010
This Microsoft FAQ is a list of commonly asked questions about Azure Monitor for containers. If you have any additional questions about the solution, go to the [discussion forum](https://feedback.azure.com/forums/34192--general-feedback) and post your questions. When a question is frequently asked, we add it to this article so that it can be found quickly and easily.
1111

12+
## I don't see Image and Name property values populated when I query the ContainerLog table.
13+
14+
For agent version ciprod12042019 and later, by default these two properties are not populated for every log line to minimize cost incurred on log data collected. There are two options to query the table that include these properties with their values:
15+
16+
### Option 1
17+
18+
Join other tables to include these property values in the results.
19+
20+
Modify your queries to include Image and ImageTag properties from the ```ContainerInventory``` table by joining on ContainerID property. You can include the Name property (as it previously appeared in the ```ContainerLog``` table) from KubepodInventory table's ContaineName field by joining on the ContainerID property.This is the recommended option.
21+
22+
The following example is a sample detailed query that explains how to get these field values with joins.
23+
24+
```
25+
//lets say we are querying an hour worth of logs
26+
let startTime = ago(1h);
27+
let endTime = now();
28+
//below gets the latest Image & ImageTag for every containerID, during the time window
29+
let ContainerInv = ContainerInventory | where TimeGenerated >= startTime and TimeGenerated < endTime | summarize arg_max(TimeGenerated, *) by ContainerID, Image, ImageTag | project-away TimeGenerated | project ContainerID1=ContainerID, Image1=Image ,ImageTag1=ImageTag;
30+
//below gets the latest Name for every containerID, during the time window
31+
let KubePodInv = KubePodInventory | where ContainerID != "" | where TimeGenerated >= startTime | where TimeGenerated < endTime | summarize arg_max(TimeGenerated, *) by ContainerID2 = ContainerID, Name1=ContainerName | project ContainerID2 , Name1;
32+
//now join the above 2 to get a 'jointed table' that has name, image & imagetag. Outer left is safer in-case there are no kubepod records are if they are latent
33+
let ContainerData = ContainerInv | join kind=leftouter (KubePodInv) on $left.ContainerID1 == $right.ContainerID2;
34+
//now join ContainerLog table with the 'jointed table' above and project-away redundant fields/columns and rename columns that were re-written
35+
//Outer left is safer so you dont lose logs even if we cannot find container metadata for loglines (due to latency, time skew between data types etc...)
36+
ContainerLog
37+
| where TimeGenerated >= startTime and TimeGenerated < endTime
38+
| join kind= leftouter (
39+
ContainerData
40+
) on $left.ContainerID == $right.ContainerID2 | project-away ContainerID1, ContainerID2, Name, Image, ImageTag | project-rename Name = Name1, Image=Image1, ImageTag=ImageTag1
41+
42+
```
43+
44+
### Option 2
45+
46+
Re-enable collection for these properties for every container log line.
47+
48+
If the first option is not convenient due to query changes involved, you can re-enable collecting these fields by enabling the setting ```log_collection_settings.enrich_container_logs``` in the agent config map as described in the [data collection configuration settings](./container-insights-agent-config.md).
49+
50+
> [!NOTE]
51+
> The second option is not recommend with large clusters that have more than 50 nodes, as it generates API server calls from every node > in the cluster to perform this enrichment. This option also increases data size for every log line collected.
52+
1253
## Can I view metrics collected in Grafana?
1354

1455
Azure Monitor for containers supports viewing metrics stored in your Log Analytics workspace in Grafana dashboards. We have provided a template that you can download from Grafana's [dashboard repository](https://grafana.com/grafana/dashboards?dataSource=grafana-azure-monitor-datasource&category=docker) to get you started and reference to help you learn how to query additional data from your monitored clusters to visualize in custom Grafana dashboards.

articles/azure-monitor/platform/autoscale-webhook-email.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Use autoscale to send email and webhook alert notifications
3-
description: 'See how to use autoscale actions to call web URLs or send email notifications in Azure Monitor. '
3+
description: Learn how to use autoscale actions to call web URLs or send email notifications in Azure Monitor.
44
author: anirudhcavale
55
services: azure-monitor
66
ms.service: azure-monitor
@@ -27,7 +27,7 @@ You can opt-in from the Azure portal for Cloud Services and Server Farms (Web Ap
2727

2828
## Virtual Machine scale sets
2929
For newer Virtual Machines created with Resource Manager (Virtual Machine scale sets), you can configure this using REST API, Resource Manager templates, PowerShell, and CLI. A portal interface is not yet available.
30-
When using the REST API or Resource Manager template, include the notifications element in your [autoscalesettings](https://docs.microsoft.com/en-us/azure/templates/microsoft.insights/2015-04-01/autoscalesettings) with the following options.
30+
When using the REST API or Resource Manager template, include the notifications element in your [autoscalesettings](https://docs.microsoft.com/azure/templates/microsoft.insights/2015-04-01/autoscalesettings) with the following options.
3131

3232
```
3333
"notifications": [

articles/cosmos-db/local-emulator-release-notes.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ This article shows the Azure Cosmos emulator release notes with a list of featur
2121

2222
## Release notes
2323

24+
### 2.7.2
25+
26+
- This release adds MongoDB version 3.6 server support to the Cosmos Emulator. To start a MongoDB endpoint that target version 3.6 of the service, start the emulator from an Administrator command line with "/EnableMongoDBEndpoint=3.6" option.
27+
2428
### 2.7.0
2529

2630
- This release fixes a regression which prevented users from executing queries against the SQL API account from the emulator when using .NET core or x86 .NET based clients.

0 commit comments

Comments
 (0)