Készítse el ezt a példaalkalmazást, hogy megtudja, milyen egyszerűek is lehetnek az adatbázisok.

Kulcs elvitelek

  • A DynamoDB az AWS által kínált hatékony NoSQL-adatbázis, amely nagy mennyiségű, változatos adatot képes kezelni a teljesítmény, a tartósság vagy a megbízhatóság veszélyeztetése nélkül.
  • A DynamoDB Node.js-ben való használatának megkezdéséhez telepítenie kell a client-dynamodb csomagot az aws-sdk fájlból, és konfigurálnia kell a hitelesítő adatait.
  • A DynamoDB lehetővé teszi a táblák egyszerű létrehozását, az adatok írását és olvasását, a rekordok frissítését és a rekordok törlését az ügyfél metódusai és paraméterei segítségével. Rugalmasságot és méretezhetőséget kínál a hatékony alkalmazásfejlesztéshez.

A modern alkalmazásfejlesztés nagy részének robusztus programozási nyelvek és hatékony adatbázisok keverékére van szüksége.

Az Amazon Web Services (AWS) egyik megoldása a DynamoDB, egy olyan eszköz, amely forradalmasíthatja az adatkezelést. Segítségével gyorsan létrehozhat egy adatbázist nagy mennyiségű, változatos adat kezelésére.

instagram viewer

Mi az a DynamoDB?

Az AWS különféle adatbázis-szükségletekhez kínál szolgáltatásokat, mint pl Amazon RDS relációs adatbázisokhoz, és DocumentDB for dokumentumadatbázisok, például a MongoDB. A DynamoDB egy NoSQL adatbázis az adatok kulcsérték formátumban történő tárolására.

A DynamoDB nagy mennyiségű adatot képes kezelni az elosztott infrastruktúrán keresztül a teljesítmény, a tartósság vagy a megbízhatóság veszélyeztetése nélkül. Rugalmas modellt kínál, amely lehetővé teszi az adatok egyszerű tárolását és lekérdezését, legyenek azok strukturált vagy strukturálatlanok.

A DynamoDB adatbázisként használható különféle típusú alkalmazásokhoz. Hozzáférhet közvetlenül az AWS webkonzolról és programozottan az AWS-CLI-n keresztül, vagy az AWS-SDK használatával webalkalmazásokból.

A DynamoDB használatának megkezdése a Node.js-ben

Sokan vannak eszközök a háttér API-k Node.js-ben való felépítéséhez és szabadon választhatja ki az API adatbázisát, ha ezen eszközök bármelyikével dolgozik. A Node.js széles körű támogatást nyújt a külső szolgáltatásokhoz, beleértve az olyan adatbázisokat, mint az AWS DynamoDB.

Mindössze az ügyfélre van szüksége ahhoz, hogy elérje az AWS szolgáltatást a Node alkalmazásból aws-sdk csomag az adott szolgáltatáshoz. Például a DynamoDB eléréséhez telepítenie kell a kliens-dynamodb alatti csomag aws-sdk.

A csomag telepítéséhez futtassa ezt a parancsot a projektkönyvtárban:

npm install @aws-sdk/client-dynamodb

Telepítés után aws-sdk/client-dynamodb a Node.js projektben hozzá kell adnia a DynamoDB tábla régióját a konfigurációhoz, mielőtt interakcióba lépne vele. Ezt a DynamoDB kliens inicializálásakor kell megtennie.

Ha korábban telepítette és használta az AWS-CLI-t a számítógépén, akkor valószínűleg már beállította az AWS-hitelesítési adatokat a környezetben, és az SDK automatikusan megkapja az értékeket a környezetből.

De ha még nem, akkor irány a AWS Identity Access Management (IAM) szolgáltatást a konzolon, és hozzon létre egy új felhasználót. A felhasználó létrehozása után hozzáférési kulcsazonosítót és titkos kulcsot kaphat, amelyek az Ön személyes hitelesítő adatai.

Adja hozzá ezeket a hitelesítő adatokat a környezetéhez a következő terminálparancsok futtatásával a platformon:

Unix, Linux vagy macOS rendszeren:

export AWS_ACCESS_KEY_ID='your access key ID'
export AWS_SECRET_ACCESS_KEY='you secret access key'

Windowson (CMD):

set AWS_ACCESS_KEY_ID='your access key ID'
set AWS_SECRET_ACCESS_KEY='you secret access key'

Windowson (PowerShell):

$env: AWS_ACCESS_KEY_ID='your access key ID'
$env: AWS_SECRET_ACCESS_KEY='you secret access key'

Ezután a Node.js projektben hozzon létre egy új fájlt, és nevezze el dynamodb.js. Ebben a fájlban hozzon létre egy új AWS DynamoDB-ügyfelet a következő kóddal:

const { DynamoDB } = require('@aws-sdk/client-dynamodb')

const region = "us-east-1"// your preferred region

const client = new DynamoDB({ region })

Elég egyszerű! Az AWS gondoskodik arról, hogy ne tegye közzé biztonsági hitelesítő adatait a kódban, így míg a kód A fentiek során megpróbálja létrehozni a klienst, először beolvassa a hozzáférési kulcsot és a titkos kulcsot a környezetéből.

Az újonnan létrehozott ügyfél lehetővé teszi különféle műveletek végrehajtását, például táblázatok létrehozását, valamint adatok olvasását és írását.

A DynamoDB a többi NoSQL-adatbázishoz hasonlóan sémamentes, így bármikor hozzáadhat új attribútumokat (mezőket) egy táblához. Ezért csak olyan attribútumokat kell hozzáadnia, amelyek elsődleges kulcsként szolgálnak a DynamoDB táblához annak létrehozásakor.

Nézze meg a következő kódot, amely új táblázatot hoz létre (Vevő) a DynamoDB-ben:

const createCustomerTable = async () => {
const params = {
TableName: "Customer",
AttributeDefinitions: [
{
AttributeName: "Email",
AttributeType: "S"
},
],
KeySchema: [
{
AttributeName: "Email",
KeyType: "HASH"
}
],
ProvisionedThroughput: {
ReadCapacityUnits: 5,
WriteCapacityUnits: 5
}
};

client.createTable(params, (err, data) => {
if (err) {
console.log(err);
} else {
console.log(data);
}
});
}

createCustomerTable();

A Attribútumdefiníciók mezőben határozhatja meg a tábla legfontosabb attribútumait és típusait. A Email Az attribútumnak típusa van S ami azt jelenti, hogy a mezőny elvárja a Húr mint annak értéke. A három elérhető attribútumtípus a következő S, N, és B (karakterlánc, szám és bináris).

Szükséged van a KeySchema elsődleges kulcsok meghatározása, amelyek segítenek az elemek gyors megtalálásában és rendszerezésében. A DynamoDB elvárja, hogy a tábla létrehozásakor hozzáadott attribútumok kulcsattribútumok legyenek, ezért az e-mail itt az elsődleges kulcs. Hozzá kell adnia a KeySchemához, és meg kell adnia KeyType (HASH).

A másik elérhető KeyType érték a HATÓTÁVOLSÁG amelyet a rendezési kulcsokhoz használnak. A rendezési kulcsok olyan esetekben hasznosak, amikor előfordulhat, hogy egy táblázatban ugyanazokkal a HASH-kulcsokkal rendelkező adatok vannak, és szeretné ha néhány extra adat, például dátum vagy szín szerint csoportosítja őket, az extra adatokat TARTOMÁNY-ba állíthatja kulcs.

A harmadik fontos paraméter a fenti kódban a ProvisionedThroughput. Itt adhatja meg, hogy a DynamoDb másodpercenként hány olvasást és írást engedélyezzen az asztalon.

A fenti kód futtatásakor a következő kimenetet kell kapnia:

Ha ellenőrzi a DynamoDB táblák irányítópultját a webkonzolon, akkor azt fogja látni, hogy a tábla vagy még ki van építve, vagy állapota aktív már.

Mindig vegye figyelembe az alkalmazási igényeit, amikor meghatározza a ReadCapacityUnits és WriteCapacityUnits mert a nem megfelelő érték teljesítményproblémákat vagy magas számlázási költségeket okozhat a fiókjában.

Ha biztos benne, hogy a tábla már aktív, CRUD műveleteket hajthat végre rajta.

Az alábbiakban néhány kódpélda látható, amelyek bemutatják, hogyan írjon és olvasson adatokat a Vevő asztal.

  1. Adjon hozzá adatokat a táblázathoz. Az adatok táblába írásához szükség van az ügyfélre putItem módszer. Az alábbi kód új ügyfelet ad hozzá a Vevő táblázat a DynamoDB-ben.
    const createCustomer = async (customer) => {
    const params = {
    TableName: "Customer",
    Item: customer
    }

    client.putItem(params, (err, data) => {
    if (err) {
    console.error(err)
    } else {
    console.log(data)
    }
    })
    }

    const customerData = {
    Name: { "S": "Timilehin O." },
    Email: { "S": "[email protected]" },
    Age: { "N": "18"},
    Country: { "S": "Nigeria" }
    }

    createCustomer(customerData)

    A params az objektum tartalmazza a Táblanév melyik az a táblázat, amelyre írsz, és a Tétel mezőbe, amely tartalmazza a hozzáadni kívánt adatokat, azok adott típusával. Figyelje meg azokat az új mezőket, amelyek kezdetben nem voltak a táblázatban, így működik a DynamoDB rugalmasan. Az adatbázisában lévő adatokat a következőképpen tekintheti meg a konzolon:
  2. Olvassa el az adatokat a táblázatból. A DynamoDB különféle módokon teszi lehetővé az adatok olvasását. Az SDK-k letapogatás függvény beolvassa a teljes táblázatot, míg getItem csak meghatározott adatokat olvas. Például az alábbi kód minden ügyfélhez eljut:
    const getAllCustomers = async () => {
    const params = {
    TableName: "Customer"
    }

    const customers = await client.scan(params)
    console.log(customers)
    }

    Míg a következő kód az e-mail érték alapján kapja meg a felhasználót:
    const getCustomerByEmail = async (email) => {
    const params = {
    TableName: "Customer",
    Key: {
    Email: { "S": email } // the type is always required
    }
    }

    const customer = await client.getItem(params)
    console.log(customer)
    }

    getCustomerByEmail("[email protected]")

  3. Frissítse az adatokat a táblázatban. A táblázatban lévő meglévő adatok frissítéséhez használja az SDK-kat updateItem funkció. A következő kód bemutatja, hogyan frissíthet egy adott rekordot:
     const updateCustomerLocation = async (email, age) => {
    const params = {
    TableName: "Customer",
    Key: {
    Email: { "S": email }
    },
    UpdateExpression: "SET Age = :newAge",
    ExpressionAttributeValues: {
    ':newAge': { "N": age }
    },
    ReturnValues: "ALL_NEW"
    }

    const updatedCustomer = await client.updateItem(params)
    console.log(updatedCustomer.Attributes)
     }

    Dinamikussá teheti a függvényt, ha frissítési kifejezéseket épít fel a frissítési adatokból. A DynamoDB rugalmassága lehetővé teszi, hogy minden műveletet az Ön igényei szerint kezeljen.
  4. Törölje az adatokat a táblázatból. Egy rekord DynamoDB-ből való törléséhez szüksége van a elem törlése funkciót és az adott rekord kulcsát. A megvalósítás módja:
    const deleteCustomer = async (email) => {
    const params = {
    TableName: "Customer",
    Key: {
    Email: { "S": email }
    }
    }

    client.deleteItem(params, (err, data) => {
    if (err) {
    console.error(err)
    } else {
    console.log("Customer deleted successfully")
    }
    })
    }

    deleteCustomer("[email protected]")

Hatékony alkalmazások létrehozása a DynamoDB segítségével

Az Amazon Web Services továbbra is virágzik. Hozzáférhető platformot biztosít, amellyel hatékony, biztonságos digitális megoldásokat kínálhat. A DynamoDB a tökéletes választás, ha olyan adatbázist keres, amely anélkül futhat, hogy aggódnia kellene az infrastruktúra vagy a biztonság miatt.

Most már mindennel fel van szerelve, amire szüksége van a DynamoDB használatának megkezdéséhez a Node.js-ben, és magabiztosan választhatja a DynamoDB-t a következő Node.js-alkalmazásához.