Skip to content

Commit 99c3207

Browse files
committed
Manual fine-tuning
1 parent aba79d0 commit 99c3207

File tree

3 files changed

+23
-23
lines changed

3 files changed

+23
-23
lines changed

articles/digital-twins/how-to-authenticate-client.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ms.service: azure-digital-twins
1717

1818
# Write client app authentication code
1919

20-
After you [set up an Azure Digital Twins instance and authentication](how-to-set-up-instance-portal.md), create a client application to interact with the instance. After you set up a starter client project, **write code in that client app to authenticate it** against the Azure Digital Twins instance.
20+
After you [set up an Azure Digital Twins instance and authentication](how-to-set-up-instance-portal.md), you can create a client application to interact with the instance. This article explains how to **write code in that client app to authenticate it** against the Azure Digital Twins instance.
2121

2222
Azure Digital Twins authenticates using [Microsoft Entra Security Tokens based on OAUTH 2.0](../active-directory/develop/security-tokens.md#json-web-tokens-and-claims). To authenticate your SDK, get a bearer token with the right permissions to Azure Digital Twins, and pass it along with your API calls.
2323

@@ -35,14 +35,14 @@ To continue, you need a client app project in which you write your code. If you
3535

3636
* [.NET (C#)](/dotnet/api/azure.identity?view=azure-dotnet&preserve-view=true)
3737
* [Java](/java/api/overview/azure/identity-readme?view=azure-java-stable&preserve-view=true)
38-
* [JavaScript](/JavaScript/api/overview/azure/identity-readme?view=azure-node-latest&preserve-view=true)
38+
* [JavaScript](/javascript/api/overview/azure/identity-readme?view=azure-node-latest&preserve-view=true)
3939
* [Python](/python/api/overview/azure/identity-readme?view=azure-python&preserve-view=true)
4040

4141
Three common credential-obtaining methods in `Azure.Identity` are:
4242

43-
* [DefaultAzureCredential](/dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet&preserve-view=true) provides a default `TokenCredential` authentication flow for applications that are deployed to Azure. This method is **the recommended choice for local development**. It also tries the other two methods recommended in this article; it wraps `ManagedIdentityCredential` and can access `InteractiveBrowserCredential` with a configuration variable.
43+
* [DefaultAzureCredential](/dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet&preserve-view=true) provides a default `TokenCredential` authentication flow for applications that are deployed to Azure. This method is **the recommended choice for local development**. It's also capable of trying the other two methods recommended in this article; it wraps `ManagedIdentityCredential` and can access `InteractiveBrowserCredential` with a configuration variable.
4444
* [ManagedIdentityCredential](/dotnet/api/azure.identity.managedidentitycredential?view=azure-dotnet&preserve-view=true) works well in cases where you need [managed identities (MSI)](../active-directory/managed-identities-azure-resources/overview.md). This method is a good candidate for working with Azure Functions and deploying to Azure services.
45-
* [InteractiveBrowserCredential](/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet&preserve-view=true) is intended for interactive applications. Use this method to create an authenticated SDK client.
45+
* [InteractiveBrowserCredential](/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet&preserve-view=true) is intended for interactive applications. This is one method of creating an authenticated SDK client.
4646

4747
The rest of this article shows how to use these methods with the [.NET (C#) SDK](/dotnet/api/overview/azure/digitaltwins.core-readme).
4848

@@ -78,7 +78,7 @@ Here's a code sample to add a `DefaultAzureCredential` to your project:
7878

7979
The [ManagedIdentityCredential](/dotnet/api/azure.identity.managedidentitycredential?view=azure-dotnet&preserve-view=true) method works well in cases where you need [managed identities (MSI)](../active-directory/managed-identities-azure-resources/overview.md)—for example, when [authenticating with Azure Functions](#authenticate-azure-functions).
8080

81-
This method means that you can use `ManagedIdentityCredential` in the same project as `DefaultAzureCredential` or `InteractiveBrowserCredential` to authenticate a different part of the project.
81+
You can use `ManagedIdentityCredential` in the same project as `DefaultAzureCredential` or `InteractiveBrowserCredential` to authenticate a different part of the project.
8282

8383
To use the default Azure credentials, you need the Azure Digital Twins instance's URL ([instructions to find](how-to-set-up-instance-portal.md#verify-success-and-collect-important-values)). You might also need an [app registration](./how-to-create-app-registration.md) and the registration's [Application (client) ID](./how-to-create-app-registration.md#collect-client-id-and-tenant-id).
8484

@@ -126,7 +126,7 @@ When writing the Azure function, consider adding these variables and code to you
126126

127127
:::code language="csharp" source="~/digital-twins-docs-samples/sdks/csharp/adtIngestFunctionSample.cs" id="ManagedIdentityCredential":::
128128

129-
When you create the credential without parameters, as shown in the previous example, it returns the credential for the function app's system-assigned identity, if it has one. To specify a user-assigned identity instead, pass the user-assigned identity's **client ID** into the `id` parameter for the constructor.
129+
When you create the credential without parameters, as shown in the previous example, it returns the credential for the function app's system-assigned identity, if it has one. To specify a user-assigned identity instead, pass the user-assigned identity's **client ID** into the `id` parameter for the constructor.
130130

131131
Later, after publishing the function, ensure that the function's identity has permission to access the Azure Digital Twins APIs. For instructions on how to do so, see [Assign an access role](#assign-an-access-role).
132132

articles/digital-twins/how-to-create-endpoints.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Routing [event notifications](concepts-event-notifications.md) from Azure Digita
3131

3232
:::image type="content" source="media/includes/instance-details.png" alt-text="Screenshot of the Overview page for an Azure Digital Twins instance in the Azure portal. The name and resource group are highlighted." lightbox="media/includes/instance-details.png":::
3333

34-
Next, follow the instructions in the following section if you intend to use the Azure CLI while following this guide.
34+
If you intend to use the Azure CLI while following this guide, follow the instructions in the next section.
3535

3636
[!INCLUDE [azure-cli-prepare-your-environment-h3.md](~/reusable-content/azure-cli/azure-cli-prepare-your-environment-h3.md)]
3737

@@ -116,7 +116,7 @@ The rest of this section walks through three steps for setting up an endpoint wi
116116

117117
### 1. Enable managed identity for the instance
118118

119-
Use the tabs for instructions that match your preferred experience.
119+
Use the following tabs for instructions that match your preferred experience.
120120

121121
# [Portal](#tab/portal)
122122

@@ -147,7 +147,7 @@ Here are the minimum roles that your Azure Digital Twins identity needs to acces
147147
| Azure Service Bus | Azure Service Bus Data Sender |
148148
| Azure storage container | Storage Blob Data Contributor |
149149

150-
Use the tabs to assign the role using your preferred experience.
150+
Use the following tabs to assign the role using your preferred experience.
151151

152152
# [Portal](#tab/portal)
153153

@@ -245,7 +245,7 @@ To learn more about dead-lettering, see [Endpoints and event routes](concepts-ro
245245

246246
Before setting the dead-letter location, you must have a [storage account](../storage/common/storage-account-create.md?tabs=azure-portal) with a [container](../storage/blobs/storage-quickstart-blobs-portal.md#create-a-container) in your Azure account.
247247

248-
Provide the URI for this container when creating the endpoint. The dead-letter location is provided to the endpoint as a container URI with a [SAS token](../storage/common/storage-sas-overview.md). That token needs `write` permission for the destination container within the storage account. The fully formed dead letter SAS URI is in the format of: `https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>`.
248+
When creating the endpoint, you provide the URI of this container. The dead-letter location is provided to the endpoint as a container URI with a [SAS token](../storage/common/storage-sas-overview.md). That token needs `write` permission for the destination container within the storage account. The fully formed dead letter SAS URI is in the format of: `https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>`.
249249

250250
To set up these storage resources in your Azure account, follow the steps in the following section. After setting up the storage resources, you can set up the endpoint connection.
251251

@@ -288,9 +288,9 @@ Next, create a SAS token for your storage account that the endpoint can use to a
288288
The output of this command is the SAS token. Copy the SAS token value to use later.
289289
290290
> [!NOTE]
291-
> This command includes "**b**lob", "**f**ile", "**q**ueue", and "**t**able" *services*; an "**o**bject" *resource type*; and allows "**w**rite" *permissions*.
292-
>
293-
> For more information about the `az storage account generate-sas` command and its parameters, see the [Azure CLI reference](/cli/azure/storage/account#az-storage-account-generate-sas).
291+
> This command includes "**b**lob", "**f**ile", "**q**ueue", and "**t**able" *services*; an "**o**bject" *resource type*; and allows "**w**rite" *permissions*.
292+
>
293+
> For more information about the `az storage account generate-sas` command and its parameters, see the [Azure CLI reference](/cli/azure/storage/account#az-storage-account-generate-sas).
294294
295295
---
296296

articles/iot-operations/get-started-end-to-end-sample/quickstart-get-insights.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Quickstart: Get insights from your processed data"
3-
description: "Quickstart: Use a Real-Time Dashboard to capture insights from the OPC UA data you sent to Event Hubs."
3+
description: "Quickstart: Use a real-time dashboard to capture insights from the OPC UA data you sent to Event Hubs."
44
author: baanders
55
ms.author: baanders
66
ms.topic: quickstart
@@ -13,21 +13,21 @@ ms.date: 01/28/2025
1313

1414
# Quickstart: Get insights from your processed data
1515

16-
In this quickstart, you populate a [Real-Time Dashboard](/fabric/real-time-intelligence/dashboard-real-time-create) to capture insights from the OPC UA data that you sent to Event Hubs in the previous quickstart. Using Microsoft Fabric Real-Time Intelligence, you bring your data from Event Hubs into Microsoft Fabric, and map it into a KQL database that can be a source for Real-Time Dashboards. Then, you build a dashboard to display that data in visual tiles that capture insights and show the values over time.
16+
In this quickstart, you populate a [real-time dashboard](/fabric/real-time-intelligence/dashboard-real-time-create) to capture insights from the OPC UA data that you sent to Event Hubs in the previous quickstart. Using Microsoft Fabric Real-Time Intelligence, you bring your data from Event Hubs into Microsoft Fabric, and map it into a KQL database that can be a source for real-time dashboards. Then, you build a dashboard to display that data in visual tiles that capture insights and show the values over time.
1717

1818
These operations are the last steps in the sample end-to-end quickstart experience, which goes from deploying Azure IoT Operations at the edge through getting insights from that device data in the cloud.
1919

2020
## Prerequisites
2121

2222
Before you begin this quickstart, complete the previous Azure IoT Operations quickstarts.
2323

24-
You also need to meet the following Fabric requirements:
24+
You also need to have the following Fabric resources:
2525
* A Microsoft Fabric subscription. In your subscription, you need access to a workspace with **Contributor** or above permissions.
26-
* A Fabric tenant that allows the creation of Real-Time Dashboards. Your tenant administrator can enable this setting. For more information, see [Enable tenant settings in the admin portal](/fabric/real-time-intelligence/dashboard-real-time-create#enable-tenant-settings-in-the-admin-portal).
26+
* A Fabric tenant that allows the creation of real-time dashboards. Your tenant administrator can enable this setting. For more information, see [Enable tenant settings in the admin portal](/fabric/real-time-intelligence/dashboard-real-time-create#enable-tenant-settings-in-the-admin-portal).
2727

2828
## What problem will we solve?
2929

30-
When your OPC UA data arrives in the cloud, there's a lot of information available to analyze. You might want to organize that data and create reports containing graphs and visualizations to derive insights from the data. The steps in this quickstart illustrate how to connect that data to Real-Time Intelligence and create a Real-Time Dashboard.
30+
When your OPC UA data arrives in the cloud, there's a lot of information available to analyze. You might want to organize that data and create reports containing graphs and visualizations to derive insights from the data. The steps in this quickstart illustrate how to connect that data to Real-Time Intelligence and create a real-time dashboard.
3131

3232
## Ingest data into Real-Time Intelligence
3333

@@ -44,7 +44,7 @@ Add your event hub as a data source for a new eventstream. For detailed instruct
4444
* Edit the **Eventstream name** to something friendly in the **Stream details** pane.
4545
* For **Azure Event Hub Key**, use the default selection (*RootManageSharedAccessKey*).
4646
* For **Connection**, create a new connection with Shared Access Key authentication. The connection credential details fill automatically.
47-
* Make sure local authentication is enabled on your Event Hubs namespace. You can set this authentication from the Overview page of the Azure portal.
47+
* Make sure local authentication is enabled on your Event Hubs namespace. You can set this authentication from the namespace's Overview page in the Azure portal.
4848
* For **Consumer group**, use the default selection (*$Default*).
4949
* For **Data format**, use the default selection (*Json*).
5050

@@ -79,7 +79,7 @@ In this section, you create a KQL database in your Microsoft Fabric workspace to
7979
| Spike | bool |
8080
| Temperature | decimal |
8181
| FillWeight | decimal |
82-
| EnergyUse | decimal |
82+
| EnergyUse | decimal |
8383
| Timestamp | datetime |
8484

8585
1. After you create the *OPCUA* table, select it and use the **Query with code** button to open any sample query in a new query window for the table.
@@ -124,8 +124,8 @@ Navigate to your workspace and create a new real-time dashboard from the Real-Ti
124124
125125
Download the sample dashboard template from this location in GitHub: [dashboard-AIOquickstart.json](https://github.com/Azure-Samples/explore-iot-operations/blob/main/samples/dashboard/dashboard-AIOquickstart.json).
126126
127-
Then, follow the steps to upload the dashboard template and connect it to your data.
128-
1. In your Real-Time Dashboard, switch to the **Manage** tab and select **Replace with file**.
127+
Then, follow these steps to upload the dashboard template and connect it to your data.
128+
1. In your real-time dashboard, switch to the **Manage** tab and select **Replace with file**.
129129
:::image type="content" source="media/quickstart-get-insights/dashboard-upload-replace.png" alt-text="Screenshot of the buttons to upload a file template.":::
130130
1. Select the template file that you downloaded to your machine.
131131
1. The template file populates the dashboard with multiple tiles, although the tiles can't get data because you haven't connected a data source yet.
@@ -164,4 +164,4 @@ Now that you're finished with the quickstart experience, this section contains i
164164
> [!NOTE]
165165
> The resource group contains the Event Hubs namespace you created in this quickstart.
166166
167-
You can also delete your Microsoft Fabric workspace and all the resources within it associated with this quickstart, including the eventstream, Eventhouse, and Real-Time Dashboard. Additionally, you might want to delete the dashboard template file that you downloaded to your computer.
167+
You can also delete your Microsoft Fabric workspace and all the resources within it associated with this quickstart, including the eventstream, Eventhouse, and real-time dashboard. Additionally, you might want to delete the dashboard template file that you downloaded to your computer.

0 commit comments

Comments
 (0)