AWS DynamoDB MCP Server

resmi

Amazon DynamoDB için resmi geliştirici deneyimi MCP Sunucusu. Bu sunucu, DynamoDB uzman tasarım rehberliği ve veri modelleme yardımı sağlar.

Dokümantasyon

AWS DynamoDB MCP Sunucusu

Amazon DynamoDB için resmi geliştirici deneyimi MCP Sunucusu. Bu sunucu, DynamoDB uzman tasarım rehberliği ve veri modelleme yardımı sağlar.

[!ÖNEMLİ] Üretken Yapay Zeka hatalar yapabilir. Seçtiğiniz yapay zeka modeli ve ajan tabanlı kodlama asistanı tarafından üretilen tüm çıktıları gözden geçirmeyi düşünmelisiniz. Bkz. AWS Sorumlu Yapay Zeka Politikası.

Mevcut Araçlar

DynamoDB MCP sunucusu, veri modelleme, doğrulama, maliyet analizi ve kod üretimi için sekiz araç sağlar:

  • dynamodb_data_modeling - Kurumsal düzey tasarım desenleri, maliyet optimizasyon stratejileri ve çoklu tablo tasarım felsefesi ile birlikte DynamoDB Veri Modelleme Uzmanı isteminin tamamını getirir. Gereksinim toplama, erişim deseni analizi ve şema tasarımı boyunca rehberlik eder.

    Örnek çağrı: "DynamoDB veri modelleme MCP sunucusunu kullanarak e-ticaret uygulamam için bir veri modeli tasarla"

  • dynamodb_data_model_validation - dynamodb_data_model.json dosyasını yükleyerek, DynamoDB Local'ı kurarak, test verileriyle tablolar oluşturarak ve tanımlanan tüm erişim desenlerini çalıştırarak DynamoDB veri modelinizi doğrular. Ayrıntılı doğrulama sonuçlarını dynamodb_model_validation.json dosyasına kaydeder.

    Örnek çağrı: "DynamoDB veri modelimi doğrula"

  • source_db_analyzer - Şema yapısını, erişim desenlerini çıkarmak için mevcut veritabanlarını (MySQL, PostgreSQL, SQL Server, Oracle) analiz eder ve dynamodb_data_modeling ile kullanılmak üzere zaman damgalı analiz dosyaları oluşturur. MySQL için hem RDS Data API tabanlı erişimi hem de bağlantı tabanlı erişimi destekler.

    Örnek çağrı: "MySQL veritabanımı analiz et ve bir DynamoDB veri modeli tasarlamama yardım et"

  • generate_resources - DynamoDB veri modeli JSON dosyasından (dynamodb_data_model.json) çeşitli kaynaklar üretir. Şu anda yalnızca cdk kaynak türü desteklenmektedir. resource_type parametresi olarak cdk geçirilmesi, DynamoDB tablolarını dağıtmak için bir CDK uygulaması oluşturur. CDK uygulaması, uygun yapılandırmayla tablolar oluşturmak için dynamodb_data_model.json dosyasını okur.

    Örnek çağrı: "CDK kullanarak DynamoDB veri modelimi dağıtmak için kaynakları oluştur"

  • dynamodb_data_model_schema_converter - Veri modelinizi (dynamodb_data_model.md), DynamoDB tablolarınızı, dizinlerinizi, varlıklarınızı, alanlarınızı ve erişim desenlerinizi temsil eden yapılandırılmış bir schema.json dosyasına dönüştürür. Bu makine tarafından okunabilir format, kod üretimi için kullanılır ve dokümantasyon oluşturma veya altyapı sağlama gibi diğer amaçlar için genişletilebilir. Doğruluğu sağlamak için şemayı 8 yinelemeye kadar otomatik olarak doğrular.

    Örnek çağrı: "Kod üretimi için veri modelimi schema.json'a dönüştür"

  • dynamodb_data_model_schema_validator - Kod üretimi uyumluluğu için schema.json dosyalarını doğrular. Alan türlerini, işlemleri, GSI eşlemelerini, desen kimliklerini kontrol eder ve düzeltme önerileriyle birlikte ayrıntılı hata mesajları sağlar. Şemanızın generate_data_access_layer aracı için hazır olmasını sağlar.

    Örnek çağrı: "/path/to/schema.json konumundaki schema.json dosyamı doğrula"

  • generate_data_access_layer - schema.json'dan, alan doğrulamalı varlık sınıfları, CRUD işlemlerine sahip repository sınıfları, tam olarak uygulanmış erişim desenleri ve isteğe bağlı kullanım örnekleri dahil olmak üzere tür güvenli Python kodu üretir. Üretilen kod, doğrulama için Pydantic ve DynamoDB işlemleri için boto3 kullanır.

    Örnek çağrı: "schema.json dosyamdan Python kodu üret"

  • compute_performances_and_costs - Erişim desenlerinden DynamoDB kapasite birimlerini (RCU/WCU) ve aylık maliyetleri hesaplar. Tüm DynamoDB işlemlerini (GetItem, Query, Scan, PutItem, UpdateItem, DeleteItem, BatchGetItem, BatchWriteItem, TransactGetItems, TransactWriteItems) analiz eder, GSI ek yazmalarını izler ve depolama maliyetlerini hesaplar. Kapsamlı bir maliyet raporunu dynamodb_data_model.md dosyasına ekler.

    Örnek çağrı: "DynamoDB veri modelimin maliyetini ve performansını hesapla"

Ön Koşullar

  1. uvAstral veya GitHub README üzerinden kurun
  2. uv python install 3.10 kullanarak Python'u kurun
  3. AWS hizmetlerine erişimi olan AWS kimlik bilgilerini ayarlayın

Kurulum

KiroCursorVS Code
KiroCursorVS Code

Not: Yukarıdaki kurulum düğmeleri, AWS_REGION'ı varsayılan olarak us-west-2 olarak yapılandırır. Farklı bir bölgeye ihtiyacınız varsa, kurulumdan sonra MCP yapılandırmanızda bu değeri güncelleyin.

MCP sunucusunu yapılandırma dosyanıza ekleyin (Kiro için .kiro/settings/mcp.json dosyasına ekleyin - bkz. yapılandırma yolu):

{
  "mcpServers": {
    "awslabs-dynamodb-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.dynamodb-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Windows Kurulumu

Windows kullanıcıları için MCP sunucusu yapılandırma formatı biraz farklıdır:

{
  "mcpServers": {
    "awslabs-dynamodb-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "awslabs.dynamodb-mcp-server@latest",
        "awslabs.dynamodb-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

Docker Kurulumu

Başarılı bir docker build -t awslabs/dynamodb-mcp-server . işleminden sonra:

{
  "mcpServers": {
    "awslabs-dynamodb-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "awslabs/dynamodb-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

Veri Modelleme

Doğal Dilde Veri Modelleme

Yapay zeka ajanınızla doğal dil konuşması yoluyla DynamoDB veri modelleri tasarlamak için dynamodb_data_modeling aracını kullanın. Basitçe şunu sorun: "bir DynamoDB veri modeli tasarlamama yardım etmesi için DynamoDB MCP'mi kullan."

Araç, uygulama gereksinimlerini DynamoDB veri modellerine dönüştüren yapılandırılmış bir iş akışı sağlar:

Gereksinim Toplama Aşaması:

  • Doğal dil konuşması yoluyla erişim desenlerini yakalar
  • Varlıkları, ilişkileri ve okuma/yazma desenlerini belgelendirir
  • Her desen için tahmini saniye başına istek (RPS) kaydeder
  • Gerçek zamanlı olarak güncellenen dynamodb_requirements.md dosyasını oluşturur
  • Diğer AWS hizmetlerine daha uygun desenleri belirler (metin araması için OpenSearch, analitik için Redshift)
  • Özel tasarım hususlarını işaretler (örneğin, DynamoDB Streams ve Lambda gerektiren büyük yayılma desenleri)

Tasarım Aşaması:

  • Optimize edilmiş tablo ve dizin tasarımları üretir
  • Ayrıntılı tasarım gerekçesiyle birlikte dynamodb_data_model.md oluşturur
  • Tahmini aylık maliyetleri sağlar
  • Her erişim deseninin nasıl desteklendiğini belgelendirir
  • Ölçek ve performans için optimizasyon önerileri içerir

Araç, muhakeme modellerinin gelişmiş modelleme tekniklerinde size rehberlik etmesine yardımcı olan uzman mühendislikle hazırlanmış bağlam tarafından desteklenir. En iyi sonuçlar, Anthropic Claude 4/4.5 Sonnet, OpenAI o3 ve Google Gemini 2.5 gibi muhakeme yeteneğine sahip modellerle elde edilir.

Veri Modeli Doğrulama

Veri Modeli Doğrulama için Ön Koşullar: Veri modeli doğrulama aracını kullanmak için aşağıdakilerden birine ihtiyacınız vardır:

  • Konteyner Çalışma Zamanı: Çalışan bir arka plan programıyla Docker, Podman, Finch veya nerdctl
  • Java Çalışma Zamanı: Java JRE sürüm 17 veya daha yenisi (JAVA_HOME ayarlayın veya java'ın sistem PATH'inizde olduğundan emin olun)

Veri modeli tasarımınızı tamamladıktan sonra, modelinizi DynamoDB Local'a karşı otomatik olarak test etmek için dynamodb_data_model_validation aracını kullanın. Doğrulama aracı, yinelemeli bir doğrulama döngüsü oluşturarak üretim ve yürütme arasındaki döngüyü kapatır.

Nasıl Çalışır:

Araç, geleneksel manuel doğrulama sürecini otomatikleştirir:

  1. Kurulum: DynamoDB Local ortamını başlatır (Docker/Podman/Finch/nerdctl veya Java yedeği)
  2. Test Spesifikasyonu Oluştur: Test edilecek tabloları, örnek verileri ve erişim desenlerini listeleyen dynamodb_data_model.json oluşturur
  3. Şemayı Dağıt: Tabloları, dizinleri oluşturur ve yerel olarak örnek verileri ekler
  4. Testleri Yürüt: Erişim desenlerinizde tanımlanan tüm okuma ve yazma işlemlerini çalıştırır
  5. Sonuçları Doğrula: Her erişim deseninin doğru ve verimli şekilde davrandığını kontrol eder
  6. Yinelemeli İyileştirme: Doğrulama başarısız olursa (örneğin, yanlış hizalanmış bölüm anahtarı nedeniyle sorgu eksik sonuçlar döndürürse), araç sorunu kaydeder ve etkilenen şemayı yeniden oluşturur ve tüm desenler geçene kadar testleri yeniden çalıştırır

Doğrulama Çıktısı:

  • dynamodb_model_validation.json: Desen yanıtlarıyla birlikte ayrıntılı doğrulama sonuçları
  • validation_result.md: Her erişim deseni için başarılı/başarısız durumuyla doğrulama sürecinin özeti
  • Yanlış anahtar yapıları, eksik dizinler veya verimsiz sorgu desenleri gibi sorunları belirler

Kaynak Veritabanı Analizi

source_db_analyzer aracı, DynamoDB modelinizi tasarlamanıza yardımcı olmak için mevcut veritabanınızdan şema ve erişim desenlerini çıkarır. Bu, ilişkisel veritabanlarından geçiş yaparken kullanışlıdır.

Araç, MySQL için iki bağlantı yöntemini destekler:

  • RDS Data API tabanlı erişim: Küme ARN'si kullanan sunucusuz bağlantı
  • Bağlantı tabanlı erişim: Ana bilgisayar adı/port kullanan geleneksel bağlantı

Desteklenen Veritabanları:

  • MySQL / Aurora MySQL
  • PostgreSQL
  • SQL Server
  • Oracle

Yürütme Modları:

  • Self Servis Modu: SQL sorguları oluşturun, bunları kendiniz çalıştırın, sonuçları sağlayın (MySQL, PostgreSQL, SQL Server, Oracle)
  • Yönetilen Mod: AWS RDS Data API aracılığıyla doğrudan bağlantı (yalnızca MySQL)

Bu aracı üretim dışı bir veritabanı örneğine karşı çalıştırmanızı öneririz.

Self Servis Modu (MySQL, PostgreSQL, SQL Server, Oracle)

Self servis modu, AWS bağlantısı olmadan herhangi bir veritabanını analiz etmenizi sağlar:

  1. Sorguları Oluştur: Araç, SQL sorgularını (seçilen veritabanına göre) bir dosyaya yazar
  2. Sorguları Çalıştır: Sorguları veritabanınıza karşı siz çalıştırırsınız
  3. Sonuçları Sağla: Araç sonuçları ayrıştırır ve analiz oluşturur

Yönetilen Mod (yalnızca MySQL)

Yönetilen mod, DynamoDB modellemesi için şema ve erişim desenlerini çıkarmak üzere mevcut MySQL/Aurora veritabanlarını analiz etmek için aracı AWS RDS Data API'ye bağlamanızı sağlar.

MySQL Entegrasyonu için Ön Koşullar (Yönetilen Mod)

RDS Data API tabanlı erişim için:

  1. RDS Data API etkinleştirilmiş MySQL kümesi
  2. AWS Secrets Manager'da saklanan veritabanı kimlik bilgileri
  3. RDS Data API ve Secrets Manager'a erişim izinlerine sahip AWS kimlik bilgileri

Bağlantı tabanlı erişim için:

  1. Ortamınızdan erişilebilen MySQL sunucusu

  2. AWS Secrets Manager'da saklanan veritabanı kimlik bilgileri

  3. Secrets Manager gizli anahtarı, veritabanı ana bilgisayar adınızla eşleşen bir host alanı içermelidir (username ve password'e ek olarak). Bu, kimlik bilgilerinin yalnızca amaçlanan veritabanı ana bilgisayarıyla kullanılmasını sağlar. RDS tarafından yönetilen gizli anahtarlar bu alanı otomatik olarak içerir. Gizli anahtarınızı manuel olarak oluşturduysanız, standart yapıyı takip ettiğinden emin olun:

    aws secretsmanager create-secret \
        --name "my-db-secret" \
        --secret-string '{
            "engine": "mysql",
            "host": "my-db.cluster-xxx.us-east-1.rds.amazonaws.com",
            "username": "<username>",
            "password": "<password>",
            "dbname": "<database name>",
            "port": 3306
        }'
    
  4. Secrets Manager'a erişim izinlerine sahip AWS kimlik bilgileri

Her iki bağlantı yöntemi için: 4. Erişim deseni analizi için Performans Şemasını etkinleştirin (isteğe bağlı ancak önerilir):

  • DB parametre grubunuzda performance_schema parametresini 1 olarak ayarlayın
  • Değişikliklerden sonra DB örneğini yeniden başlatın
  • Şununla doğrulayın: SHOW GLOBAL VARIABLES LIKE '%performance_schema'
  • Ayarlamayı düşünün:
    • performance_schema_digests_size - events_statements_summary_by_digest içindeki maksimum satır sayısı
    • performance_schema_max_digest_length - İfade özeti başına maksimum bayt uzunluğu (varsayılan: 1024)
  • Performans Şeması olmadan, analiz yalnızca bilgi şemasına dayanır

MySQL Ortam Değişkenleri

MySQL entegrasyonunu etkinleştirmek için bu ortam değişkenlerini ekleyin:

RDS Data API tabanlı erişim için:

  • MYSQL_CLUSTER_ARN: MySQL küme ARN'si
  • MYSQL_SECRET_ARN: Veritabanı kimlik bilgilerini içeren gizli anahtarın ARN'si
  • MYSQL_DATABASE: Analiz edilecek veritabanı adı
  • AWS_REGION: Kümenin AWS bölgesi

Bağlantı tabanlı erişim için:

  • MYSQL_HOSTNAME: MySQL sunucusu ana bilgisayar adı veya uç noktası
  • MYSQL_PORT: MySQL sunucusu portu (isteğe bağlı, varsayılan: 3306)
  • MYSQL_SECRET_ARN: Veritabanı kimlik bilgilerini içeren gizli anahtarın ARN'si
  • MYSQL_DATABASE: Analiz edilecek veritabanı adı
  • AWS_REGION: Secrets Manager'ın bulunduğu AWS bölgesi

Ortak seçenekler:

  • MYSQL_MAX_QUERY_RESULTS: Analiz çıktı dosyalarındaki maksimum satır sayısı (isteğe bağlı, varsayılan: 500)

Not: Açık araç parametreleri, ortam değişkenlerine göre önceliklidir. Yalnızca bir bağlantı yöntemi (küme ARN'si veya ana bilgisayar adı) belirtilmelidir.

MySQL ile MCP Yapılandırması

RDS Data API tabanlı erişim için:

{
  "mcpServers": {
    "awslabs-dynamodb-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.dynamodb-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-west-2",
        "FASTMCP_LOG_LEVEL": "ERROR",
        "MYSQL_CLUSTER_ARN": "arn:aws:rds:$REGION:$ACCOUNT_ID:cluster:$CLUSTER_NAME",
        "MYSQL_SECRET_ARN": "arn:aws:secretsmanager:$REGION:$ACCOUNT_ID:secret:$SECRET_NAME",
        "MYSQL_DATABASE": "<DATABASE_NAME>",
        "MYSQL_MAX_QUERY_RESULTS": "500"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Bağlantı tabanlı erişim için:

{
  "mcpServers": {
    "awslabs.dynamodb-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.dynamodb-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "default",
        "AWS_REGION": "us-west-2",
        "FASTMCP_LOG_LEVEL": "ERROR",
        "MYSQL_HOSTNAME": "<MYSQL_HOST>",
        "MYSQL_PORT": "3306",
        "MYSQL_SECRET_ARN": "arn:aws:secretsmanager:$REGION:$ACCOUNT_ID:secret:$SECRET_NAME",
        "MYSQL_DATABASE": "<DATABASE_NAME>",
        "MYSQL_MAX_QUERY_RESULTS": "500"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Kaynak Veritabanı Analizini Kullanma

  1. source_db_analyzer'i Veritabanınıza karşı çalıştırın (Self-service veya Managed modu)
  2. Oluşturulan zaman damgalı analiz klasörünü inceleyin (database_analysis_YYYYMMDD_HHMMSS)
  3. Önce manifest.md dosyasını okuyun - tüm analiz dosyalarını ve istatistikleri listeler
  4. Şema yapısını ve erişim desenlerini anlamak için tüm analiz dosyalarını okuyun
  5. DynamoDB şemanızı tasarlamak için analizi dynamodb_data_modeling ile birlikte kullanın

Araç, aşağıdakileri içeren Markdown dosyaları oluşturur:

  • Şema yapısı (tablolar, sütunlar, indeksler, yabancı anahtarlar)
  • Performance Schema'dan erişim desenleri (sorgu desenleri, RPS, frekanslar)
  • Zaman içindeki değişiklikleri izlemek için zaman damgalı analiz

Şema Dönüşümü ve Kod Üretimi

DynamoDB veri modelinizi tasarladıktan sonra, onu yapılandırılmış bir şemaya dönüştürebilir ve referans python kodu üretebilirsiniz. MCP araçlarını bir LLM aracılığıyla kullanırken, bu iş akışının tamamı otomatik olarak gerçekleşir - LLM, manuel araç çağrısı gerektirmeden tek bir konuşmada şema dönüşümü, doğrulama ve kod üretimi boyunca size rehberlik eder.

Bağımsız kullanım için, bu araçları doğrudan CLI aracılığıyla da çağırabilir veya schema.json dosyalarını manuel olarak düzenleyip gerektiğinde kodu yeniden oluşturabilirsiniz.

Not: Veri modeli doğrulaması (dynamodb_data_model_validation), kod üretimi için isteğe bağlıdır. Ancak, üretilen kodu DynamoDB Local'a karşı usage_examples.py ile test etmeyi planlıyorsanız, DynamoDB Local'da tabloları ve test verilerini otomatik olarak kurduğu için önce doğrulamayı çalıştırmanız önerilir.

Veri Modelini Şemaya Dönüştürme

dynamodb_data_model_schema_converter aracı, insan tarafından okunabilir veri modelinizi (dynamodb_data_model.md), DynamoDB tablolarınızı, indekslerinizi, varlıklarınızı ve erişim desenlerinizi temsil eden yapılandırılmış bir JSON şemasına dönüştürür. Bu makine tarafından okunabilir format, kod üretimini mümkün kılar ve dokümantasyon veya altyapı sağlama için genişletilebilir.

Araç, oluşturulan şemayı otomatik olarak doğrular, doğrulama başarısız olursa ayrıntılı hata mesajları ve düzeltme önerileri sağlar. Çıktı, izolasyon için zaman damgalı bir klasöre kaydedilir.

Şema Yapısı:

Oluşturulan schema.json, aşağıdakileri içeren yapılandırılmış bir temsildir:

  • Tablolar: Bölüm/sıralama anahtarlarına sahip bir veya daha fazla DynamoDB tablo tanımı
  • GSI Tanımları: Global Secondary Index yapılandırmaları (isteğe bağlı)
  • Varlıklar: Yazılan alanlara sahip etki alanı modelleri (Kullanıcı, Sipariş, Ürün, vb.)
  • Alan Türleri: string, integer, decimal, boolean, array, object, uuid
  • Erişim Desenleri: Parametre tanımları ve anahtar şablonları içeren Sorgu/Tarama/GetItem işlemleri
  • Anahtar Şablonları: Bölüm ve sıralama anahtarları oluşturmak için desenler (örn. USER#{user_id})

Bu yapılandırılmış format, kod üretim araçları için girdi görevi görür.

Şema Dosyalarını Doğrulama

dynamodb_data_model_schema_validator aracı, kod üretimi için düzgün biçimlendirildiğinden emin olmak amacıyla schema.json dosyanızı doğrular.

Doğrulama Kontrolleri:

  • Gerekli bölümler (table_config, entities) mevcut
  • Tüm gerekli alanlar mevcut
  • Alan türleri geçerli (string, integer, decimal, boolean, array, object, uuid)
  • Enum değerleri doğru (işlem türleri, dönüş türleri)
  • Desen kimlikleri tüm varlıklar arasında benzersiz
  • GSI adları, gsi_list ve gsi_mappings arasında eşleşiyor
  • Şablonlarda başvurulan alanlar, varlık alanlarında mevcut
  • Aralık koşulları, doğru parametre sayılarıyla geçerli
  • Erişim desenleri geçerli işlemlere ve dönüş türlerine sahip

Güvenlik:

Şema dosyaları, geçerli çalışma dizini veya alt dizinleri içinde olmalıdır. Güvenlik için yol geçişi girişimleri engellenir.

Doğrulama Çıktı Örnekleri:

Başarılı:

✅ Schema validation passed!

Önerilerle birlikte hata:

❌ Schema validation failed:
  • entities.User.fields[0].type: Invalid type value 'strng'
    💡 Did you mean 'string'? Valid options: string, integer, decimal, boolean, array, object, uuid

Veri Erişim Katmanı Oluşturma

generate_data_access_layer aracı, doğrulanmış schema.json dosyanızdan tür güvenli Python kodu üretir.

Üretilen Kod:

  • Varlık Sınıfları: Alan doğrulaması ve tür güvenliği içeren Pydantic modelleri
  • Depo Sınıfları: Her varlık için CRUD işlemleri (oluşturma, okuma, güncelleme, silme)
  • Erişim Desenleri: Şemanızdan tam olarak uygulanmış sorgu ve tarama işlemleri
  • Temel Depo: Tüm depolar için paylaşılan işlevsellik
  • Kullanım Örnekleri: Üretilen sınıfların nasıl kullanılacağını gösteren örnek kod (isteğe bağlı)
  • Yapılandırma: Kod kalitesi ve biçimlendirme için ruff.toml

Kod Üretimi için Ön Koşullar:

Üretilen Python kodu, bu çalışma zamanı bağımlılıklarını gerektirir:

  • pydantic>=2.0 - Varlık doğrulaması ve tür güvenliği için
  • boto3>=1.38 - DynamoDB işlemleri için

Bunları projenize yükleyin:

uv add pydantic boto3
# or
pip install pydantic boto3

İsteğe Bağlı Geliştirme Bağımlılıkları:

Üretilen kodu linting ve biçimlendirme için:

  • ruff==0.15.8 - Python linter ve biçimlendirici (önerilir)

Üretilen Dosya Yapısı:

generated_dal/
├── entities.py              # Pydantic entity models
├── repositories.py          # Repository classes with CRUD operations
├── base_repository.py       # Base repository functionality
├── transaction_service.py   # Cross-table transaction methods (if schema includes cross_table_access_patterns)
├── access_pattern_mapping.json  # Pattern ID to method mapping
├── usage_examples.py        # Sample usage code (if enabled)
└── ruff.toml               # Linting configuration

Üretilen Kodu Kullanma:

Üretilen kod, tüm erişim desenleriniz için tür güvenli varlık sınıfları ve depo yöntemleri sağlar:

from generated_dal.repositories import UserRepository
from generated_dal.entities import User

# Initialize repository
repo = UserRepository(table_name="MyTable")

# Create a new user
user = User(user_id="123", username="username", name="John Doe")
repo.create(user)

# Query by access pattern
users = repo.get_user_by_username(username="username")

# Update user
user.name = "Jane Doe"
repo.update(user)

Üretilen kodu ruff ile linting ve biçimlendirme için:

ruff check generated_dal/        # Check for issues
ruff check --fix generated_dal/  # Auto-fix issues
ruff format generated_dal/       # Format code