You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-government/compare-azure-government-global-azure.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -313,6 +313,22 @@ Azure Active Directory B2C is **not available** in Azure Government.
313
313
314
314
The Microsoft Authentication Library (MSAL) enables developers to acquire security tokens from the Microsoft identity platform to authenticate users and access secured web APIs. For feature variations and limitations, see [National clouds and MSAL](../active-directory/develop/msal-national-cloud.md).
315
315
316
+
## Internet of Things
317
+
318
+
This section outlines variations and considerations when using Internet of Things services in the Azure Government environment. For service availability, see [Products available by region](https://azure.microsoft.com/global-infrastructure/services/?products=notification-hubs,azure-maps,iot-hub,iot-central®ions=usgov-non-regional,us-dod-central,us-dod-east,usgov-arizona,usgov-texas,usgov-virginia&rar=true).
319
+
320
+
### [Azure IoT Hub](../iot-hub/index.yml)
321
+
322
+
When you use Microsoft Entra ID to authenticate requests to IoT Hub service APIs in Azure Government, you need to use a different audience URI than in global Azure. The audience URI is the OAuth 2.0 resource endpoint that you use when requesting Microsoft Entra tokens for IoT Hub service APIs.
323
+
324
+
For Azure Government, use the following audience URI when authenticating to IoT Hub service APIs:
325
+
326
+
`https://iothubs.azure.us`
327
+
328
+
In comparison, global Azure uses `https://iothubs.azure.net` as the audience URI.
329
+
330
+
For more information about authenticating to IoT Hub with Microsoft Entra ID, see [Control access to IoT Hub by using Microsoft Entra ID](../iot-hub/authenticate-authorize-azure-ad.md).
331
+
316
332
## Management and governance
317
333
318
334
This section outlines variations and considerations when using Management and Governance services in the Azure Government environment. For service availability, see [Products available by region](https://azure.microsoft.com/global-infrastructure/services/?products=managed-applications,azure-policy,network-watcher,monitor,traffic-manager,automation,scheduler,site-recovery,cost-management,backup,blueprints,advisor®ions=usgov-non-regional,us-dod-central,us-dod-east,usgov-arizona,usgov-texas,usgov-virginia&rar=true).
# Quickstart: Deploy a Dapr application to Azure Container Apps using the Azure CLI
16
+
# Quickstart: Deploy a Dapr application to Azure Container Apps by using the Azure CLI
17
17
18
-
[Dapr](./dapr-overview.md) (Distributed Application Runtime) helps developers build resilient, reliable microservices. In this quickstart, you learn how to enable Dapr sidecars to run alongside your microservices container apps. You'll:
18
+
[Distributed Application Runtime (Dapr)](./dapr-overview.md) helps developers build resilient, reliable microservices. In this quickstart, you learn how to enable Dapr sidecars to run alongside your microservices container apps. You'll:
19
19
20
20
> [!div class="checklist"]
21
21
> * Create a Container Apps environment and Azure Blog Storage state store for your container apps.
@@ -27,6 +27,13 @@ ms.devlang: azurecli
27
27
28
28
This quickstart mirrors the applications you deploy in the open-source Dapr [Hello World](https://github.com/dapr/quickstarts/tree/master/tutorials/hello-world) quickstart.
29
29
30
+
## Prerequisites
31
+
32
+
- An Azure account with an active subscription. If you don't have one, [create an account for free](https://azure.microsoft.com/pricing/purchase-options/azure-account?cid=msft_learn).
33
+
- A GitHub account. If you don't have one, [sign up for free](https://github.com/join).
@@ -39,18 +46,20 @@ This quickstart mirrors the applications you deploy in the open-source Dapr [Hel
39
46
40
47
### Create an Azure Blob Storage account
41
48
42
-
With the environment deployed, deploy an Azure Blob Storage account that is used by the Node.js container app to store data. Before deploying the service, choose a name for the storage account. Storage account names must be _unique within Azure_, from 3 to 24 characters in length and must contain numbers and lowercase letters only.
49
+
With the environment deployed, deploy an Azure Blob Storage account that is used by the Node.js container app to store data. Before deploying the service, choose a name for the storage account.
50
+
51
+
Storage account names must be _unique within Azure_, from 3 to 24 characters in length and must contain numbers and lowercase letters only.
43
52
44
53
# [Bash](#tab/bash)
45
54
46
55
```azurecli
47
-
STORAGE_ACCOUNT_NAME="<storageaccountname>"
56
+
STORAGE_ACCOUNT_NAME="<storage-account-name>"
48
57
```
49
58
50
59
# [PowerShell](#tab/powershell)
51
60
52
61
```azurepowershell
53
-
$StorageAcctName = '<storageaccountname>'
62
+
$StorageAcctName = '<storage-account-name>'
54
63
```
55
64
56
65
---
@@ -63,7 +72,7 @@ Use the following command to create the Azure Storage account.
New-AzRoleAssignment -ObjectId $PrincipalId -RoleDefinitionName 'Storage Blob Data Contributor' -Scope "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Storage/storageAccounts/$StorageAcctName"
171
+
New-AzRoleAssignment -ObjectId $PrincipalId -RoleDefinitionName 'Storage Blob Data Contributor' -Scope "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Storage/storageAccounts/$StorageAcctName"
163
172
```
164
173
165
174
---
@@ -168,24 +177,24 @@ While Container Apps supports both user-assigned and system-assigned managed ide
168
177
169
178
While you have multiple options for authenticating to external resources via Dapr. This example uses an Azure-based state store, so you can provide direct access from the Node.js app to the Blob store using Managed Identity.
170
179
171
-
1. In a text editor, create a file named *statestore.yaml* with the properties that you sourced from the previous steps.
180
+
1. In a text editor, create a file named *statestore.yaml* with the properties that you sourced from the previous steps. Replace the `<placeholders>` with your values.
172
181
173
182
```yaml
174
183
# statestore.yaml for Azure Blob storage component
175
184
componentType: state.azure.blobstorage
176
185
version: v1
177
186
metadata:
178
187
- name: accountName
179
-
value: "<STORAGE_ACCOUNT_NAME>"
188
+
value: "<storage-account-name>"
180
189
- name: containerName
181
190
value: mycontainer
182
191
- name: azureClientId
183
-
value: "<MANAGED_IDENTITY_CLIENT_ID>"
192
+
value: "<managed-identity-client-ID>"
184
193
scopes:
185
194
- nodeapp
186
195
```
187
196
188
-
This file helps enable your Dapr app to access your state store.
197
+
This file helps enable your Dapr app to access your state store.
189
198
190
199
1. Navigate to the directory in which you stored the yaml file and run the following command to configure the Dapr component in the Container Apps environment.
191
200
@@ -201,12 +210,11 @@ While you have multiple options for authenticating to external resources via Dap
If you're using an Azure Container Registry, include the `RegistryServer = '<REGISTRY_NAME>.azurecr.io'` flag in the command.
339
+
If you're using an Azure Container Registry, include the `RegistryServer = '<registry-name>.azurecr.io'` flag in the command.
331
340
332
341
---
333
342
@@ -339,7 +348,7 @@ You can confirm that the services are working correctly by viewing data in your
339
348
340
349
1. Open the [Azure portal](https://portal.azure.com) in your browser and navigate to your storage account.
341
350
342
-
1. Select **Data Storage** > **Containers** in the left side menu.
351
+
1. Select **Data Storage** > **Containers** in the sidebar menu.
343
352
344
353
1. Select the container app.
345
354
@@ -351,9 +360,9 @@ You can confirm that the services are working correctly by viewing data in your
351
360
352
361
1. Select the **Refresh** button to observe how the data automatically updates.
353
362
354
-
### View Logs
363
+
### View logs
355
364
356
-
Logs from container apps are stored in the `ContainerAppConsoleLogs_CL` custom table in the Log Analytics workspace. You can view logs through the Azure portal or via the CLI. There may be a small delay initially for the table to appear in the workspace.
365
+
Logs from container apps are stored in the `ContainerAppConsoleLogs_CL` custom table in the Log Analytics workspace. You can view logs through the Azure portal or via the CLI. There might be a small delay initially for the table to appear in the workspace.
357
366
358
367
View logs using the command line using the following CLI command.
359
368
@@ -371,10 +380,9 @@ az monitor log-analytics query \
371
380
# [PowerShell](#tab/powershell)
372
381
373
382
```azurepowershell
383
+
$queryResults = Invoke-AzOperationalInsightsQuery -WorkspaceId $WorkspaceId -Query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'nodeapp' and (Log_s contains 'persisted' or Log_s contains 'order') | project ContainerAppName_s, Log_s, TimeGenerated | take 5 "
374
384
375
-
$queryResults = Invoke-AzOperationalInsightsQuery -WorkspaceId $WorkspaceId -Query "ContainerAppConsoleLogs_CL | where ContainerAppName_s == 'nodeapp' and (Log_s contains 'persisted' or Log_s contains 'order') | project ContainerAppName_s, Log_s, TimeGenerated | take 5 "
376
385
$queryResults.Results
377
-
378
386
```
379
387
380
388
---
@@ -393,12 +401,12 @@ nodeapp Got a new order! Order ID: 63 PrimaryResult 2021-10-22
393
401
394
402
## Clean up resources
395
403
396
-
Since `pythonapp` continuously makes calls to `nodeapp` with messages that get persisted into your configured state store, it is important to complete these cleanup steps to avoid ongoing billable operations.
404
+
Since `pythonapp` continuously makes calls to `nodeapp` with messages that get persisted into your configured state store, it's important to complete these cleanup steps to avoid ongoing billable operations.
397
405
398
406
If you'd like to delete the resources created as a part of this walkthrough, run the following command.
399
407
400
408
> [!CAUTION]
401
-
> This command deletes the specified resource group and all resources contained within it. If resources outside the scope of this tutorial exist in the specified resource group, they will also be deleted.
409
+
> This command deletes the specified resource group and all resources contained within it. If resources outside the scope of this tutorial exist in the specified resource group, they're also deleted.
0 commit comments