Skip to content

Commit dc7a96c

Browse files
authored
Merge pull request #293449 from MicrosoftDocs/main
1/23/2025 11:00 AM IST Publish
2 parents 1ef5635 + ba56aee commit dc7a96c

File tree

67 files changed

+813
-619
lines changed

Some content is hidden

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

67 files changed

+813
-619
lines changed

articles/app-service/provision-resource-terraform.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ resource "azurerm_linux_web_app" "webapp" {
8585
resource "azurerm_app_service_source_control" "sourcecontrol" {
8686
app_id = azurerm_linux_web_app.webapp.id
8787
repo_url = "https://github.com/Azure-Samples/nodejs-docs-hello-world"
88-
branch = "master"
88+
branch = "main"
8989
use_manual_integration = true
9090
use_mercurial = false
9191
}

articles/azure-cache-for-redis/cache-java-get-started.md

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ms.date: 01/04/2022
77
ms.topic: quickstart
88
ms.devlang: java
99
ms.custom: devx-track-java, devx-track-javaee, mode-api, mvc, devx-track-extended-java, ignite-2024
10+
zone_pivot_groups: redis-type
1011
---
1112

1213
# Quickstart: Use Azure Cache for Redis in Java with Jedis Redis client
@@ -22,10 +23,24 @@ Clone the repo [Java quickstart](https://github.com/Azure-Samples/azure-cache-re
2223
- Azure subscription - [create one for free](https://azure.microsoft.com/free/)
2324
- [Apache Maven](https://maven.apache.org/download.cgi)
2425

25-
## Create an Azure Cache for Redis
26+
::: zone pivot="azure-managed-redis"
27+
28+
## Create an Azure Managed Redis (preview) instance
29+
30+
[!INCLUDE [managed-redis-create](includes/managed-redis-create.md)]
31+
32+
::: zone-end
33+
34+
::: zone pivot="azure-cache-redis"
35+
36+
## Create an Azure Cache for Redis instance
2637

2738
[!INCLUDE [redis-cache-create](~/reusable-content/ce-skilling/azure/includes/azure-cache-for-redis/includes/redis-cache-create.md)]
2839

40+
[!INCLUDE [redis-cache-access-keys](includes/redis-cache-access-keys.md)]
41+
42+
::: zone-end
43+
2944
## Set up the working environment
3045

3146
[!INCLUDE [redis-setup-working-environment](includes/redis-setup-working-environment.md)]
@@ -54,13 +69,13 @@ Clone the repo [Java quickstart](https://github.com/Azure-Samples/azure-cache-re
5469
<dependency>
5570
<groupId>com.azure</groupId>
5671
<artifactId>azure-identity</artifactId>
57-
<version>1.11.2</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
72+
<version>1.15.0</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
5873
</dependency>
5974

6075
<dependency>
6176
<groupId>redis.clients</groupId>
6277
<artifactId>jedis</artifactId>
63-
<version>5.1.0</version> <!-- {x-version-update;redis.clients:jedis;external_dependency} -->
78+
<version>5.2.0</version> <!-- {x-version-update;redis.clients:jedis;external_dependency} -->
6479
</dependency>
6580
```
6681

@@ -72,7 +87,7 @@ Clone the repo [Java quickstart](https://github.com/Azure-Samples/azure-cache-re
7287
<dependency>
7388
<groupId>redis.clients</groupId>
7489
<artifactId>jedis</artifactId>
75-
<version>5.1.0</version> <!-- {x-version-update;redis.clients:jedis;external_dependency} -->
90+
<version>5.2.0</version> <!-- {x-version-update;redis.clients:jedis;external_dependency} -->
7691
</dependency>
7792
```
7893

@@ -112,9 +127,10 @@ Clone the repo [Java quickstart](https://github.com/Azure-Samples/azure-cache-re
112127

113128
String cacheHostname = System.getenv("REDIS_CACHE_HOSTNAME");
114129
String username = System.getenv("USER_NAME");
130+
int port = Integer.parseInt(System.getenv().getOrDefault("REDIS_CACHE_PORT", "6380"));
115131

116132
// Connect to the Azure Cache for Redis over the TLS/SSL port using the key.
117-
Jedis jedis = new Jedis(cacheHostname, 6380, DefaultJedisClientConfig.builder()
133+
Jedis jedis = new Jedis(cacheHostname, port, DefaultJedisClientConfig.builder()
118134
.password(token) // Microsoft Entra access token as password is required.
119135
.user(username) // Username is Required
120136
.ssl(useSsl) // SSL Connection is Required
@@ -165,9 +181,10 @@ Clone the repo [Java quickstart](https://github.com/Azure-Samples/azure-cache-re
165181
boolean useSsl = true;
166182
String cacheHostname = System.getenv("REDIS_CACHE_HOSTNAME");
167183
String cachekey = System.getenv("REDIS_CACHE_KEY");
184+
int port = Integer.parseInt(System.getenv().getOrDefault("REDIS_CACHE_PORT", "6380"));
168185

169186
// Connect to the Azure Cache for Redis over the TLS/SSL port using the key.
170-
Jedis jedis = new Jedis(cacheHostname, 6380, DefaultJedisClientConfig.builder()
187+
Jedis jedis = new Jedis(cacheHostname, port, DefaultJedisClientConfig.builder()
171188
.password(cachekey)
172189
.ssl(useSsl)
173190
.build());

articles/azure-cache-for-redis/cache-java-redisson-get-started.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ms.topic: quickstart
88
ms.devlang: java
99
ms.custom: mvc, seo-java-january2024, seo-java-february2024, mode-api, devx-track-java, devx-track-extended-java, devx-track-javaee, ignite-2024
1010
#Customer intent: As a Java developer, new to Azure Cache for Redis, I want to create a new Java app that uses Azure Cache for Redis and Redisson as Redis client.
11+
zone_pivot_groups: redis-type
1112
---
1213

1314
# Quickstart: Use Azure Cache for Redis in Java with Redisson Redis client
@@ -24,10 +25,24 @@ This quickstart uses the Maven archetype feature to generate the scaffolding for
2425
- [Use Microsoft Entra ID for cache authentication](cache-azure-active-directory-for-authentication.md)
2526
- [Apache Maven](https://maven.apache.org/download.cgi)
2627

27-
## Create an Azure Cache for Redis
28+
::: zone pivot="azure-managed-redis"
29+
30+
## Create an Azure Managed Redis (preview) instance
31+
32+
[!INCLUDE [managed-redis-create](includes/managed-redis-create.md)]
33+
34+
::: zone-end
35+
36+
::: zone pivot="azure-cache-redis"
37+
38+
## Create an Azure Cache for Redis instance
2839

2940
[!INCLUDE [redis-cache-create](~/reusable-content/ce-skilling/azure/includes/azure-cache-for-redis/includes/redis-cache-create.md)]
3041

42+
[!INCLUDE [redis-cache-access-keys](includes/redis-cache-access-keys.md)]
43+
44+
::: zone-end
45+
3146
## Set up the working environment
3247

3348
[!INCLUDE [redis-setup-working-environment](includes/redis-setup-working-environment.md)]
@@ -57,13 +72,13 @@ This quickstart uses the Maven archetype feature to generate the scaffolding for
5772
<dependency>
5873
<groupId>com.azure</groupId>
5974
<artifactId>azure-identity</artifactId>
60-
<version>1.11.2</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
75+
<version>1.15.0</version> <!-- {x-version-update;com.azure:azure-identity;dependency} -->
6176
</dependency>
6277

6378
<dependency>
6479
<groupId>org.redisson</groupId>
6580
<artifactId>redisson</artifactId>
66-
<version>3.27.0</version> <!-- {x-version-update;org.redisson:redisson;external_dependency} -->
81+
<version>3.36.0</version> <!-- {x-version-update;org.redisson:redisson;external_dependency} -->
6782
</dependency>
6883
```
6984

@@ -75,7 +90,7 @@ This quickstart uses the Maven archetype feature to generate the scaffolding for
7590
<dependency>
7691
<groupId>org.redisson</groupId>
7792
<artifactId>redisson</artifactId>
78-
<version>3.27.0</version> <!-- {x-version-update;org.redisson:redisson;external_dependency} -->
93+
<version>3.36.0</version> <!-- {x-version-update;org.redisson:redisson;external_dependency} -->
7994
</dependency>
8095
```
8196

@@ -149,7 +164,7 @@ This quickstart uses the Maven archetype feature to generate the scaffolding for
149164
// Connect to the Azure Cache for Redis over the TLS/SSL port using the key
150165
Config redissonconfig = new Config();
151166
redissonconfig.useSingleServer()
152-
.setAddress(String.format("rediss://%s:6380", System.getenv("REDIS_CACHE_HOSTNAME")))
167+
.setAddress(String.format("rediss://%s:%s", System.getenv("REDIS_CACHE_HOSTNAME"), System.getenv("REDIS_CACHE_PORT")))
153168
.setUsername(System.getenv("USER_NAME")) // (Required) Username is Object ID of your managed identity or service principal
154169
.setPassword(token); // Microsoft Entra access token as password is required.
155170
return redissonconfig;
@@ -213,7 +228,7 @@ This quickstart uses the Maven archetype feature to generate the scaffolding for
213228
// Connect to the Azure Cache for Redis over the TLS/SSL port using the key
214229
Config redissonconfig = new Config();
215230
redissonconfig.useSingleServer().setPassword(System.getenv("REDIS_CACHE_KEY"))
216-
.setAddress(String.format("rediss://%s:6380", System.getenv("REDIS_CACHE_HOSTNAME")));
231+
.setAddress(String.format("rediss://%s:%s", System.getenv("REDIS_CACHE_HOSTNAME"), System.getenv("REDIS_CACHE_PORT")));
217232
return redissonconfig;
218233
}
219234
}

articles/azure-cache-for-redis/includes/redis-setup-working-environment.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,28 @@ The following steps show you how to set up the working environment for the Java
88

99
### [Microsoft Entra ID authentication (recommended)](#tab/entraid)
1010

11+
::: zone pivot="azure-managed-redis"
12+
13+
```bash
14+
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
15+
export USER_NAME=<user-name>
16+
export REDIS_CACHE_PORT=10000
17+
```
18+
19+
::: zone-end
20+
21+
::: zone pivot="azure-cache-redis"
22+
23+
1124
```bash
1225
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
1326
export USER_NAME=<user-name>
27+
export REDIS_CACHE_PORT=6380
1428
```
1529

30+
::: zone-end
31+
32+
1633
Replace the placeholders with the following values:
1734

1835
- `<your-host-name>`: The DNS host name. To get the host name and ports for your cache, select **Overview** from the **Resource** menu. The host name is of the form `<DNS name>.redis.cache.windows.net`.
@@ -31,11 +48,26 @@ Replace the placeholders with the following values:
3148

3249
### [Access key authentication](#tab/accesskey)
3350

51+
::: zone pivot="azure-managed-redis"
52+
53+
```bash
54+
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
55+
export REDIS_CACHE_KEY=<your-primary-access-key>
56+
export REDIS_CACHE_PORT=10000
57+
```
58+
59+
::: zone-end
60+
61+
::: zone pivot="azure-cache-redis"
62+
3463
```bash
3564
export REDIS_CACHE_HOSTNAME=<your-host-name>.redis.cache.windows.net
3665
export REDIS_CACHE_KEY=<your-primary-access-key>
66+
export REDIS_CACHE_PORT=6380
3767
```
3868

69+
::: zone-end
70+
3971
Replace the placeholders with the following values:
4072

4173
- `<your-host-name>`: The DNS host name. To get the host name and ports for your cache, select **Overview** from the **Resource** menu. The host name is of the form `<DNS name>.redis.cache.windows.net`.

articles/azure-resource-manager/management/async-operations.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
title: Status of asynchronous operations
33
description: Describes how to track asynchronous operations in Azure. It shows the values you use to get the status of a long-running operation.
44
ms.topic: conceptual
5-
ms.date: 09/26/2024
5+
ms.date: 01/22/2025
66
---
77

88
# Track asynchronous Azure operations
99

10-
Some Azure REST operations run asynchronously because the operation can't be completed quickly. This article describes how to track the status of asynchronous operations through values returned in the response.
10+
Some Azure REST operations run asynchronously because the operation can't be completed quickly. This article describes how to track the status of asynchronous operations through values returned in the response.
1111

1212
## Status codes for asynchronous operations
1313

@@ -46,7 +46,7 @@ When the `Retry-after` header isn't returned, [implement your own retry logic](/
4646
4747
## Permission for tracking async status
4848

49-
To track the status of an asynchronous operation, you need sufficient permission at the level of the resource group. If you only have permission at the level of the resource, you can start the operation but you can't track its status. Permission at the level of the resource group is required because the URL for tracking status isn't scoped to the resource.
49+
To track the status of an asynchronous operation, you need sufficient permission at the resource group level. If you only have permission at the resource level, you can start the operation but you can't track its status. Resource group-level permission is required because the URL for tracking status isn't scoped to the resource.
5050

5151
For example, to start a virtual machine, you need the Virtual Machine Contributor role for the resource group that contains the virtual machine. The URL for tracking a start request doesn't include the virtual machine in its path.
5252

@@ -87,11 +87,11 @@ The following example shows other values that might be returned from the operati
8787
}
8888
```
8989

90-
The error object is returned when the status is Failed or Canceled. All other values are optional. The response you receive may look different than the example.
90+
The error object is returned when the status is Failed or Canceled. All other values are optional. The response you receive might look different than the example.
9191

9292
## provisioningState values
9393

94-
Operations that create, update, or delete (PUT, PATCH, DELETE) a resource typically return a `provisioningState` value. When an operation completes, one of following three values is returned:
94+
Operations that create, update, or delete (PUT, PATCH, DELETE) a resource typically return a `provisioningState` value. When an operation completes, one of the following three values is returned:
9595

9696
* Succeeded
9797
* Failed
@@ -154,7 +154,7 @@ Among the header values, you see:
154154
Azure-AsyncOperation: https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Resources/deployments/{deployment-name}/operationStatuses/{operation-id}?api-version=2020-06-01
155155
```
156156

157-
To check the status of the asynchronous operation, sending another request to that URL.
157+
To check the status of the asynchronous operation, send another request to the operation URL.
158158

159159
```HTTP
160160
GET
@@ -186,7 +186,7 @@ PUT
186186
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2019-06-01
187187
```
188188

189-
And the request body contains properties for the storage account:
189+
The request body contains properties for the storage account:
190190

191191
```json
192192
{
@@ -206,7 +206,7 @@ Location: https://management.azure.com/subscriptions/{subscription-id}/providers
206206
Retry-After: 17
207207
```
208208

209-
After waiting for number of seconds specified in Retry-After, check the status of the asynchronous operation by sending another request to that URL.
209+
After waiting for number of seconds specified in `Retry-After`, check the status of the asynchronous operation by sending another request to that URL.
210210

211211
```HTTP
212212
GET

articles/azure-resource-manager/management/authenticate-multi-tenant.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ title: Authenticate across tenants
33
description: Describes how Azure Resource Manager handles authentication requests across tenants.
44
ms.topic: conceptual
55
ms.custom: devx-track-arm-template
6-
ms.date: 09/26/2024
6+
ms.date: 01/22/2025
77
---
88

99
# Authenticate requests across tenants
1010

11-
When creating a multi-tenant application, you may need to handle authentication requests for resources that are in different tenants. A common scenario is when a virtual machine in one tenant must join a virtual network in another tenant. Azure Resource Manager provides a header value for storing auxiliary tokens to authenticate the requests to different tenants.
11+
When creating a multitenant application, you might need to handle authentication requests for resources in different tenants. A common scenario is when a virtual machine in one tenant must join a virtual network in another tenant. Azure Resource Manager provides a header value for storing auxiliary tokens to authenticate the requests to different tenants.
1212

1313
## Header values for authentication
1414

@@ -21,15 +21,15 @@ The request has the following authentication header values:
2121

2222
The auxiliary header can hold up to three auxiliary tokens.
2323

24-
In the code of your multi-tenant app, get the authentication token for other tenants and store them in the auxiliary headers. The user or application must have been invited as a guest to the other tenants.
24+
In the code of your multitenant app, get the authentication token for other tenants and store them in the auxiliary headers. The user or application must be invited as a guest to the other tenants.
2525

2626
## Processing the request
2727

28-
When your app sends a request to Resource Manager, the request is run under the identity from the primary token. The primary token must be valid and unexpired. This token must be from a tenant that can manage the subscription.
28+
When your app sends a request to Resource Manager, the request runs under the identity from the primary token. The primary token must be valid and unexpired. This token must be from a tenant that can manage the subscription.
2929

30-
When the request references a resource from different tenant, Resource Manager checks the auxiliary tokens to determine if the request can be processed. All auxiliary tokens in the header must be valid and unexpired. If any token is expired, Resource Manager returns a 401 response code. The response includes the client ID and tenant ID from the token that isn't valid. If the auxiliary header contains a valid token for the tenant, the cross tenant request is processed.
30+
When the request references a resource from different tenant, Resource Manager checks the auxiliary tokens to determine if it can process the request. All auxiliary tokens in the header must be valid and unexpired. If any token is expired, Resource Manager returns a 401 response code. The response includes the client ID and tenant ID from the token that isn't valid. If the auxiliary header contains a valid token for the tenant, the cross-tenant request is processed.
3131

3232
## Next steps
3333

3434
* To learn about authentication requests, see [Authentication flows and application scenarios](../../active-directory/develop/authentication-flows-app-scenarios.md).
35-
* For more information about tokens, see [Microsoft Entra access tokens](../../active-directory/develop/access-tokens.md).
35+
* For more information about tokens, see [Microsoft Entra access tokens](../../active-directory/develop/access-tokens.md).

0 commit comments

Comments
 (0)