Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Z tego artykułu dowiesz się, jak odbierać zdarzenia z usługi Azure Event Grid do elementów webhook hostowanych w prywatnych miejscach docelowych, takich jak serwery lokalne lub maszyny wirtualne, przy użyciu usługi Azure Relay.
Azure Relay to usługa, która umożliwia bezpieczne uwidacznianie usług znajdujących się w sieci firmowej przedsiębiorstwa w chmurze publicznej bez konieczności otwierania połączenia zapory lub konieczności wprowadzania niepożądanych zmian w infrastrukturze sieci firmowej.
Usługa Azure Relay obsługuje połączenia hybrydowe, które są bezpieczną, otwartą ewolucją istniejących funkcji usługi Azure Relay, które można zaimplementować na dowolnej platformie i w dowolnym języku, który ma podstawową funkcję protokołu WebSocket, która obejmuje opcję akceptowania przekazywanego ruchu inicjowanego z usługi Azure Event Grid. Zobacz Przewodnik po protokole połączeń hybrydowych usługi Azure Relay — Azure Relay.
Odbieranie zdarzeń z podstawowych zasobów usługi Event Grid do elementów webhook w prywatnych miejscach docelowych
Ta sekcja zawiera ogólne kroki odbierania zdarzeń z podstawowych zasobów usługi Event Grid do elementów webhook hostowanych w prywatnych miejscach docelowych przy użyciu usługi Azure Relay.
Utwórz zasób usługi Azure Relay. Aby utworzyć przestrzeń nazw usługi Relay i połączenie hybrydowe, możesz użyć witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub szablonów usługi Azure Resource Manager. Aby uzyskać więcej informacji, zobacz Tworzenie przestrzeni nazw usługi Azure Relay i połączeń hybrydowych przy użyciu witryny Azure Portal.
Uwaga
Upewnij się, że włączono opcję: wymagana jest autoryzacja klienta. Ta opcja zapewnia, że tylko autoryzowani klienci mogą łączyć się z punktem końcowym połączenia hybrydowego. Możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure, aby włączyć autoryzację klienta i zarządzać regułami autoryzacji klienta. Aby uzyskać więcej informacji, zobacz Secure Azure Relay Hybrid Connections (Zabezpieczanie połączeń hybrydowych usługi Azure Relay).
Zaimplementuj odbiornik połączenia hybrydowego usługi Azure Relay.
- Opcja 1. Zestaw SDK usługi Azure Relay dla platformy .NET umożliwia programowe tworzenie odbiornika połączenia hybrydowego i obsługę żądań przychodzących. Aby uzyskać więcej informacji, zobacz Połączenia hybrydowe usługi Azure Relay — żądania HTTP na platformie .NET.
- Opcja 2. Mostek usługi Azure Relay. Możesz użyć mostka usługi Azure Relay, wieloplatformowego narzędzia wiersza polecenia, które umożliwia tworzenie tuneli TCP bez sieci VPN z i do dowolnego miejsca. Mostek usługi Azure Relay można uruchomić jako kontener platformy Docker lub jako autonomiczny plik wykonywalny. Aby uzyskać więcej informacji, zobacz Azure Relay Bridge.
Upewnij się, że odbiornik połączenia hybrydowego jest połączony. Możesz użyć następującego polecenia interfejsu wiersza polecenia platformy Azure, aby wyświetlić listę połączeń hybrydowych w przestrzeni nazw i sprawdzić ich stan.
az relay hyco list --resource-group [resource-group-name] --namespace-name [namespace-name]. You should see a "listenerCount" attribute in the properties of your hybrid connection.Tworzenie tematu systemu usługi Azure Event Grid. Za pomocą witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub szablonów usługi Azure Resource Manager można utworzyć temat systemowy odpowiadający usłudze platformy Azure, która zawiera zdarzenia, takie jak konta usługi Storage, centra zdarzeń lub subskrypcje platformy Azure. Aby uzyskać więcej informacji, zobacz Tematy systemowe w usłudze Azure Event Grid.
Utwórz subskrypcję zdarzeń w temacie systemowym. Za pomocą witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub szablonów usługi Azure Resource Manager można utworzyć subskrypcję zdarzeń, która definiuje kryteria filtrowania i docelowy punkt końcowy dla zdarzeń. W takim przypadku wybierz połączenie hybrydowe usługi Azure Relay jako typ punktu końcowego i podaj parametry połączenia połączenia hybrydowego. Aby uzyskać więcej informacji, zobacz Azure Relay Hybrid Connection as an event handler (Połączenie hybrydowe usługi Azure Relay jako procedura obsługi zdarzeń).
Zagadnienia dotyczące używania elementów webhook do odbierania zdarzeń z usługi Azure Event Grid
Upewnij się, że zaimplementowano uzgadnianie weryfikacji zdarzeń w chmurze. Oto przykładowy kod w języku C#, który pokazuje, jak zweryfikować uzgadnianie schematu zdarzenia w chmurze wymagane podczas tworzenia subskrypcji. Możesz użyć tego przykładowego kodu jako odwołania do zaimplementowania własnej logiki uzgadniania walidacji w języku preferencji.
if (context.Request.HttpMethod == "OPTIONS" && context.Request.Url.PathAndQuery == _settings!.relayWebhookPath)
{
context.Response.StatusCode = HttpStatusCode.OK;
context.Response.StatusDescription = "OK";
var origin = context.Request.Headers["Webhook-Request-Origin"];
context.Response.Headers.Add("Webhook-Allowed-Origin", origin);
using (var sw = new StreamWriter(context.Response.OutputStream))
{
sw.WriteLine("OK");
}
context.Response.Close();
}
Jeśli chcesz przekazywać zdarzenia z mostka usługi Azure Relay do lokalnego elementu webhook, możesz użyć następującego polecenia:
.\azbridge.exe -x "AzureRelayConnectionString" -H [HybridConnectionName]:[http/https]/localhost:[ApplicationPort] -v