Megosztás a következőn keresztül:


A Hibrid Relay Csatlakozás ions HTTP-kéréseinek első lépései a Node.js

Ebben a rövid útmutatóban Node.js küldő- és fogadóalkalmazásokat hoz létre, amelyek HTTP protokoll használatával küldenek és fogadnak üzeneteket. Az alkalmazások az Azure Relay hibrid Csatlakozás ions funkcióját használják. Az Azure Relay általános megismeréséhez tekintse meg az Azure Relayt.

Ebben a rövid útmutatóban a következő lépéseket kell elvégeznie:

  1. Relay-névtér létrehozása az Azure Portal használatával.
  2. Hibrid kapcsolat létrehozása ezen a névtéren az Azure Portal használatával.
  3. Kiszolgálói (figyelő) konzolalkalmazás írása üzenetfogadási céllal.
  4. Ügyfél-konzolalkalmazás (küldő) írása üzenetküldési céllal.
  5. Alkalmazások futtatása.

Előfeltételek

Névtér létrehozása az Azure Portal használatával

  1. Jelentkezzen be az Azure Portalra.

  2. Válassza az Összes szolgáltatás lehetőséget a bal oldali menüben. Válassza az Integráció lehetőséget, keresse meg a Továbbítókat, vigye az egeret a Továbbítók fölé, majd válassza a Létrehozás lehetőséget.

    Képernyőkép a Relays –> Létrehozás gomb kiválasztásáról.

  3. A Névtér létrehozása lapon kövesse az alábbi lépéseket:

    1. Válasszon egy Azure-előfizetést, amelyben létre szeretné hozni a névteret.

    2. Erőforráscsoport esetén válasszon ki egy meglévő erőforráscsoportot, amelyben elhelyezi a névteret, vagy hozzon létre egy újat.

    3. Adja meg a Relay névtér nevét.

    4. Válassza ki azt a régiót, amelyben a névteret üzemeltetni kell.

    5. Válassza a Véleményezés + létrehozás lehetőséget a lap alján.

      Képernyőkép a Névtér létrehozása lapról.

    6. A Véleményezés + létrehozás lapon válassza a Létrehozás lehetőséget.

    7. Néhány perc múlva megjelenik a névtér Relay lapja.

      Képernyőkép a Relay névtér kezdőlapjáról.

Felügyeleti hitelesítő adatok lekérése

  1. A Relay lapon válassza a megosztott hozzáférési szabályzatokat a bal oldali menüben. `

  2. A Megosztott hozzáférési szabályzatok lapon válassza a RootManageSharedAccessKey lehetőséget.

  3. Az SAS-szabályzat: RootManageSharedAccessKey területen válassza a Másolás gombot az elsődleges Csatlakozás ion-sztring mellett. Ez a művelet a vágólapra másolja a kapcsolati sztring későbbi használatra. Illessze be ezt az értéket a Jegyzettömbbe vagy egy másik ideiglenes helyre.

  4. A későbbi használat érdekében ismételje meg az előző lépést, és másolja ki és illessze be az Elsődleges kulcs értékét egy ideiglenes helyre.

    Képernyőkép a Relay névtér kapcsolati adatairól.

Hibrid kapcsolat létrehozása az Azure Portal használatával

A névtér Relay lapján kövesse az alábbi lépéseket egy hibrid kapcsolat létrehozásához.

  1. A bal oldali menü Entitások alatt válassza a Hibrid Csatlakozás ions, majd a + Hibrid Csatlakozás ion lehetőséget.

    Képernyőkép a Hibrid Csatlakozás ions oldalról.

  2. A Hibrid Csatlakozás ion létrehozása lapon adja meg a hibrid kapcsolat nevét, és válassza a Létrehozás lehetőséget.

    Képernyőkép a Hibrid Csatlakozás ion létrehozása oldalról.

Kiszolgálói alkalmazás (figyelő) létrehozása

Írjon egy Node.js-konzolalkalmazást az üzenetek figyeléséhez és a Relaytől való fogadásához.

Node.js alkalmazás létrehozása

Hozzon létre egy listener.js nevű JavaScript-fájlt.

A Relay-csomag hozzáadása

Futtassa az npm install hyco-https parancsot a projektmappában lévő Csomópont parancssorból.

Kód írása a kérelmek kezeléséhez

  1. Adja hozzá a következő állandót a listener.js fájl elejéhez.

    const https = require('hyco-https');
    
  2. Adja hozzá a következő állandókat a listener.js fájlhoz a hibrid kapcsolat részleteivel. Cserélje le a zárójelben lévő helyőrzőket a hibrid gyűjtemény létrehozásakor beszerzett megfelelő értékekre.

    • const ns – A Relay-névtér. Ügyeljen arra, hogy a teljes névtérnevet használja, például: {namespace}.servicebus.windows.net.
    • const path – A hibrid kapcsolat neve.
    • const keyrule- A megosztott hozzáférési szabályzatok kulcsának neve, amely alapértelmezés szerint.RootManageSharedAccessKey
    • const key - A korábban mentett névtér elsődleges kulcsa.
  3. Adja hozzá az alábbi kódot a listener.js fájlhoz. :

    Megfigyelheti, hogy a kód nem sokban különbözik a Node.js kezdő oktatóanyagokban található egyszerű HTTP-kiszolgálói példáktól, amelyek kivételt képeznek a createRelayedServer tipikus createServer függvény helyett.

    var uri = https.createRelayListenUri(ns, path);
    var server = https.createRelayedServer(
        {
            server : uri,
            token : () => https.createRelayToken(uri, keyrule, key)
        },
        (req, res) => {
            console.log('request accepted: ' + req.method + ' on ' + req.url);
            res.setHeader('Content-Type', 'text/html');
            res.end('<html><head><title>Hey!</title></head><body>Relayed Node.js Server!</body></html>');
        });
    
    server.listen( (err) => {
            if (err) {
              return console.log('something bad happened', err)
            }
            console.log(`server is listening on ${port}`)
          });
    
    server.on('error', (err) => {
        console.log('error: ' + err);
    });
    

    Így kell kinéznie a listener.js fájlnak:

    const https = require('hyco-https');
    
    const ns = "{RelayNamespace}";
    const path = "{HybridConnectionName}";
    const keyrule = "{SASKeyName}";
    const key = "{SASKeyValue}";
    
    var uri = https.createRelayListenUri(ns, path);
    var server = https.createRelayedServer(
        {
            server : uri,
            token : () => https.createRelayToken(uri, keyrule, key)
        },
        (req, res) => {
            console.log('request accepted: ' + req.method + ' on ' + req.url);
            res.setHeader('Content-Type', 'text/html');
            res.end('<html><head><title>Hey!</title></head><body>Relayed Node.js Server!</body></html>');
        });
    
    server.listen( (err) => {
            if (err) {
              return console.log('something bad happened', err)
            }
            console.log(`server is listening on ${port}`)
          });
    
    server.on('error', (err) => {
        console.log('error: ' + err);
    });
    

Ügyfélalkalmazás létrehozása (küldő)

Ha üzenetet kíván küldeni a Relay számára, használhat bármilyen HTTP-klienst, vagy írhat egy Node.js-konzolalkalmazást.

Node.js alkalmazás létrehozása

Ha letiltotta az „Ügyfél-hitelesítés szükséges” beállítást a továbbító létrehozásakor, akkor bármilyen böngészővel küldhet kérelmeket a hibrid kapcsolat URL-címére. A védett végpontok eléréséhez létre kell hoznia és továbbítania kell egy tokent a ServiceBusAuthorization fejlécben, az itt bemutatott módon.

Első lépésként hozzon létre egy sender.js nevű JavaScript-fájlt.

A Relay Node Csomagkezelő csomag hozzáadása

Futtassa az npm install hyco-https parancsot a projektmappában lévő Csomópont parancssorból. Ez a csomag a megszokott https csomagot is importálja. Ügyféloldalon a fő különbség az, hogy a csomag funkcionalitást kínál Relay URI-k és tokenek készítéséhez.

Írjon egy kódrészletet üzenetek küldéséhez

  1. Adja hozzá a következő constants utasítást a sender.js fájl elejéhez.

    const https = require('hyco-https');
    
  2. Adja hozzá a következő állandókat a sender.js fájlhoz a hibrid kapcsolat részleteivel. Cserélje le a zárójelben lévő helyőrzőket a hibrid gyűjtemény létrehozásakor beszerzett megfelelő értékekre.

    • const ns – A Relay-névtér. Ügyeljen arra, hogy a teljes névtérnevet használja, például: {namespace}.servicebus.windows.net.
    • const path – A hibrid kapcsolat neve.
    • const keyrule- A megosztott hozzáférési szabályzatok kulcsának neve, amely alapértelmezés szerint.RootManageSharedAccessKey
    • const key - A korábban mentett névtér elsődleges kulcsa.
  3. Adja hozzá az alábbi kódot a sender.js fájlhoz. Megfigyelheti, hogy a kód nem tér el jelentősen a Node.js HTTPS-ügyfél rendszeres használatától; csak hozzáadja az engedélyezési fejlécet.

    https.get({
         hostname : ns,
         path : (!path || path.length == 0 || path[0] !== '/'?'/':'') + path,
         port : 443,
         headers : {
             'ServiceBusAuthorization' : 
                 https.createRelayToken(https.createRelayHttpsUri(ns, path), keyrule, key)
         }
    }, (res) => {
         let error;
         if (res.statusCode !== 200) {
             console.error('Request Failed.\n Status Code: ${statusCode}');
             res.resume();
         } 
         else {
             res.setEncoding('utf8');
             res.on('data', (chunk) => {
                 console.log(`BODY: ${chunk}`);
             });
             res.on('end', () => {
                 console.log('No more data in response.');
             });
         };
    }).on('error', (e) => {
         console.error(`Got error: ${e.message}`);
    });
    

    Így kell kinéznie a sender.js fájlnak:

    const https = require('hyco-https');
    
    const ns = "{RelayNamespace}";
    const path = "{HybridConnectionName}";
    const keyrule = "{SASKeyName}";
    const key = "{SASKeyValue}";
    
    https.get({
        hostname : ns,
        path : (!path || path.length == 0 || path[0] !== '/'?'/':'') + path,
        port : 443,
        headers : {
            'ServiceBusAuthorization' : 
                https.createRelayToken(https.createRelayHttpsUri(ns, path), keyrule, key)
        }
    }, (res) => {
        let error;
        if (res.statusCode !== 200) {
            console.error('Request Failed.\n Status Code: ${statusCode}');
            res.resume();
        } 
        else {
            res.setEncoding('utf8');
            res.on('data', (chunk) => {
                console.log(`BODY: ${chunk}`);
            });
            res.on('end', () => {
                console.log('No more data in response.');
            });
        };
    }).on('error', (e) => {
        console.error(`Got error: ${e.message}`);
    });
    

Az alkalmazások futtatása

  1. Futtassa a kiszolgálóalkalmazást: egy Node.js-parancssorba írja be a következőt: node listener.js.
  2. Futtassa az ügyfélalkalmazást: egy Node.js parancssorba írja be a node sender.js parancsot, majd írjon be szöveget.
  3. Győződjön meg arról, hogy az alkalmazás konzolja kiírja a szöveget, amely az ügyfélalkalmazásban lett megadva.

Gratulálunk, végpontok közötti hibrid kapcsolatok alkalmazást hozott létre a Node.js használatával.

Következő lépések

Ebben a rövid útmutatóban Node.js ügyfél- és kiszolgálóalkalmazásokat hozott létre, amelyek HTTP használatával küldtek és fogadták az üzeneteket. Az Azure Relay hibrid Csatlakozás ions funkciója a WebSockets használatával is támogatja az üzenetek küldését és fogadását. A WebSockets és az Azure Relay hibrid Csatlakozás ions használatával kapcsolatos tudnivalókért tekintse meg a WebSockets rövid útmutatóját.

Ebben a rövid útmutatóban Node.js használt ügyfél- és kiszolgálóalkalmazások létrehozásához. Az ügyfél- és kiszolgálóalkalmazások .NET-keretrendszer használatával történő írásáról a .NET WebSockets rövid útmutatója vagy a .NET HTTP rövid útmutatója nyújt további információt.