Rövid útmutató: Adatok csatlakoztatása és lekérdezése az Node.js használatával az Önálló Azure Database for PostgreSQL-kiszolgálón

A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló

Fontos

Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?

Ebben a rövid útmutatóban egy Node.js-alkalmazással csatlakozhat egy Azure Database for PostgreSQL-hez. Bemutatjuk, hogy az SQL-utasítások használatával hogyan kérdezhetők le, illeszthetők be, frissíthetők és törölhetők az adatok az adatbázisban. A jelen cikkben ismertetett lépések feltételezik, hogy Ön rendelkezik fejlesztési tapasztalatokkal a Node.js használatával kapcsolatban, az Azure Database for PostgreSQL használatában pedig még járatlan.

Előfeltételek

pg-ügyfél telepítése

Telepítse a pg-t, amely egy PostgreSQL-ügyfél a Node.js-hez.

A pg-ügyfél telepítéséhez futtassa a node package managert (npm) a parancssorban.

npm install pg

A telepítést a telepített csomagok listázásával ellenőrizheti.

npm list

Kapcsolatadatok lekérése

Kérje le a PostgreSQL-hez készült Azure-adatbázishoz való csatlakozáshoz szükséges kapcsolatadatokat. Szüksége lesz a teljes kiszolgálónévre és a bejelentkezési hitelesítő adatokra.

  1. Az Azure Portalon keresse meg és válassza ki a létrehozott kiszolgálót (például a mydemoservert).

  2. A kiszolgáló Áttekintés paneljén jegyezze fel a kiszolgáló nevét és Rendszergazda felhasználónevét. Ha elfelejti a jelszavát, ezen a panelen új jelszót is tud kérni.

    Azure Database for PostgreSQL kapcsolati sztring

A JavaScript-kód futtatása a Node.js-ben

A Node.js-t elindíthatja a Bash felületről, a Terminal eszközből vagy a Windows parancssorból a node parancs beírásával. Ezután a JavaScript-kód interaktív futtatásához másolja és illessze be azt a promptba. Másik megoldásként el is mentheti a JavaScript-kódot az adott szövegfájlba, majd a futtatáshoz végezze el a node filename.js indítását a paraméterként megadott fájlnévvel.

Csatlakozás, táblák létrehozása és adatok beszúrása

Az alábbi kód használatával csatlakozhat és töltheti be az adatokat a CREATE TABLE és az INSERT INTO SQL-utasítások segítségével. A pg.Client objektum a PostgreSQL-kiszolgálóval való használatra szolgál. A pg.Client.connect() függvény a kiszolgálóval való kapcsolat létesítésére szolgál. A pg.Client.query() függvény az SQL-lekérdezés PostgreSQL-adatbázison való végrehajtására szolgál.

Cserélje le a gazdagép, az adatbázisnév, a felhasználó és a jelszó paramétereit azokra az értékekre, amelyeket a kiszolgáló és az adatbázis létrehozásakor adott meg.

const pg = require('pg');

const config = {
    host: '<your-db-server-name>.postgres.database.azure.com',
    // Do not hard code your username and password.
    // Consider using Node environment variables.
    user: '<your-db-username>',     
    password: '<your-password>',
    database: '<name-of-database>',
    port: 5432,
    ssl: true
};

const client = new pg.Client(config);

client.connect(err => {
    if (err) throw err;
    else {
        queryDatabase();
    }
});

function queryDatabase() {
    const query = `
        DROP TABLE IF EXISTS inventory;
        CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);
        INSERT INTO inventory (name, quantity) VALUES ('banana', 150);
        INSERT INTO inventory (name, quantity) VALUES ('orange', 154);
        INSERT INTO inventory (name, quantity) VALUES ('apple', 100);
    `;

    client
        .query(query)
        .then(() => {
            console.log('Table created successfully!');
            client.end(console.log('Closed client connection'));
        })
        .catch(err => console.log(err))
        .then(() => {
            console.log('Finished execution, exiting now');
            process.exit();
        });
}

Adatok beolvasása

Az alábbi kód használatával csatlakozhat és végezheti el az adatok olvasását SELECT SQL-utasítás segítségével. A pg.Client objektum a PostgreSQL-kiszolgálóval való használatra szolgál. A pg.Client.connect() függvény a kiszolgálóval való kapcsolat létesítésére szolgál. A pg.Client.query() függvény az SQL-lekérdezés PostgreSQL-adatbázison való végrehajtására szolgál.

Cserélje le a gazdagép, az adatbázisnév, a felhasználó és a jelszó paramétereit azokra az értékekre, amelyeket a kiszolgáló és az adatbázis létrehozásakor adott meg.

const pg = require('pg');

const config = {
    host: '<your-db-server-name>.postgres.database.azure.com',
    // Do not hard code your username and password.
    // Consider using Node environment variables.
    user: '<your-db-username>',     
    password: '<your-password>',
    database: '<name-of-database>',
    port: 5432,
    ssl: true
};

const client = new pg.Client(config);

client.connect(err => {
    if (err) throw err;
    else { queryDatabase(); }
});

function queryDatabase() {

    console.log(`Running query to PostgreSQL server: ${config.host}`);

    const query = 'SELECT * FROM inventory;';

    client.query(query)
        .then(res => {
            const rows = res.rows;

            rows.map(row => {
                console.log(`Read: ${JSON.stringify(row)}`);
            });

            process.exit();
        })
        .catch(err => {
            console.log(err);
        });
}

Adatok frissítése

Az alábbi kód használatával csatlakozhat és végezheti el az adatok olvasását az adott UPDATE SQL-utasítás segítségével. A pg.Client objektum a PostgreSQL-kiszolgálóval való használatra szolgál. A pg.Client.connect() függvény a kiszolgálóval való kapcsolat létesítésére szolgál. A pg.Client.query() függvény az SQL-lekérdezés PostgreSQL-adatbázison való végrehajtására szolgál.

Cserélje le a gazdagép, az adatbázisnév, a felhasználó és a jelszó paramétereit azokra az értékekre, amelyeket a kiszolgáló és az adatbázis létrehozásakor adott meg.

const pg = require('pg');

const config = {
    host: '<your-db-server-name>.postgres.database.azure.com',
    // Do not hard code your username and password.
    // Consider using Node environment variables.
    user: '<your-db-username>',     
    password: '<your-password>',
    database: '<name-of-database>',
    port: 5432,
    ssl: true
};

const client = new pg.Client(config);

client.connect(err => {
    if (err) throw err;
    else {
        queryDatabase();
    }
});

function queryDatabase() {
    const query = `
        UPDATE inventory 
        SET quantity= 1000 WHERE name='banana';
    `;

    client
        .query(query)
        .then(result => {
            console.log('Update completed');
            console.log(`Rows affected: ${result.rowCount}`);
        })
        .catch(err => {
            console.log(err);
            throw err;
        });
}

Adatok törlése

Az alábbi kód használatával csatlakozhat és végezheti el az adatok olvasását egy DELETE SQL-utasítás segítségével. A pg.Client objektum a PostgreSQL-kiszolgálóval való használatra szolgál. A pg.Client.connect() függvény a kiszolgálóval való kapcsolat létesítésére szolgál. A pg.Client.query() függvény az SQL-lekérdezés PostgreSQL-adatbázison való végrehajtására szolgál.

Cserélje le a gazdagép, az adatbázisnév, a felhasználó és a jelszó paramétereit azokra az értékekre, amelyeket a kiszolgáló és az adatbázis létrehozásakor adott meg.

const pg = require('pg');

const config = {
    host: '<your-db-server-name>.postgres.database.azure.com',
    // Do not hard code your username and password.
    // Consider using Node environment variables.
    user: '<your-db-username>',     
    password: '<your-password>',
    database: '<name-of-database>',
    port: 5432,
    ssl: true
};

const client = new pg.Client(config);

client.connect(err => {
    if (err) {
        throw err;
    } else {
        queryDatabase();
    }
});

function queryDatabase() {
    const query = `
        DELETE FROM inventory 
        WHERE name = 'apple';
    `;

    client
        .query(query)
        .then(result => {
            console.log('Delete completed');
            console.log(`Rows affected: ${result.rowCount}`);
        })
        .catch(err => {
            console.log(err);
            throw err;
        });
}

Az erőforrások eltávolítása

A rövid útmutató során használt összes erőforrás törléséhez törölje az erőforráscsoportot az alábbi paranccsal:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

Következő lépések