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-relay/authenticate-application.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Authenticate from an application - Azure Relay
3
3
description: This article provides information about authenticating an application with Azure Active Directory to access Azure Relay resources.
4
4
ms.topic: article
5
-
ms.date: 07/22/2022
5
+
ms.date: 08/10/2023
6
6
---
7
7
8
8
# Authenticate and authorize an application with Azure Active Directory to access Azure Relay entities
@@ -30,7 +30,7 @@ For step-by-step instructions to register your application with Azure AD, see [Q
30
30
> Make note of the **Directory (tenant) ID** and the **Application (client) ID**. You will need these values to run the sample application.
31
31
32
32
### Create a client secret
33
-
The application needs a client secret to prove its identity when requesting a token. In the same article linked above, see the [Add a client secret](../active-directory/develop/quickstart-register-app.md#add-a-client-secret) section to create a client secret.
33
+
The application needs a client secret to prove its identity when requesting a token. In the same article linked earlier, see the [Add a client secret](../active-directory/develop/quickstart-register-app.md#add-a-client-secret) section to create a client secret.
34
34
35
35
> [!IMPORTANT]
36
36
> Make note of the **Client Secret**. You will need it to run the sample application.
@@ -44,22 +44,22 @@ Assign one of the Azure Relay roles to the application's service principal at th
44
44
1. Run the application locally on your computer per the instructions from the [README article](https://github.com/Azure/azure-relay/tree/master/samples/hybrid-connections/dotnet/rolebasedaccesscontrol#rolebasedaccesscontrol-hybrid-connection-sample).
45
45
46
46
> [!NOTE]
47
-
> Follow the same steps above to run the [sample console application for WCF Relay](https://github.com/Azure/azure-relay/tree/master/samples/wcf-relay/RoleBasedAccessControl).
47
+
> Follow the same steps to run the [sample console application for WCF Relay](https://github.com/Azure/azure-relay/tree/master/samples/wcf-relay/RoleBasedAccessControl).
48
48
49
49
#### Highlighted code from the sample
50
50
Here's the code from the sample that shows how to use Azure AD authentication to connect to the Azure Relay service.
51
51
52
52
1. Create a [TokenProvider](/dotnet/api/microsoft.azure.relay.tokenprovider) object by using the `TokenProvider.CreateAzureActiveDirectoryTokenProvider` method.
53
53
54
-
If you haven't already created an app registration, see the [Register your application with Azure AD](#register-your-application-with-an-azure-ad-tenant) section to create it and then create a client secret as mentioned in the [Create a client secret](#create-a-client-secret) section.
54
+
If you haven't already created an app registration, see the [Register your application with Azure AD](#register-your-application-with-an-azure-ad-tenant) section to create it, and then create a client secret as mentioned in the [Create a client secret](#create-a-client-secret) section.
55
55
56
56
If you want to use an existing app registration, follow these instructions to get **Application (client) ID** and **Directory (tenant) ID**.
57
57
58
58
1. Sign in to the [Azure portal](https://portal.azure.com).
59
59
1. Search for and select **Azure Active Directory** using the search bar at the top.
60
60
1. On the **Azure Active Directory** page, select **App registrations** in the **Manage** section on the left menu.
61
61
1. Select your app registration.
62
-
1. On the page for your app registration, you will see the values for **Application (client) ID** and **Directory (tenant) ID**.
62
+
1. On the page for your app registration, you see the values for **Application (client) ID** and **Directory (tenant) ID**.
63
63
64
64
To get the **client secret**, follow these steps:
65
65
1. On the page your app registration, select **Certificates & secrets** on the left menu.
Copy file name to clipboardExpand all lines: articles/azure-relay/authenticate-managed-identity.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,18 +36,18 @@ The following section uses a simple application that runs under a managed identi
36
36
1. Run RoleBasedAccessControl.exe on the Azure VM as per instructions from the [README document](https://github.com/Azure/azure-relay/tree/master/samples/hybrid-connections/dotnet/rolebasedaccesscontrol#rolebasedaccesscontrol-hybrid-connection-sample).
37
37
38
38
> [!NOTE]
39
-
> Follow the same steps above to run the [console application for WCF Relays](https://github.com/Azure/azure-relay/tree/master/samples/wcf-relay/RoleBasedAccessControl).
39
+
> Follow the same steps to run the [console application for WCF Relays](https://github.com/Azure/azure-relay/tree/master/samples/wcf-relay/RoleBasedAccessControl).
40
40
41
41
#### Highlighted code from the sample
42
42
Here's the code from the sample that shows how to use Azure AD authentication to connect to the Azure Relay service.
43
43
44
44
1. Create a [TokenProvider](/dotnet/api/microsoft.azure.relay.tokenprovider) object by using the `TokenProvider.CreateManagedIdentityTokenProvider` method.
45
45
46
-
- If you are using a **system-assigned managed identity:**
46
+
- If you're using a **system-assigned managed identity:**
-Ifyouareusinga **user-assignedmanagedidentity**, getthe **ClientID** fortheuser-assignedidentityfromthe **ManagedIdentity** pageintheAzureportal. Forinstructions, see [Listuser-assignedmanagedidentities](../active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities.md?pivots=identity-mi-methods-azp#list-user-assigned-managed-identities).
50
+
-Ifyou're using a **user-assigned managed identity**, get the **Client ID** for the user-assigned identity from the **Managed Identity** page in the Azure portal. For instructions, see [List user-assigned managed identities](../active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities.md?pivots=identity-mi-methods-azp#list-user-assigned-managed-identities).
Copy file name to clipboardExpand all lines: articles/azure-relay/relay-exceptions.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Azure Relay exceptions and how to resolve them | Microsoft Docs
3
3
description: List of Azure Relay exceptions and suggested actions you can take to help resolve them.
4
4
ms.topic: article
5
-
ms.date: 06/21/2022
5
+
ms.date: 08/10/2023
6
6
---
7
7
# Azure Relay exceptions
8
8
@@ -31,20 +31,20 @@ The following table lists messaging exception types and their causes. It also no
31
31
32
32
|**Exception type**|**Description**|**Suggested action**|**Note on automatic or immediate retry**|
33
33
| --- | --- | --- | --- |
34
-
|[Timeout](/dotnet/api/system.timeoutexception)|The server did not respond to the requested operation within the specified time, which is controlled by [OperationTimeout](/dotnet/api/microsoft.servicebus.messaging.messagingfactorysettings.operationtimeout). The server might have completed the requested operation. This can happen due to network or other infrastructure delays. |Check the system state for consistency, and then retry, if necessary. See [TimeoutException](#timeoutexception). |Retry might help in some cases; add retry logic to code. |
35
-
|[Invalid Operation](/dotnet/api/system.invalidoperationexception)|The requested user operation is not allowed within the server or service. See the exception message for details. |Check the code and the documentation. Make sure that the requested operation is valid. |Retry will not help. |
36
-
|[Operation Canceled](/dotnet/api/system.operationcanceledexception)|An attempt is made to invoke an operation on an object that has already been closed, aborted, or disposed. In rare cases, the ambient transaction is already disposed. |Check the code and make sure it does not invoke operations on a disposed object. |Retry will not help. |
37
-
|[Unauthorized Access](/dotnet/api/system.unauthorizedaccessexception)|The [TokenProvider](/dotnet/api/microsoft.servicebus.tokenprovider) object could not acquire a token, the token is invalid, or the token does not contain the claims required to perform the operation. |Make sure that the token provider is created with the correct values. Check the configuration of the Access Control service. |Retry might help in some cases; add retry logic to code. |
38
-
|[Argument Exception](/dotnet/api/system.argumentexception),<br /> [Argument Null](/dotnet/api/system.argumentnullexception),<br />[Argument Out Of Range](/dotnet/api/system.argumentoutofrangeexception)|One or more of the following has occurred:<br />One or more arguments supplied to the method are invalid.<br /> The URI supplied to [NamespaceManager](/dotnet/api/microsoft.servicebus.namespacemanager) or [Create](/dotnet/api/microsoft.servicebus.messaging.messagingfactory.create) contains one or more path segments.<br />The URI scheme supplied to [NamespaceManager](/dotnet/api/microsoft.servicebus.namespacemanager) or [Create](/dotnet/api/microsoft.servicebus.messaging.messagingfactory.create) is invalid. <br />The property value is larger than 32 KB. |Check the calling code and make sure the arguments are correct. |Retry will not help. |
39
-
|[Server Busy](/dotnet/api/microsoft.servicebus.messaging.serverbusyexception)|Service is not able to process the request at this time. |The client can wait for a period of time, then retry the operation. |The client might retry after a specific interval. If a retry results in a different exception, check the retry behavior of that exception. |
34
+
|[Timeout](/dotnet/api/system.timeoutexception)|The server didn't respond to the requested operation within the specified time, which is controlled by [OperationTimeout](/dotnet/api/microsoft.servicebus.messaging.messagingfactorysettings.operationtimeout). The server might have completed the requested operation. It can happen due to network or other infrastructure delays. |Check the system state for consistency, and then retry, if necessary. See [TimeoutException](#timeoutexception). |Retry might help in some cases; add retry logic to code. |
35
+
|[Invalid Operation](/dotnet/api/system.invalidoperationexception)|The requested user operation isn't allowed within the server or service. See the exception message for details. |Check the code and the documentation. Make sure that the requested operation is valid. |Retry doesn't help. |
36
+
|[Operation Canceled](/dotnet/api/system.operationcanceledexception)|An attempt is made to invoke an operation on an object that has already been closed, aborted, or disposed. In rare cases, the ambient transaction is already disposed. |Check the code and make sure it doesn't invoke operations on a disposed object. |Retry doesn't help. |
37
+
|[Unauthorized Access](/dotnet/api/system.unauthorizedaccessexception)|The [TokenProvider](/dotnet/api/microsoft.servicebus.tokenprovider) object couldn't acquire a token, the token is invalid, or the token doesn't contain the claims required to perform the operation. |Make sure that the token provider is created with the correct values. Check the configuration of the Access Control service. |Retry might help in some cases; add retry logic to code. |
38
+
|[Argument Exception](/dotnet/api/system.argumentexception),<br /> [Argument Null](/dotnet/api/system.argumentnullexception),<br />[Argument Out Of Range](/dotnet/api/system.argumentoutofrangeexception)|One or more of the following has occurred:<br />One or more arguments supplied to the method are invalid.<br /> The URI supplied to [NamespaceManager](/dotnet/api/microsoft.servicebus.namespacemanager) or [Create](/dotnet/api/microsoft.servicebus.messaging.messagingfactory.create) contains one or more path segments.<br />The URI scheme supplied to [NamespaceManager](/dotnet/api/microsoft.servicebus.namespacemanager) or [Create](/dotnet/api/microsoft.servicebus.messaging.messagingfactory.create) is invalid. <br />The property value is larger than 32 KB. |Check the calling code and make sure the arguments are correct. |Retry doesn't help. |
39
+
|[Server Busy](/dotnet/api/microsoft.servicebus.messaging.serverbusyexception)|Service isn't able to process the request at this time. |The client can wait for a period of time, then retry the operation. |The client might retry after a specific interval. If a retry results in a different exception, check the retry behavior of that exception. |
40
40
|[Quota Exceeded](/dotnet/api/microsoft.servicebus.messaging.quotaexceededexception)|The messaging entity has reached its maximum allowable size. |Create space in the entity by receiving messages from the entity or its subqueues. See [QuotaExceededException](#quotaexceededexception). |Retry might help if messages have been removed in the meantime. |
41
-
|[Message Size Exceeded](/dotnet/api/microsoft.servicebus.messaging.messagesizeexceededexception)|A message payload exceeds the 256-KB limit. Note that the 256-KB limit is the total message size. The total message size can include system properties and any Microsoft .NET overhead. |Reduce the size of the message payload, then retry the operation. |Retry will not help. |
41
+
|[Message Size Exceeded](/dotnet/api/microsoft.servicebus.messaging.messagesizeexceededexception)|A message payload exceeds the 256-KB limit. Note that the 256-KB limit is the total message size. The total message size can include system properties and any Microsoft .NET overhead. |Reduce the size of the message payload, then retry the operation. |Retry doesn't help. |
42
42
43
43
## QuotaExceededException
44
44
45
45
[QuotaExceededException](/dotnet/api/microsoft.servicebus.messaging.quotaexceededexception) indicates that a quota for a specific entity has been exceeded.
46
46
47
-
For Relay, this exception wraps the [System.ServiceModel.QuotaExceededException](/dotnet/api/system.servicemodel.quotaexceededexception), which indicates that the maximum number of listeners has been exceeded for this endpoint. This is indicated in the **MaximumListenersPerEndpoint** value of the exception message.
47
+
For Relay, this exception wraps the [System.ServiceModel.QuotaExceededException](/dotnet/api/system.servicemodel.quotaexceededexception), which indicates that the maximum number of listeners has been exceeded for this endpoint. It's indicated in the **MaximumListenersPerEndpoint** value of the exception message.
48
48
49
49
## TimeoutException
50
50
A [TimeoutException](/dotnet/api/system.timeoutexception) indicates that a user-initiated operation is taking longer than the operation timeout.
@@ -71,7 +71,7 @@ There are two common causes for this error:
71
71
The operation timeout might be too small for the operational condition. The default value for the operation timeout in the client SDK is 60 seconds. Check to see whether the value in your code is set to something too small. Note that CPU usage and the condition of the network can affect the time it takes for an operation to complete. It's a good idea not to set the operation timeout to a very small value.
72
72
***Transient service error**
73
73
74
-
Occasionally, the Relay service might experience delays in processing requests. This might happen, for example, during periods of high traffic. If this occurs, retry your operation after a delay, until the operation is successful. If the same operation continues to fail after multiple attempts, check the [Azure service status site](https://azure.microsoft.com/status/) to see if there are known service outages.
74
+
Occasionally, the Relay service might experience delays in processing requests. It might happen, for example, during periods of high traffic. If it occurs, retry your operation after a delay, until the operation is successful. If the same operation continues to fail after multiple attempts, check the [Azure service status site](https://azure.microsoft.com/status/) to see if there are known service outages.
0 commit comments