ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-22, Wednesday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Dynatable: TypeScript සමඟ DynamoDB එකේ සරල, ආරක්ෂිත සින්ගල්-ටේබල් සැලසුම

Dynatable: TypeScript සමඟ DynamoDB එකේ සරල, ආරක්ෂිත සින්ගල්-ටේබල් සැලසුම

Amazon DynamoDB අති විශාල පරිමාණයට ඉහල යා හැකි, මුලදී පැනියක් පමණ වැයවෙන දත්ත ගබඩා සේවාවක්. නමුත් TypeScript භාවිතා කරමින් එය පරිහරණය කරන සංවර්ධකයින්ට පාර්ටිෂන්/සෝට්ට් කී යුගලයන් "USER#${username}" වගේ අකාරයෙන් හස්තයෙන් ලියන්න සිදු වීම, ගුණාංග (attribute) පරිවර්තනය (marshal/unmarshal) කිරීම, සහ SDK එකෙන් ලැබෙන Record<string, AttributeValue> | undefined වැනි ආකාරයෙන් වර්ග ආරක්ෂාව අහිමි වීම වැනි ගැටළු පවතිනවා.

මේ ගැටළු වලට විසඳුමක් ලෙස Dynatype නමැති නව TypeScript පුස්තකාලයක් හඳුන්වා දී ඇත. මෙය AWS SDK v3 මත පදනම්ව, සින්ගල්-ටේබල් (single-table) සැලසුම සම්පූර්ණයෙන්ම ආරක්ෂිතව, ක්‍රියාකාරී ලෙස ක්‍රියාත්මක කරයි. Schema එකක් එකම වරක් නිර්වචනය කර, එය මත පදනම්ව CRUD මෙහෙයුම්, Query, Scan, Transaction, Batch Write/Read වැනි සියලුම ක්‍රියාකාරකම් ස්වයංක්‍රීයව වර්ග-ආරක්ෂිතව ලබා දේ.

උදාහරණයක් ලෙස, සාමාන්‍ය SDK භාවිතයෙන් පරිශීලක තොරතුරු ලබා ගැනීමේ කේතය:

import { DynamoDBClient, GetItemCommand } from '@aws-sdk/client-dynamodb';
const res = await client.send(new GetItemCommand({ TableName: 'MyApp', Key: { PK: { S: `USER#${username}` }, SK: { S: 'PROFILE' } } }));
const age = res.Item?.age?.N ? Number(res.Item.age.N) : undefined;

මෙය Dynatype සමඟ ලියන විට:

import { table } from './db';
const user = await table.entities.User.get({ username }).execute();
const age = user?.age;

කී එකතු කිරීම, ගුණාංග පරිවර්තනය, වර්ග ආරක්ෂාව – සියල්ලම ස්වයංක්‍රීයව සිදු වේ. Schema එකක් මෙසේ නිර්වචනය කරයි:

const schema = { format: 'dynatable:1.0.0', version: '1.0.0', indexes: { primary: { hash: 'PK', sort: 'SK' }, gsi1: { hash: 'GSI1PK', sort: 'GSI1SK' } }, models: { User: { key: { PK: { type: String, value: 'USER#${username}' }, SK: { type: String, value: 'PROFILE' } }, attributes: { username: { type: String, required: true }, email: { type: String }, age: { type: Number }, followerCount: { type: Number, default: 0 } } } }, params: { timestamps: true } } as const;

මෙම Schema එකෙන් වර්ග-ආරක්ෂිත CRUD මෙහෙයුම්, immutable chainable query builder, Zod validation, ULID/UUID ජනනය වැනි අංග ලබා ගත හැක.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • සංවර්ධකයින්ට – TypeScript සමඟ DynamoDB භාවිතය සරල කර, වැරදි අකුරු හෝ වර්ග ගැටළු අඩු කරයි. මෙය ශ්‍රී ලංකාවේ startups සහ fintech ආයතන සඳහා වේගවත් MVP නිර්මාණයට උපකාරී වේ.
  • ඉගෙනුම් ආකාරයට – විශ්වවිද්‍යාල හා තාක්ෂණික පාඨමාලා වලට ප්‍රායෝගික උදාහරණයක් ලෙස Dynatype භාවිතා කර, cloud-native development, schema design, සහ type safety යන සංකල්ප ඉගැන්විය හැක.
  • ව්‍යාපාරික පරිසරයට – සින්ගල්-ටේබල් සැලසුම නිසා පිරිවැය අඩු වේ, දත්ත ආකෘතියේ වෙනස්කම් (schema migrations) ආරක්ෂිතව කළ හැක. මේ නිසා ශ්‍රී ලංකාවේ SMEs වෙත AWS cloud adoption පහසු වේ.

Dynatype, TypeScript සහ DynamoDB එකට අලුත්ම සම්බන්ධතාවයක් ගොඩනැගී, සංවර්ධකයින්ගේ දිනපතා කටයුතු සරල කරයි. ශ්‍රී ලංකාවේ තාක්ෂණික පරිසරයට මෙය නව අවස්ථාවන් තවත් විවෘත කරනු ඇත.

💡 ඔබේ අයදුම්පත් වලට Dynatype භාවිතා කර බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Dynatype #TypeScript #DynamoDB #AWS #Sri Lanka