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/includes/trusted-services.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
author: spelluru
3
3
ms.service: azure-relay
4
4
ms.topic: include
5
-
ms.date: 06/26/2023
5
+
ms.date: 12/11/2024
6
6
ms.author: spelluru
7
7
---
8
8
@@ -11,11 +11,11 @@ When you enable the **Allow trusted Microsoft services to bypass this firewall**
11
11
12
12
| Trusted service | Supported usage scenarios |
13
13
| --------------- | ------------------------- |
14
-
| Azure Machine Learning | AML Kubernetes uses Azure Relay to facilitate communication between AML services and the Kubernetes cluster. Azure Relay is a fully managed service that provides secure bi-directional communication between applications hosted on different networks. This makes it ideal for use in private link environments, where communication between Azure resources and on-premises resources is restricted. |
15
-
| Azure Arc | Azure Arc-enabled services associated with the Resource Providers above will be able to connect to the hybrid connections in your Azure Relay namespace as a sender without being blocked by the IP firewall rules set on the Azure Relay namespace. `Microsoft.Hybridconnectivity` service creates the hybrid connections in your Azure Relay namespace and provides the connection information to the relevant Arc service based on the scenario. These services communicate only with your Azure Relay namespace if you're using Azure Arc, with the following Azure Services: <br/><br> - Azure Kubernetes<br/> - Azure Machine Learning <br/> - Microsoft Purview |
14
+
| Azure Machine Learning | AML Kubernetes uses Azure Relay to facilitate communication between AML services and the Kubernetes cluster. Azure Relay is a fully managed service that provides secure bi-directional communication between applications hosted on different networks. This feature makes it ideal for use in private link environments, where communication between Azure resources and on-premises resources is restricted. |
15
+
| Azure Arc | Azure Arc-enabled services associated with the resource providers can connect to the hybrid connections in your Azure Relay namespace as a sender without being blocked by the IP firewall rules set on the Azure Relay namespace. `Microsoft.Hybridconnectivity` service creates the hybrid connections in your Azure Relay namespace and provides the connection information to the relevant Arc service based on the scenario. These services communicate only with your Azure Relay namespace if you're using Azure Arc, with the following Azure Services: <br/><br> - Azure Kubernetes<br/> - Azure Machine Learning <br/> - Microsoft Purview |
16
16
17
17
18
-
The other trusted services for Azure Relay can be found below:
18
+
The other trusted services for Azure Relay are:
19
19
- Azure Event Grid
20
20
- Azure IoT Hub
21
21
- Azure Stream Analytics
@@ -35,7 +35,7 @@ The other trusted services for Azure Relay can be found below:
35
35
> "trustedServiceAccessEnabled": "True"
36
36
> ```
37
37
38
-
For example, based on the ARM template provided above, we can modify it to include this Network Rule Set property for the enablement of Trusted Services:
38
+
For example, based on the ARM template provided, you can modify it to include this Network Rule Set property for the enablement of Trusted Services:
In this quickstart, you create .NET sender and receiver applications that send and receive messages by using the HTTP protocol. The applications use Hybrid Connections feature of Azure Relay. To learn about Azure Relay in general, see [Azure Relay](relay-what-is-it.md).
@@ -52,9 +53,8 @@ In Visual Studio, write a C# console application to send messages to the relay.
52
53
1. Run the client application. You see `hello!` in the client window. The client sent an HTTP request to the server, and server responded with a `hello!`.
53
54
3. Now, to close the console windows, press **ENTER** in both the console windows.
54
55
55
-
Congratulations, you've created a complete Hybrid Connections application!
56
56
57
-
## Next steps
57
+
## Related content
58
58
59
59
In this quickstart, you created .NET client and server applications that used HTTP to send and receive messages. The Hybrid Connections feature of Azure Relay also supports using WebSockets to send and receive messages. To learn how to use WebSockets with Azure Relay Hybrid Connections, see the [WebSockets quickstart](relay-hybrid-connections-dotnet-get-started.md).
Copy file name to clipboardExpand all lines: articles/azure-relay/relay-hybrid-connections-node-ws-api-overview.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,15 @@
2
2
title: Overview of the Azure Relay Node APIs | Microsoft Docs
3
3
description: This article provides an overview of the Node.js API for the Azure Relay service. It also shows how to use the hyco-ws Node package.
4
4
ms.topic: article
5
-
ms.date: 08/10/2023
5
+
ms.date: 12/11/2024
6
6
ms.custom: devx-track-js
7
7
---
8
8
9
9
# Relay Hybrid Connections Node.js API overview
10
10
11
11
## Overview
12
12
13
-
The [`hyco-ws`](https://www.npmjs.com/package/hyco-ws) Node package for Azure Relay Hybrid Connections is built on and extends the [`ws`](https://www.npmjs.com/package/ws)NPM package. This package re-exports all exports of that base package and adds new exports that enable integration with the Azure Relay service Hybrid Connections feature.
13
+
The [`hyco-ws`](https://www.npmjs.com/package/hyco-ws) Node package for Azure Relay Hybrid Connections is built on and extends the [`ws`](https://www.npmjs.com/package/ws)Node Package Manager (npm) package. This package re-exports all exports of that base package and adds new exports that enable integration with the Azure Relay service Hybrid Connections feature.
14
14
15
15
Existing applications that `require('ws')` can use this package with `require('hyco-ws')` instead, which also enables hybrid scenarios in which an application can listen for WebSocket connections locally from "inside the firewall" and via Hybrid Connections, all at the same time.
16
16
@@ -123,17 +123,17 @@ Constructor arguments:
123
123
124
124
#### Events
125
125
126
-
`RelayedServer` instances emit three events that enable you to handle incoming requests, establish connections, and detect error conditions. You must subscribe to the `connect` event to handle messages.
126
+
`RelayedServer` instances emit three events that enable you to handle incoming requests, establish connections, and detect the error conditions. You must subscribe to the `connect` event to handle messages.
127
127
128
-
##### headers
128
+
##### Headers
129
129
130
130
```JavaScript
131
131
function(headers)
132
132
```
133
133
134
134
The `headers` event is raised just before an incoming connection is accepted, enabling modification of the headers to send to the client.
135
135
136
-
##### connection
136
+
##### Connection
137
137
138
138
```JavaScript
139
139
function(socket)
@@ -142,7 +142,7 @@ function(socket)
142
142
Emitted when a new WebSocket connection is accepted. The object is of type `ws.WebSocket`, same as with the base package.
Copy file name to clipboardExpand all lines: articles/azure-relay/relay-hybrid-connections-protocol.md
+20-20Lines changed: 20 additions & 20 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 Hybrid Connections protocol guide | Microsoft Docs
3
3
description: This article describes the client-side interactions with the Hybrid Connections relay for connecting clients in listener and sender roles.
4
4
ms.topic: article
5
-
ms.date: 08/10/2023
5
+
ms.date: 12/11/2024
6
6
---
7
7
8
8
# Azure Relay Hybrid Connections protocol
@@ -12,7 +12,7 @@ platform. The new _Hybrid Connections_ capability of Relay is a secure,
12
12
open-protocol evolution based on HTTP and WebSockets. It supersedes the former,
13
13
equally named _BizTalk Services_ feature that was built on a proprietary
14
14
protocol foundation. The integration of Hybrid Connections into Azure App
15
-
Services will continue to function as-is.
15
+
Services continue to function as-is.
16
16
17
17
Hybrid Connections enables bi-directional, request-response, and binary stream communication, and
18
18
simple datagram flow between two networked applications. Either or
@@ -42,8 +42,8 @@ to be accepted for establishing a bi-directional communication path. "Connect,"
42
42
"Listen," and "Accept" are the same terms you find in most socket APIs.
43
43
44
44
Any relayed communication model has either party making outbound connections
45
-
towards a service endpoint. This makes the "listener" also a "client" in
46
-
colloquial use, and may also cause other terminology overloads. The precise
45
+
towards a service endpoint. It makes the "listener" also a "client" in
46
+
colloquial use, and might also cause other terminology overloads. The precise
47
47
terminology therefore used for Hybrid Connections is as follows:
48
48
49
49
The programs on both sides of a connection are called "clients," since they're
@@ -115,8 +115,8 @@ The listener can respond to HTTP requests using an equivalent response gesture.
115
115
The request/response flow uses the control channel by default, but can be
116
116
"upgraded" to a distinct rendezvous WebSocket whenever required. Distinct
117
117
WebSocket connections improve throughput for each client conversation, but they
118
-
burden the listener with more connections that need to be handled, which may
119
-
not be desire able for lightweight clients.
118
+
burden the listener with more connections that need to be handled, which might
119
+
not be desirable for lightweight clients.
120
120
121
121
On the control channel, request and response bodies are limited to at most 64 kB
122
122
in size. HTTP header metadata is limited to a total of 32 kB. If either the
@@ -125,7 +125,7 @@ to a rendezvous WebSocket using a gesture equivalent to handling the
125
125
[Accept](#accept-message).
126
126
127
127
For requests, the service decides whether to route requests over the control
128
-
channel. This includes, but may not be limited to cases where a request exceeds
128
+
channel. It includes, but might not be limited to cases where a request exceeds
129
129
64 kB (headers plus body) outright, or if the request is sent with ["chunked"
130
130
transfer-encoding](https://tools.ietf.org/html/rfc7230#section-4.1) and the
131
131
service has reason to expect for the request to exceed 64 kB or reading the
@@ -145,17 +145,17 @@ response over the established rendezvous socket.
145
145
146
146
Once the rendezvous WebSocket has been established, the listener SHOULD
147
147
maintain it for further handling of requests and responses from the same
148
-
client. The service will maintain the WebSocket for as long as the HTTPS socket
149
-
connection with the sender persists and will route all subsequent requests from
148
+
client. The service maintains the WebSocket for as long as the HTTPS socket
149
+
connection with the sender persists and routes all subsequent requests from
150
150
that sender over the maintained WebSocket. If the listener chooses to drop the
151
-
rendezvous WebSocket from its side, the service will also drop the connection
151
+
rendezvous WebSocket from its side, the service also drops the connection
152
152
to the sender, irrespective of whether a subsequent request might already be
153
153
in progress.
154
154
155
155
#### Renew operation
156
156
157
157
The security token that must be used to register the listener and maintain the
158
-
control channel may expire while the listener is active. The token expiry doesn't affect ongoing connections, but it does cause the control channel to be
158
+
control channel might expire while the listener is active. The token expiry doesn't affect ongoing connections, but it does cause the control channel to be
159
159
dropped by the service at or soon after the moment of expiry. The "renew"
160
160
operation is a JSON message that the listener can send to replace the token
161
161
associated with the control channel, so that the control channel can be
@@ -164,7 +164,7 @@ maintained for extended periods.
164
164
#### Ping operation
165
165
166
166
If the control channel stays idle for a long time, intermediaries on the way,
167
-
such as load balancers or NATs may drop the TCP connection. The "ping"
167
+
such as load balancers or NATs might drop the TCP connection. The "ping"
168
168
operation avoids that by sending a small amount of data on the channel that
169
169
reminds everyone on the network route that the connection is meant to be alive,
170
170
and it also serves as a "live" test for the listener. If the ping fails, the
@@ -279,7 +279,7 @@ The query string parameter options are as follows.
279
279
If the WebSocket connection fails due to the Hybrid Connection path not being
280
280
registered, or an invalid or missing token, or some other error, the error
281
281
feedback is provided using the regular HTTP 1.1 status feedback model. The
282
-
status description contains an error tracking-id that can be communicated to
282
+
status description contains an error tracking ID that can be communicated to
283
283
Azure support personnel:
284
284
285
285
| Code | Error | Description
@@ -308,7 +308,7 @@ The "accept" notification is sent by the service to the listener over the
308
308
previously established control channel as a JSON message in a WebSocket text
309
309
frame. There's no reply to this message.
310
310
311
-
The message contains a JSON object named "accept", which defines the following
311
+
The message contains a JSON object named `accept`, which defines the following
312
312
properties at this time:
313
313
314
314
***address** – the URL string to be used for establishing the WebSocket to the
@@ -362,7 +362,7 @@ following parameters:
362
362
Connection on which to register this listener. This expression is appended to the
363
363
fixed `$hc/` path portion.
364
364
365
-
The `path` expression may be extended with a suffix and a query string
365
+
The `path` expression might be extended with a suffix and a query string
366
366
expression that follows the registered name after a separating forward slash.
367
367
This parameter enables the sender client to pass dispatch arguments to the accepting
368
368
listener when it isn't possible to include HTTP headers. The expectation is
@@ -430,7 +430,7 @@ The `request` consists of two parts: a header and binary body frame(s).
430
430
If there's no body, the body frames are omitted. The boolean `body` property indicates whether a body is present in the request
431
431
message.
432
432
433
-
For a request with a request body, the structure may look like this:
433
+
For a request with a request body, the structure might look like this:
434
434
435
435
```text
436
436
----- Web Socket text frame ----
@@ -522,7 +522,7 @@ The JSON content for `request` is as follows:
522
522
The receiver MUST respond. Repeated failure to respond to requests while
523
523
maintaining the connection might result in the listener getting blocked.
524
524
525
-
Responses may be sent in any order, but each request must be responded to
525
+
Responses might be sent in any order, but each request must be responded to
526
526
within 60 seconds or the delivery will be reported as having failed. The
527
527
60-second deadline is counted until the `response` frame has been received
528
528
by the service. An ongoing response with multiple binary frames can't
@@ -532,15 +532,15 @@ If the request is received over the control channel, the response MUST
532
532
either be sent on the control channel from where the request was received
533
533
or it MUST be sent over a rendezvous channel.
534
534
535
-
The response is a JSON object named "response". The rules for handling
535
+
The response is a JSON object named `response`. The rules for handling
536
536
body content are exactly like with the `request` message and based on
537
537
the `body` property.
538
538
539
539
***requestId** – string. REQUIRED. The `id` property value of the `request` message being
540
540
responded to.
541
541
***statusCode** – number. REQUIRED. a numerical HTTP status code that indicates the outcome of
542
542
the notification. All status codes of [RFC7231, Section 6](https://tools.ietf.org/html/rfc7231#section-6)
543
-
are permitted, except for [502 "Bad Gateway"](https://tools.ietf.org/html/rfc7231#section-6.6.3) and [504 "Gateway Timeout"](https://tools.ietf.org/html/rfc7231#section-6.6.5).
543
+
are permitted, except for [502 "Bad Gateway"](https://tools.ietf.org/html/rfc7231#section-6.6.3) and [504 - Gateway Timeout](https://tools.ietf.org/html/rfc7231#section-6.6.5).
Copy file name to clipboardExpand all lines: articles/azure-relay/relay-metrics-azure-monitor.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Azure Relay metrics in Azure Monitor | Microsoft Docs
3
3
description: This article provides information on how you can use Azure Monitor to monitor to state of Azure Relay.
4
4
services: service-bus-relay
5
5
ms.topic: article
6
-
ms.date: 08/10/2023
6
+
ms.date: 12/11/2024
7
7
---
8
8
9
9
# Azure Relay metrics in Azure Monitor
@@ -32,7 +32,7 @@ For metrics supporting dimensions, you must filter with the desired dimension va
32
32
33
33
## Billing
34
34
35
-
Using metrics in Azure Monitor is currently free while in preview. However, if you use additional solutions that ingest metrics data, you may be billed by these solutions. For example, you're billed by Azure Storage if you archive metrics data to an Azure Storage account. You're also billed by Azure Monitor logs if you stream metrics data to Azure Monitor logs for advanced analysis.
35
+
Using metrics in Azure Monitor is currently free while in preview. However, if you use additional solutions that ingest metrics data, you might be billed by these solutions. For example, you're billed by Azure Storage if you archive metrics data to an Azure Storage account. You're also billed by Azure Monitor logs if you stream metrics data to Azure Monitor logs for advanced analysis.
36
36
37
37
The following metrics give you an overview of the health of your service.
0 commit comments