Hızlı Başlangıç: Node.js - Tek Sunucu'da veri PostgreSQL için Azure Veritabanı sorgulamak için PostgreSQL için Azure Veritabanı kullanma

Bu hızlı başlangıçta, bir PostgreSQL için Azure Veritabanı uygulaması kullanarak bir Node.js bağlanabilirsiniz. Ayrıca veritabanında veri sorgulamak, eklemek, güncelleştirmek ve silmek için SQL deyimlerini nasıl kullanacağınız da gösterilmiştir. Bu makaledeki adımlarda, Node.js kullanarak geliştirmeyle ilgili bilgi sahibi olduğunuz ve PostgreSQL için Azure Veritabanı ile çalışmaya yeni başladığınız varsayılır.

Önkoşullar

pg istemcisini yükleme

Node.js için bir PostgreSQL istemcisi olan pg’yi yükleyin.

Bunu yapmak için komut satırından JavaScript’e yönelik düğüm paketi yöneticisini (npm) çalıştırarak pg istemcisini yükleyin.

npm install pg

Yüklü paketleri listeleyerek yüklemeyi doğrulayın.

npm list

Bağlantı bilgilerini alma

PostgreSQL için Azure Veritabanı'na bağlanmak üzere gereken bağlantı bilgilerini alın. Tam sunucu adına ve oturum açma kimlik bilgilerine ihtiyacınız vardır.

  1. Aşağıdaki Azure portal,oluşturduğunuz sunucuyu (örneğin, mydemoserver ) arayın ve seçin.

  2. Sunucunun Genel Bakış panelinde Sunucu adı ve Yönetici kullanıcı adını not edin. Parolanızı unutursanız, bu panelden parolayı da sıfırlayabilirsiniz.

    PostgreSQL için Azure Veritabanı dizesini seçin

Node.js’de JavaScript kodunu çalıştırma

node yazarak Node.js’yi Bash kabuğundan, Terminal’den veya Windows Komut İstemi’nden başlatabilir, ardından isteme kopyalayıp yapıştırarak örnek JavaScript kodunu etkili bir şekilde çalıştırabilirsiniz. Alternatif olarak, JavaScript kodunu bir metin dosyasına kaydedebilir ve node filename.js öğesini, bunu çalıştıracak bir parametre olarak dosya adıyla başlatabilirsiniz.

Bağlanma, tablo oluşturma ve veri ekleme

Aşağıdaki kodu kullanarak bağlanın ve CREATE TABLE ve INSERT INTO SQL deyimlerini kullanarak verileri yükleyin. pg.Client nesnesi, PostgreSQL sunucusuyla arabirim oluşturmak için kullanılır. pg.Client.connect() işlevi, sunucuyla bağlantı kurmak için kullanılır. pg.Client.query() işlevi, PostgreSQL veritabanına karşı SQL sorgusunu yürütmek için kullanılır.

Ana bilgisayar, veritabanı adı, kullanıcı ve parola parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.

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();
        });
}

Verileri okuma

Bağlanmak ve SELECT SQL deyimi kullanarak verileri okumak için aşağıdaki kodu kullanın. pg.Client nesnesi, PostgreSQL sunucusuyla arabirim oluşturmak için kullanılır. pg.Client.connect() işlevi, sunucuyla bağlantı kurmak için kullanılır. pg.Client.query() işlevi, PostgreSQL veritabanına karşı SQL sorgusunu yürütmek için kullanılır.

Ana bilgisayar, veritabanı adı, kullanıcı ve parola parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.

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);
        });
}

Verileri güncelleştirme

Bağlanmak ve UPDATE SQL deyimi kullanarak verileri okumak için aşağıdaki kodu kullanın. pg.Client nesnesi, PostgreSQL sunucusuyla arabirim oluşturmak için kullanılır. pg.Client.connect() işlevi, sunucuyla bağlantı kurmak için kullanılır. pg.Client.query() işlevi, PostgreSQL veritabanına karşı SQL sorgusunu yürütmek için kullanılır.

Ana bilgisayar, veritabanı adı, kullanıcı ve parola parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.

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;
        });
}

Verileri silme

Bağlanmak ve DELETE SQL deyimi kullanarak verileri okumak için aşağıdaki kodu kullanın. pg.Client nesnesi, PostgreSQL sunucusuyla arabirim oluşturmak için kullanılır. pg.Client.connect() işlevi, sunucuyla bağlantı kurmak için kullanılır. pg.Client.query() işlevi, PostgreSQL veritabanına karşı SQL sorgusunu yürütmek için kullanılır.

Ana bilgisayar, veritabanı adı, kullanıcı ve parola parametrelerini, sunucuyu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirin.

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;
        });
}

Kaynakları temizleme

Bu hızlı başlangıçta kullanılan tüm kaynakları temizlemek için aşağıdaki komutu kullanarak kaynak grubunu silin:

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

Sonraki adımlar