Skip to content

Commit 9288967

Browse files
authored
Merge pull request #176338 from MicrosoftDocs/master
Merge master to live, 4 AM
2 parents 01dcf16 + b2f3aae commit 9288967

File tree

217 files changed

+2945
-1538
lines changed

Some content is hidden

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

217 files changed

+2945
-1538
lines changed

.openpublishing.redirection.iot-hub.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -938,7 +938,6 @@
938938
"redirect_url": "/azure/iot-hub/tutorial-x509-scripts",
939939
"redirect_document_id": false
940940
},
941-
942941
{
943942
"source_path_from_root": "/articles/iot-hub/iot-hub-gateway-kit-c-iot-gateway-connect-device-to-cloud.md",
944943
"redirect_url": "https://github.com/Azure/iot-edge/tree/master/v1/doc/commercial_gateway_kit/iot-hub-gateway-kit-c-iot-gateway-connect-device-to-cloud.md",
@@ -1005,7 +1004,11 @@
10051004
"redirect_url": "https://github.com/Azure/iot-edge/tree/master/v1/samples/simulated_device_cloud_upload/iot-hub-windows-iot-edge-simulated-device.md",
10061005
"redirect_document_id": false
10071006
},
1008-
1007+
{
1008+
"source_path_from_root": "/articles/iot-hub/tutorial-firmware-update.md",
1009+
"redirect_url": "/azure/iot-hub-device-update/device-update-raspberry-pi",
1010+
"redirect_document_id": false
1011+
}
10091012

10101013
]
10111014
}

.openpublishing.redirection.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44243,6 +44243,21 @@
4424344243
"redirect_url": "/azure/azure-monitor/logs/log-powerbi",
4424444244
"redirect_document_id": false
4424544245
},
44246+
{
44247+
"source_path_from_root": "/articles/azure-monitor/deploy.md",
44248+
"redirect_url": "/azure/azure-monitor/best-practices",
44249+
"redirect_document_id": false
44250+
},
44251+
{
44252+
"source_path_from_root": "/articles/azure-monitor/deploy-scale.md",
44253+
"redirect_url": "/azure/azure-monitor/best-practices",
44254+
"redirect_document_id": false
44255+
},
44256+
{
44257+
"source_path_from_root": "/articles/azure-monitor/visualizations.md",
44258+
"redirect_url": "/azure/azure-monitor/best-practices-analysis",
44259+
"redirect_document_id": false
44260+
},
4424644261
{
4424744262
"source_path_from_root": "/articles/load-balancer/tutorial-load-balancer-standard-manage-portal.md",
4424844263
"redirect_url": "/azure/load-balancer/quickstart-load-balancer-standard-public-portal",

articles/active-directory/authentication/concept-authentication-passwordless.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ The following providers offer FIDO2 security keys of different form factors that
142142
| IDmelon Technologies Inc. | ![y] | ![y]| ![y]| ![y]| ![n] | https://www.idmelon.com/#idmelon |
143143
| Kensington | ![y] | ![y]| ![n]| ![n]| ![n] | https://www.kensington.com/solutions/product-category/why-biometrics/ |
144144
| KONA I | ![y] | ![n]| ![y]| ![y]| ![n] | https://konai.com/business/security/fido |
145-
| NeoWave | ![n] | ![y]| ![y]| ![n]| ![n] | https://neowave.fr/en/products/fido-range/ |
145+
| NEOWAVE | ![n] | ![y]| ![y]| ![n]| ![n] | https://neowave.fr/en/products/fido-range/ |
146146
| Nymi | ![y] | ![n]| ![y]| ![n]| ![n] | https://www.nymi.com/nymi-band |
147147
| Octatco | ![y] | ![y]| ![n]| ![n]| ![n] | https://octatco.com/ |
148148
| OneSpan Inc. | ![n] | ![y]| ![n]| ![y]| ![n] | https://www.onespan.com/products/fido |

articles/app-service/configure-ssl-certificate.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ Select **App Service Verification**. Since you already mapped the domain to your
171171
> - **App Service** - The most convenient option when the domain is already mapped to an App Service app in the same subscription. It takes advantage of the fact that the App Service app has already verified the domain ownership.
172172
> - **Domain** - Verify an [App Service domain that you purchased from Azure](manage-custom-dns-buy-domain.md). Azure automatically adds the verification TXT record for you and completes the process.
173173
> - **Mail** - Verify the domain by sending an email to the domain administrator. Instructions are provided when you select the option.
174-
> - **Manual** - Verify the domain using either an HTML page (**Standard** certificate only) or a DNS TXT record. Instructions are provided when you select the option.
174+
> - **Manual** - Verify the domain using either an HTML page (**Standard** certificate only) or a DNS TXT record. Instructions are provided when you select the option. The HTML page option doesn't work for web apps with "Https Only" enabled.
175175
176176
### Import certificate into App Service
177177

@@ -329,7 +329,9 @@ To replace an expiring certificate, how you update the certificate binding with
329329
### Renew an App Service certificate
330330

331331
> [!NOTE]
332-
> Starting Sept 23 2021, App Service certificates will require domain validation every 395 days. Unlike App Service Managed Certificate, domain re-validation for App Service Certificate will NOT be automated.
332+
> Starting September 23 2021, App Service certificates will require domain validation every 395 days. This is due to a new guideline enforced by the CA/Browser Forum that Certificate Authorities must comply with.
333+
>
334+
> Unlike App Service Managed Certificate, domain re-validation for App Service Certificate will NOT be automated. Refer to [verify domain ownership](#verify-domain-ownership) for more information on how to verify your App Service certificate.
333335
334336
> [!NOTE]
335337
> The renewal process requires that [the well-known service principal for App Service has the required permissions on your key vault](deploy-resource-manager-template.md#deploy-web-app-certificate-from-key-vault). This permission is configured for you when you import an App Service Certificate through the portal, and should not be removed from your key vault.

articles/applied-ai-services/form-recognizer/compose-custom-models.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,9 @@ Using the **REST API**, you can make a [**Compose Custom Model**](https://westu
157157

158158
Use the programming language code of your choice to create a composed model that will be called with a single model ID. Below are links to code samples that demonstrate how to create a composed model from existing custom models:
159159

160-
* [**C#/.NET**](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample8_ModelCompose.md).
160+
* [**C#/.NET**](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_ModelCompose.md).
161161

162-
* [**Java**](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/CreateComposedModel.java).
162+
* [**Java**](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/administration/CreateComposedModel.java).
163163

164164
* [**JavaScript**](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/formrecognizer/ai-form-recognizer/samples/v3/javascript/createComposedModel.js).
165165

@@ -191,9 +191,9 @@ Using the REST API, you can make an [Analyze Form](https://westus.dev.cognitive.
191191

192192
Using the programming language of your choice to analyze a form or document with a custom or composed model. You'll need your Form Recognizer endpoint, API key, and model ID.
193193

194-
* [**C#/.NET**](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample8_ModelCompose.md#recognize-a-custom-form-using-a-composed-model)
194+
* [**C#/.NET**](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_ModelCompose.md)
195195

196-
* [**Java**](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/RecognizeCustomFormsFromUrl.java)
196+
* [**Java**](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/formrecognizer/azure-ai-formrecognizer/src/samples/java/com/azure/ai/formrecognizer/AnalyzeCustomDocumentFromUrl.java)
197197

198198
* [**JavaScript**](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/formrecognizer/ai-form-recognizer/samples/v3/javascript/recognizeCustomForm.js)
199199

articles/applied-ai-services/form-recognizer/concept-id-document.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ You can see how ID document data is extracted by trying our Sample labeling tool
4040

4141
:::image type="content" source="media/containers/keys-and-endpoint.png" alt-text="Screenshot: keys and endpoint location in the Azure portal.":::
4242

43-
* An ID document. You can use our [sample ID document](https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/id-license.jpg).
43+
* An ID document. You can use our [sample ID document](https://raw.githubusercontent.com/MicrosoftDocs/azure-docs/master/articles/applied-ai-services/form-recognizer/media/id-license.jpg).
4444

4545
> [!div class="nextstepaction"]
4646
> [Try it](https://fott-2-1.azurewebsites.net/prebuilts-analyze)
@@ -132,4 +132,4 @@ In the Form Recognizer UI:
132132
* Explore our REST API:
133133

134134
> [!div class="nextstepaction"]
135-
> [Form Recognizer API v2.1](https://westus.dev.cognitive.microsoft.com/docs/services/form-recognizer-api-v2-1/operations/5f74a7738978e467c5fb8707)
135+
> [Form Recognizer API v2.1](https://westus.dev.cognitive.microsoft.com/docs/services/form-recognizer-api-v2-1/operations/5f74a7738978e467c5fb8707)

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: automation
55
ms.subservice:
66
author: mgoedtel
77
ms.author: magoedte
8-
ms.date: 09/24/2021
8+
ms.date: 10/18/2021
99
ms.topic: troubleshooting
1010
ms.custom: devx-track-azurepowershell
1111
---
@@ -46,6 +46,16 @@ Confirm the computer to run the Hybrid Runbook Worker feature meets the minimum
4646

4747
Check the **Microsoft-SMA** event log for a corresponding event with the description `Win32 Process Exited with code [4294967295]`. The cause of this error is that you haven't configured authentication in your runbooks or specified the Run As credentials for the Hybrid Runbook Worker group. Review runbook permissions in [Running runbooks on a Hybrid Runbook Worker](../automation-hrw-run-runbooks.md) to confirm that you've correctly configured authentication for your runbooks.
4848

49+
### Scenario: Runbooks fail with gateway error
50+
51+
#### Issue
52+
53+
The Hybrid Runbook Worker jobs failed to refresh when communicating through a Log Analytics Gateway server and the error returned is similar to: `Spool operation id does not exist (spool ID): see attachment for job details and exact exception messages.`
54+
55+
#### Resolution
56+
57+
Verify the Log Analytics Gateway server is online and is accessible from the machine hosting the Hybrid Runbook Worker role. For additional troubleshooting information, see [Troubleshoot Log Analytics Gateway](../../azure-monitor/agents/gateway.md#troubleshooting).
58+
4959
### <a name="cannot-connect-signalr"></a>Scenario: Event 15011 in the Hybrid Runbook Worker
5060

5161
#### Issue

articles/azure-app-configuration/faq.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ sections:
5050
You can also import and export settings between App Service and App Configuration. This capability allows you to quickly set up a new App Configuration store based on existing App Service settings. You can also share configuration with an existing app that relies on App Service settings.
5151
5252
- question: Are there any size limitations on keys and values stored in App Configuration?
53-
answer: There's a limit of 10 KB for a single key-value item.
53+
answer: |
54+
There's a limit of 10 KB for a single key-value, including attributes such as label, content-type, tags, and other metadata.
55+
56+
This limit should be sufficient for a single setting in most applications. If you find that your setting is larger than this limit, you may consider storing your data elsewhere and [add a reference of that data](./howto-best-practices.md#references-to-external-data) in App Configuration.
5457
5558
- question: How should I store configurations for multiple environments (test, staging, production, and so on)?
5659
answer: |
@@ -67,7 +70,7 @@ sections:
6770
There are two pricing tiers:
6871
6972
- Free tier
70-
- Standard tier.
73+
- Standard tier
7174
7275
If you created a store prior to the introduction of the Standard tier, it automatically moved to the Free tier upon general availability. You can choose to upgrade to the Standard tier or remain on the Free tier.
7376
@@ -145,7 +148,7 @@ sections:
145148
146149
The App Configuration store cannot be created in a different subscription/resource group until the retention period has elapsed. However, the resource can be recreated in the original subscription/resource group and then moved to a new subscription/resource group by following [these instructions](../azure-resource-manager/management/move-resource-group-and-subscription.md#use-the-portal).
147150
148-
Recreating an App Configuration store during the retention period is currently only supported by the Azure CLI using the `az appconfig create` command detailed [here](/cli/azure/appconfig?view=azure-cli-latest#az_appconfig_create).
151+
Recreating an App Configuration store during the retention period is currently only supported by the Azure CLI using the `az appconfig create` [command](/cli/azure/appconfig?view=azure-cli-latest#az_appconfig_create).
149152
150153
- question: How can I restore an App Configuration store that I deleted mistakenly?
151154
answer: |

articles/azure-app-configuration/howto-best-practices.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ App Configuration provides two options for organizing keys:
2727

2828
You can use either one or both options to group your keys.
2929

30-
*Key prefixes* are the beginning parts of keys. You can logically group a set of keys by using the same prefix in their names. Prefixes can contain multiple components connected by a delimiter, such as `/`, similar to a URL path, to form a namespace. Such hierarchies are useful when you're storing keys for many applications, component services, and environments in one App Configuration store.
30+
*Key prefixes* are the beginning parts of keys. You can logically group a set of keys by using the same prefix in their names. Prefixes can contain multiple components connected by a delimiter, such as `/`, similar to a URL path, to form a namespace. Such hierarchies are useful when you're storing keys for many applications and microservices in one App Configuration store.
3131

3232
An important thing to keep in mind is that keys are what your application code references to retrieve the values of the corresponding settings. Keys shouldn't change, or else you'll have to modify your code each time that happens.
3333

@@ -53,6 +53,14 @@ configBuilder.AddAzureAppConfiguration(options => {
5353

5454
[Use labels to enable different configurations for different environments](./howto-labels-aspnet-core.md) provides a complete example.
5555

56+
## References to external data
57+
58+
App Configuration is designed to store any configuration data that you would normally save in configuration files or environment variables. However, some types of data may better suited to reside in other sources. For example, store secrets in Key Vault, files in Azure Storage, membership information in Azure AD groups, or customer lists in a database.
59+
60+
You can still take advantage of App Configuration by saving a reference to external data in a key-value. When your application reads a reference, you load the data from the referenced source. In case that you change the location of your external data, you only need to update the reference in App Configuration instead of updating and redeploying your entire application.
61+
62+
The App Configuration [Key Vault reference](use-key-vault-references-dotnet-core.md) feature is an example in this case. It allows the secrets required for an application to be updated as necessary while the underlying secrets themselves remain in Key Vault.
63+
5664
## App Configuration bootstrap
5765

5866
To access an App Configuration store, you can use its connection string, which is available in the Azure portal. Because connection strings contain credential information, they're considered secrets. These secrets need to be stored in Azure Key Vault, and your code must authenticate to Key Vault to retrieve them.
@@ -61,7 +69,7 @@ A better option is to use the managed identities feature in Azure Active Directo
6169

6270
## App or function access to App Configuration
6371

64-
You can provide access to App Configuration for web apps or functions by using any of the following methods:
72+
You can provide access to App Configuration for Web Apps or Azure Functions by using any of the following methods:
6573

6674
* Through the Azure portal, enter the connection string to your App Configuration store in the Application settings of App Service.
6775
* Store the connection string to your App Configuration store in Key Vault and [reference it from App Service](../app-service/app-service-key-vault-references.md).
@@ -80,7 +88,7 @@ Excessive requests to App Configuration can result in throttling or overage char
8088

8189
## Importing configuration data into App Configuration
8290

83-
App Configuration offers the option to bulk [import](./howto-import-export-data.md) your configuration settings from your current configuration files using either the Azure portal or CLI. You can also use the same options to export values from App Configuration, for example between related stores. If you’d like to set up an ongoing sync with your GitHub repo, you can use our [GitHub Action](./concept-github-action.md) so that you can continue using your existing source control practices while getting the benefits of App Configuration.
91+
App Configuration offers the option to bulk [import](./howto-import-export-data.md) your configuration settings from your current configuration files using either the Azure portal or CLI. You can also use the same options to export key-values from App Configuration, for example between related stores. If you’d like to set up an ongoing sync with your repo in GitHub or Azure DevOps, you can use our [GitHub Action](./concept-github-action.md) or [Azure Pipeline Push Task](./push-kv-devops-pipeline.md) so that you can continue using your existing source control practices while getting the benefits of App Configuration.
8492

8593
## Multi-region deployment in App Configuration
8694

articles/azure-fluid-relay/how-tos/connect-fluid-azure-service.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -153,19 +153,19 @@ const onAudienceChanged = () => {
153153
const memberStrings: string[] = [];
154154
const useAzure = process.env.FLUID_CLIENT === "azure";
155155

156-
members.forEach((member: AzureMember<ICustomUserDetails>) => {
157-
if (member.userId !== self?.userId) {
156+
members.forEach((member) => {
157+
if (member.userId !== (self ? self.userId : "")) {
158158
if (useAzure) {
159-
const memberString = `${member.userName}: {Email: ${member.additionalDetails?.email},
160-
Address: ${member.additionalDetails?.address}}`;
159+
const memberString = `${member.userName}: {Email: ${member.additionalDetails ? member.additionalDetails.email : ""},
160+
Address: ${member.additionalDetails ? member.additionalDetails.address : ""}}`;
161161
memberStrings.push(memberString);
162162
} else {
163163
memberStrings.push(member.userName);
164164
}
165165
}
166166
});
167167
audienceDiv.innerHTML = `
168-
Current User: ${self?.userName} <br />
168+
Current User: ${self ? self.userName : ""} <br />
169169
Other Users: ${memberStrings.join(", ")}
170170
`;
171171
};

0 commit comments

Comments
 (0)