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
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
A rövid útmutató befejezése: Azure Database for PostgreSQL-kiszolgáló létrehozása az Azure Portalon vagy rövid útmutató: Azure Database for PostgreSQL létrehozása az Azure CLI használatával.
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.
Az Azure Portalon keresse meg és válassza ki a létrehozott kiszolgálót (például a mydemoservert).
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.
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