amazon dynamodb - manuel du développeur · notes d'utilisation ... création, lecture, mise à...

998
Amazon DynamoDB Manuel du développeur Version de l'API 2012-08-10

Upload: phungnguyet

Post on 30-Apr-2018

238 views

Category:

Documents


5 download

TRANSCRIPT

  • Amazon DynamoDBManuel du dveloppeur

    Version de l'API 2012-08-10

  • Amazon DynamoDB Manuel du dveloppeur

    Amazon DynamoDB: Manuel du dveloppeurCopyright 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

    Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any mannerthat is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks notowned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored byAmazon.

  • Amazon DynamoDB Manuel du dveloppeur

    Table of ContentsQu'est-ce que Amazon DynamoDB? ..................................................................................................... 1

    Fonctionnement .......................................................................................................................... 2Composants de base .......................................................................................................... 2L'API DynamoDB .............................................................................................................. 10Rgles de dnomination et types de donnes ....................................................................... 12Cohrence en lecture ........................................................................................................ 16Capacit de dbit .............................................................................................................. 17Partitions et distribution des donnes ................................................................................... 20

    De SQL NoSQL ..................................................................................................................... 23SQL ou NoSQL? .............................................................................................................. 23Accs la base de donnes .............................................................................................. 25Cration d'une table .......................................................................................................... 27Obtention d'informations sur une table ................................................................................. 28Ecriture de donnes dans une table .................................................................................... 29Lecture de donnes partir d'une table ............................................................................... 32Gestion des index ............................................................................................................. 36Modification de donnes dans une table ............................................................................... 40Suppression de donnes d'une table ................................................................................... 41Suppression d'une table ..................................................................................................... 42

    Configuration d'DynamoDB ................................................................................................................. 44Configuration de DynamoDB Local (version tlchargeable) ............................................................ 44

    Tlchargement et excution de DynamoDB sur votre ordinateur ............................................. 44Dfinition du point de terminaison local ................................................................................ 47Notes d'utilisation .............................................................................................................. 48

    Configuration de DynamoDB (service web) ................................................................................... 49Inscription AWS ............................................................................................................. 49Obtention d'une cl d'accs AWS ........................................................................................ 49Configuration de vos informations d'identification ................................................................... 50

    Accs DynamoDB .......................................................................................................................... 51Utilisation de la console ............................................................................................................. 51Utilisation de l'interface de ligne de commande ............................................................................. 52

    Tlchargement et configuration de l'AWS CLI ...................................................................... 52Utilisation de l'AWS CLI avec DynamoDB ............................................................................. 52Utilisation de l'AWS CLI avec DynamoDB tlchargeable ........................................................ 53

    Utilisation de l'API ..................................................................................................................... 54Mise en route sur DynamoDB ............................................................................................................. 55

    Java et DynamoDB ................................................................................................................... 55Prrequis du didacticiel ...................................................................................................... 55tape1 : Cration d'une table ............................................................................................. 56tape2: Chargement d'exemples de donnes ...................................................................... 57tape 3: Cration, lecture, mise jour et suppression d'un lment ......................................... 59tape 4: Interrogation et analyse des donnes ..................................................................... 67tape 5: (Facultatif) Suppression de la table ........................................................................ 71Rcapitulatif ..................................................................................................................... 72

    JavaScript et DynamoDB ........................................................................................................... 72Prrequis du didacticiel ...................................................................................................... 73tape1 : Cration d'une table ............................................................................................. 74tape2: Chargement d'exemples de donnes ...................................................................... 75tape 3: Cration, lecture, mise jour et suppression d'un lment ......................................... 78tape 4: Interrogation et analyse des donnes ..................................................................... 86tape 5: (Facultatif): Suppression de la table ....................................................................... 91Rcapitulatif ..................................................................................................................... 92

    Node.js et DynamoDB ............................................................................................................... 93Prrequis du didacticiel ...................................................................................................... 93

    Version de l'API 2012-08-10iii

  • Amazon DynamoDB Manuel du dveloppeur

    tape1: Cration d'une table ............................................................................................. 93tape2: Chargement d'exemples de donnes ...................................................................... 94tape 3: Cration, lecture, mise jour et suppression d'un lment ......................................... 96tape 4: Interrogation et analyse des donnes .................................................................... 103tape 5: (Facultatif): Suppression de la table ..................................................................... 106Rcapitulatif .................................................................................................................... 107

    .NET et DynamoDB ................................................................................................................. 107Prrequis du didacticiel .................................................................................................... 108tape1: Cration d'une table ........................................................................................... 108tape2: Chargement d'exemples de donnes .................................................................... 110tape 3: Cration, lecture, mise jour et suppression d'un lment ........................................ 114tape 4: Interrogation et analyse des donnes .................................................................... 127tape 5: (Facultatif) Suppression de la table ....................................................................... 135Rcapitulatif .................................................................................................................... 136

    PHP et DynamoDB ................................................................................................................. 137Prrequis du didacticiel .................................................................................................... 137tape1: Cration d'une table ........................................................................................... 137tape2: Chargement d'exemples de donnes .................................................................... 139tape 3: Cration, lecture, mise jour et suppression d'un lment ........................................ 141tape 4: Interrogation et analyse des donnes .................................................................... 149tape 5: (Facultatif) Suppression de la table ....................................................................... 153Rcapitulatif .................................................................................................................... 154

    Python et DynamoDB .............................................................................................................. 155Prrequis du didacticiel .................................................................................................... 155tape1: Cration d'une table ........................................................................................... 155tape2: Chargement d'exemples de donnes .................................................................... 156tape 3: Cration, lecture, mise jour et suppression d'un lment ........................................ 158tape 4: Interrogation et analyse des donnes .................................................................... 165tape 5: (Facultatif) Suppression de la table ....................................................................... 169Rcapitulatif .................................................................................................................... 169

    Ruby et DynamoDB ................................................................................................................. 170Prrequis du didacticiel .................................................................................................... 170tape1: Cration d'une table ........................................................................................... 170tape2: Chargement d'exemples de donnes .................................................................... 172tape 3: Cration, lecture, mise jour et suppression d'un lment ........................................ 174tape 4: Interrogation et analyse des donnes .................................................................... 180tape 5: (Facultatif) Suppression de la table ....................................................................... 184Rcapitulatif .................................................................................................................... 185

    Programmation avec DynamoDB ....................................................................................................... 186Prsentation de la prise en charge du kit AWS SDK pour DynamoDB .............................................. 186Interfaces par programmation .................................................................................................... 188

    Interfaces de bas niveau .................................................................................................. 188Interfaces de document .................................................................................................... 189Interface de persistance des objets .................................................................................... 190

    API DynamoDB de bas niveau .................................................................................................. 192Format des demandes ..................................................................................................... 193Format de la rponse ...................................................................................................... 194Descripteurs de type de donnes ...................................................................................... 194Donnes numriques ....................................................................................................... 195Donnes binaires ............................................................................................................ 195

    Gestion des erreurs ................................................................................................................. 195Composants erreur .......................................................................................................... 196Codes et messages d'erreur ............................................................................................. 196Gestion des erreurs dans votre application .......................................................................... 199Nouvelles tentatives aprs erreur et interruptions exponentielles ............................................. 200Oprations par lot et gestion des erreurs ............................................................................ 200

    Interfaces de programmation de niveau suprieur pour DynamoDB ................................................. 201

    Version de l'API 2012-08-10iv

  • Amazon DynamoDB Manuel du dveloppeur

    Java : DynamoDBMapper ................................................................................................. 202.NET: Modle de document ............................................................................................. 240.NET: modle de persistance des objets ............................................................................ 262

    Excution des exemples de code .............................................................................................. 290Chargement des exemples de donnes .............................................................................. 290Exemples de Code Java .................................................................................................. 296Exemples de code .NET ................................................................................................... 298

    Utilisation d'DynamoDB .................................................................................................................... 301Utilisation de tables ................................................................................................................. 301

    Oprations de base pour les tables ................................................................................... 301Paramtres de dbit pour la lecture et l'criture ................................................................... 305Taille des lments et consommation des units de capacit ................................................. 307Gestion de la capacit de dbit avec la scalabilit automatique .............................................. 309Balisage pour DynamoDB ................................................................................................ 324Utilisation des tables : Java ............................................................................................. 326Utilisation de tables : .NET ................................................................................................ 331

    Utilisation d'lments ............................................................................................................... 338Lecture d'un lment ....................................................................................................... 339Ecriture d'un lment ....................................................................................................... 339Valeurs renvoyes ........................................................................................................... 341Oprations par lot ........................................................................................................... 342Compteurs atomiques ...................................................................................................... 344Ecritures conditionnelles ................................................................................................... 345Utilisation d'expressions dans DynamoDB ........................................................................... 349Dure de vie .................................................................................................................. 374Utilisation d'lments : Java .............................................................................................. 379Utilisation des lments: .NET .......................................................................................... 399

    Utilisation d'oprations Query .................................................................................................... 421Expression de condition cl .............................................................................................. 422Filtrer les expressions pour l'opration Query ...................................................................... 424Limiter le nombre d'lments dans le jeu de rsultats ........................................................... 425Pagination des rsultats ................................................................................................... 425Comptabilisation des lments dans les rsultats ................................................................. 426Units de capacit consommes par l'opration Query .......................................................... 427Cohrence en lecture de l'opration Query .......................................................................... 427Interrogation : Java .......................................................................................................... 427Interrogation : .NET .......................................................................................................... 433

    Utilisation des oprations Scan ................................................................................................. 439Filtrer les expressions pour l'opration Scan ........................................................................ 440Limiter le nombre d'lments dans le jeu de rsultats ........................................................... 440Pagination des rsultats ................................................................................................... 441Comptabilisation des lments dans les rsultats ................................................................. 442Units de capacit consommes par l'opration Scan ........................................................... 442Cohrence en lecture de l'opration Scan ........................................................................... 443Analyse parallle ............................................................................................................. 443Analyse : Java ................................................................................................................ 445Analyse : .NET ................................................................................................................ 452

    Utilisation des index ................................................................................................................ 459Index secondaires globaux ............................................................................................... 462Index local secondaire ..................................................................................................... 499

    Utilisation des flux ................................................................................................................... 535Point de terminaisons pour Flux DynamoDB ........................................................................ 537Activation d'un flux .......................................................................................................... 537Lecture et traitement de flux ............................................................................................. 538Flux DynamoDB et Dure de vie ....................................................................................... 540Utilisation de Flux DynamoDB Kinesis Adapter pour traiter les enregistrements de flux ................ 541API de bas niveau Flux DynamoDB: exemple Java ............................................................. 552

    Version de l'API 2012-08-10v

  • Amazon DynamoDB Manuel du dveloppeur

    Rplication entre rgions .................................................................................................. 556Dclencheurs Flux DynamoDB et AWS Lambda .................................................................. 556

    Sauvegarde et restauration la demande ........................................................................................... 565Fonctionnement ...................................................................................................................... 565

    Sauvegardes .................................................................................................................. 565Restaurations ................................................................................................................. 566

    Sauvegarde d'une table ........................................................................................................... 567Cration d'une sauvegarde de table (console) ..................................................................... 567Cration d'une sauvegarde de table (AWS CLI) ................................................................... 568

    Restauration d'une table partir d'une sauvegarde ...................................................................... 569Restauration d'une table partir d'une sauvegarde (console) ................................................. 569Restauration d'une table partir d'une sauvegarde (AWS CLI) ............................................... 571

    Suppression d'une sauvegarde de table ..................................................................................... 572Suppression d'une sauvegarde de table (console) ................................................................ 572Suppression d'une sauvegarde de table (AWS CLI) .............................................................. 573

    Using IAM .............................................................................................................................. 573Exemple 1: Autoriser les actions CreateBackup et RestoreTableFromBackup .......................... 573Exemple 2: Autoriser l'action CreateBackup et refuser l'action RestoreTableFromBackup ........... 574Exemple 3: Autoriser l'action ListBackups et refuser les actions CreateBackup etRestoreTableFromBackup ................................................................................................. 574Exemple 4: Autoriser l'action ListBackups et refuser l'action DeleteBackup .............................. 575Exemple 5: Autoriser les actions RestoreTableFromBackup et DescribeBackup pour toutes lesressources et refuser l'action DeleteBackup pour une sauvegarde spcifique ............................ 575Exemple6: Autoriser l'action CreateBackup pour une table spcifique .................................... 576Exemple 7: Autoriser l'action ListBackups ......................................................................... 576

    Restauration un instant dans le pass ............................................................................................. 577Fonctionnement ...................................................................................................................... 577Avant de commencer ............................................................................................................... 578Restaurez une table un instant dans le pass ........................................................................... 579

    Restauration d'une table un instant dans le pass (Console) ............................................... 579Restauration d'une table un instant dans le pass (AWS CLI) .............................................. 580

    Tables globales ............................................................................................................................... 582Fonctionnement ...................................................................................................................... 582

    Concepts d'une table globale ............................................................................................ 582Cohrence et rsolution des conflits ................................................................................... 583Disponibilit et durabilit ................................................................................................... 584

    Exigences et bonnes pratiques .................................................................................................. 584Prrequis pour l'ajout d'une nouvelle table de rplica ............................................................ 584Bonnes pratiques et exigences de gestion de capacit .......................................................... 585

    Cration d'une table globale ..................................................................................................... 585Cration d'une table globale (console) ................................................................................ 586Cration d'une table globale (AWS CLI) .............................................................................. 586

    Surveillance des tables globales ................................................................................................ 588Utilisation d'IAM avec les tables globales .................................................................................... 589

    .................................................................................................................................... 589Exemple: autoriser l'action CreateGlobalTable .............................................................. 589Exemple: Autoriser les actions UpdateTable et DescribeLimits ...................................... 590

    Chiffrement au repos ....................................................................................................................... 591Fonctionnement ...................................................................................................................... 592Avant de commencer ............................................................................................................... 592Activation du chiffrement au repos ............................................................................................. 593

    Activation du chiffrement au repos (Console) ....................................................................... 593Activation du chiffrement au repos (Interface de ligne de commande AWS) ............................... 594

    Acclration en mmoire avec DAX ................................................................................................... 595Cas d'utilisation pour DAX ........................................................................................................ 595Notes d'utilisation .................................................................................................................... 596Concepts ............................................................................................................................... 597

    Version de l'API 2012-08-10vi

  • Amazon DynamoDB Manuel du dveloppeur

    Comment DAX traite les demandes ................................................................................... 598Cache d'lment ............................................................................................................. 599Cache de requte ........................................................................................................... 599

    Composants d'un cluster DAX ................................................................................................... 600Nuds .......................................................................................................................... 600Clusters ......................................................................................................................... 601Rgions et Zones de disponibilit ...................................................................................... 601Groupes de paramtres ................................................................................................... 602Groupes de scurit ........................................................................................................ 602ARN de cluster ............................................................................................................... 602Point de terminaison de cluster ......................................................................................... 602Points de terminaison de nud ......................................................................................... 603Groupes de sous-rseaux ................................................................................................ 603vnements ................................................................................................................... 603Maintenance Window ....................................................................................................... 603

    Cration d'un cluster DAX ........................................................................................................ 604Cration d'un rle de service DAX ..................................................................................... 604AWS CLI ....................................................................................................................... 606AWS Management Console .............................................................................................. 609

    Modles de cohrence DAX et DynamoDB ................................................................................. 612Cohrence entre les nuds d'un cluster DAX ..................................................................... 612Comportement du cache d'lment DAX ............................................................................. 612Comportement du cache de requte DAX ........................................................................... 614Lectures cohrence forte ............................................................................................... 615Mise en cache ngative ................................................................................................... 615Stratgies pour les critures ............................................................................................. 616

    Utilisation du client DAX dans une application ............................................................................. 618Didacticiel: Excution d'un exemple d'application ................................................................. 618Modification d'une application existante pour utiliser DAX ...................................................... 649

    Gestion des clusters DAX ......................................................................................................... 652Autorisations IAM pour grer un cluster DAX ....................................................................... 652Personnalisation des paramtres de cluster DAX ................................................................. 654Configuration des paramtres de dure de vie (TTL) ............................................................ 656Prise en charge du balisage DAX ...................................................................................... 657Intgration AWS CloudTrail ............................................................................................... 658Suppression d'un cluster DAX ........................................................................................... 658

    Contrle d'accs DAX .............................................................................................................. 658Rle de service IAM pour DAX ......................................................................................... 659Stratgie IAM pour autoriser l'accs au cluster DAX ............................................................. 660tude de cas: Accs DynamoDB et DAX ...................................................................... 660Accs DynamoDB, mais aucun accs avec DAX ............................................................... 662Accs DynamoDB et DAX .......................................................................................... 664Accs DynamoDB via DAX, mais aucune accs direct DynamoDB ....................................... 668

    Utilisation des rles lis un service pour DAX ........................................................................... 670Autorisations des rles lis un service pour DAX ............................................................... 670Cration d'un rle li un service pour DAX ....................................................................... 671Modification d'un rle li un service pour DAX .................................................................. 671Suppression d'un rle li un service pour DAX .................................................................. 671

    Rfrence d'API DAX .............................................................................................................. 672Authentification et contrle d'accs .................................................................................................... 673

    Authentification ....................................................................................................................... 673Contrle d'accs ..................................................................................................................... 674Prsentation de la gestion de l'accs ......................................................................................... 674

    Oprations et ressources Amazon DynamoDB ..................................................................... 675Prsentation de la proprit des ressources ........................................................................ 675Gestion de l'accs aux ressources ..................................................................................... 676Spcification des lments d'une stratgie: actions, effets et mandataires ................................ 677

    Version de l'API 2012-08-10vii

  • Amazon DynamoDB Manuel du dveloppeur

    Spcification des conditions dans une stratgie ................................................................... 678Utilisation des stratgies bases sur une identit (stratgies IAM) ................................................... 678

    Autorisations de la console ............................................................................................... 679Stratgies gres AWS (prdfinies) pour Amazon DynamoDB .............................................. 679Exemples de stratgies gres par le client ........................................................................ 680

    Rfrence des autorisations d'API DynamoDB ............................................................................. 686Rubriques connexes ........................................................................................................ 690

    Utilisation de conditions ............................................................................................................ 690Prsentation ................................................................................................................... 690Spcification de conditions: Utilisation de cls de condition ................................................... 692Rubriques connexes ........................................................................................................ 700

    Utilisation de la fdration d'identit web .................................................................................... 700Ressources supplmentaires pour la fdration d'identit web ................................................ 700Exemple de stratgie pour la fdration d'identit web .......................................................... 701Prparation de l'utilisation de la fdration d'identit web ....................................................... 703Ecriture de votre application pour utiliser la fdration d'identit web ....................................... 704

    Surveillance de DynamoDB .............................................................................................................. 707Outils de supervision ............................................................................................................... 707

    Outils automatiques ......................................................................................................... 707Outils manuels ................................................................................................................ 708

    Supervision avec Amazon CloudWatch ....................................................................................... 708Mtriques et dimensions ................................................................................................... 709Utilisation de mtriques .................................................................................................... 723Cration d'alarmes .......................................................................................................... 724

    Journalisation des oprations DynamoDB l'aide de AWS CloudTrail .............................................. 726Informations DynamoDB dans CloudTrail ............................................................................ 726Prsentation des entres des fichiers journaux DynamoDB .................................................... 728

    Bonnes pratiques ............................................................................................................................ 733Conception NoSQL .................................................................................................................. 734

    NoSQL et SGBDR .......................................................................................................... 734Deux concepts essentiels ................................................................................................. 735Approche gnrale .......................................................................................................... 735

    Cration de cls de partition ..................................................................................................... 736Capacit de transmission en mode rafale ........................................................................... 736Capacit adaptative ......................................................................................................... 737Rpartition des charges de travail ...................................................................................... 737Partitionnement d'criture ................................................................................................. 738Tlchargement efficace des donnes ................................................................................ 740

    Conception de cls de tri ......................................................................................................... 741Contrle de version ......................................................................................................... 741

    Index secondaires ................................................................................................................... 742Consignes gnrales ....................................................................................................... 743Index fragments ............................................................................................................ 745Regroupement ................................................................................................................ 747Surcharge des GSI .......................................................................................................... 747Partitionnement d'un index secondaire global ...................................................................... 749Cration d'un rplica ........................................................................................................ 750

    lments volumineux ............................................................................................................... 751Compression .................................................................................................................. 751Utilisation d'Amazon S3 ................................................................................................... 752

    Donnes chronologiques .......................................................................................................... 752Modle de cration des donnes chronologiques ................................................................. 752Cration de flux d'vnements volume lev .................................................................... 753Exemples de tables chronologiques ................................................................................... 754

    Relations plusieurs plusieurs .................................................................................................. 756Listes adjacentes ............................................................................................................ 756Graphiques matrialiss ................................................................................................... 758

    Version de l'API 2012-08-10viii

  • Amazon DynamoDB Manuel du dveloppeur

    SGBDR DynamoDB hybride ..................................................................................................... 764Pas de migration ............................................................................................................. 764Implmentation d'un systme hybride ................................................................................. 764

    Modlisation relationnelle ......................................................................................................... 765Premiers pas .................................................................................................................. 768Exemple ........................................................................................................................ 769

    Interrogation et analyse ............................................................................................................ 771Performance pour les analyses ......................................................................................... 771viter les pics ................................................................................................................. 771Analyses parallles .......................................................................................................... 773

    Intgration d'autres services AWS ................................................................................................... 775Points de terminaison d'Amazon VPC pour DynamoDB ................................................................. 775

    Didacticiel: Utilisation d'un point de terminaison d'un VPC pour DynamoDB .............................. 777Intgration Amazon Cognito ................................................................................................... 782Intgration Amazon Redshift .................................................................................................. 784Intgration AmazonEMR ....................................................................................................... 785

    Prsentation ................................................................................................................... 785Didacticiel: Utilisation avec Amazon DynamoDB et Apache Hive ............................................ 786Cration d'une table externe dans Hive .............................................................................. 792Traitement des instructions HiveQL .................................................................................... 795Interrogation de donnes dans DynamoDB ......................................................................... 796Copie de donnes vers et depuis Amazon DynamoDB .......................................................... 797Personnalisation de performances ..................................................................................... 808

    Intgration Amazon Data Pipeline ........................................................................................... 812Prrequis l'exportation et l'importation des donnes ......................................................... 814Exportation de donnes de DynamoDB vers Amazon S3 ....................................................... 818Importation des donnes de Amazon S3 vers DynamoDB ..................................................... 819Dpannage ..................................................................................................................... 820Modles prdfinis pour AWS Data Pipeline et DynamoDB .................................................... 821

    Limites dans DynamoDB .................................................................................................................. 822Units de capacit et dbit allou .............................................................................................. 822

    Tailles des units de capacit ........................................................................................... 822Limites du dbit allou par dfaut ...................................................................................... 822Augmentation du dbit allou ............................................................................................ 823Diminution du dbit allou ................................................................................................ 823

    Tables ................................................................................................................................... 824Taille de la table ............................................................................................................. 824Tables par compte .......................................................................................................... 824

    Index secondaires ................................................................................................................... 824Index secondaires par table .............................................................................................. 824Attributs d'Index secondaire par table ................................................................................. 824

    Cls de partition et cls de tri ................................................................................................... 824Longueur de cl de partition ............................................................................................. 824Valeurs de cl de partition ................................................................................................ 824Longueur de la cl de tri .................................................................................................. 824Valeurs de cl de tri ........................................................................................................ 824

    Rgles de dnomination ........................................................................................................... 825Noms de table et noms d'Index secondaire ......................................................................... 825Noms d'attribut ................................................................................................................ 825

    Type de donnes .................................................................................................................... 825String ............................................................................................................................ 825Numro ......................................................................................................................... 825Binary ............................................................................................................................ 826

    Articles .................................................................................................................................. 826Taille de l'lment ........................................................................................................... 826Taille d'lment pour les tables avec Index local secondaire .................................................. 826

    Attributs ................................................................................................................................. 826

    Version de l'API 2012-08-10ix

  • Amazon DynamoDB Manuel du dveloppeur

    Paires nom-valeur d'attribut par lment ............................................................................. 826Nombre de valeurs dans un type List, Map ou Set ............................................................... 826Valeurs d'attribut ............................................................................................................. 827Profondeur des attributs imbriqus ..................................................................................... 827

    Paramtre d'expression ............................................................................................................ 827Longueurs ...................................................................................................................... 827Oprateurs et oprandes .................................................................................................. 827Mots rservs ................................................................................................................. 827

    Flux DynamoDB ...................................................................................................................... 827Lecteurs simultans d'une partition dans Flux DynamoDB ..................................................... 827Capacit d'criture maximum pour une table avec un flux activ ............................................. 828

    DynamoDBAccelerator (DAX) ................................................................................................... 828Disponibilit des rgions AWS .......................................................................................... 828Nuds .......................................................................................................................... 828Groupes de paramtres ................................................................................................... 828Groupes de sous-rseaux ................................................................................................ 828

    Limites propres l'API ............................................................................................................. 828Annexe .......................................................................................................................................... 830

    Rsolution des problmes d'tablissement de la connexion SSL/TLS .............................................. 830Test de votre application ou service ................................................................................... 830Test du navigateur du client .............................................................................................. 831Mise jour du client de l'application logiciel ........................................................................ 831Mise jour du navigateur du client .................................................................................... 831Mise jour manuelle de vos ensembles de certificats ........................................................... 831

    Exemples de tables et de donnes ............................................................................................ 832Exemples de fichiers de donnes ...................................................................................... 833

    Cration d'exemples de table et de chargement de donnes .......................................................... 841Cration d'exemples de table et de chargement de donnes-Java ......................................... 842Cration d'exemples de table et de chargement de donnes-.NET ........................................ 848

    Exemple d'application l'aide d'AWSSDK pour Python (Boto) ....................................................... 856tape 1: Dploiement et test localement ............................................................................ 857tape 2: Examen du modle de donnes et des dtails de la mise en uvre ........................... 861tape3: Dploiement en production .................................................................................. 867tape4: Nettoyage des ressources ................................................................................... 874

    Back-end de stockage Amazon DynamoDB pour Titan .................................................................. 874Mots rservs dans DynamoDB ................................................................................................ 874Paramtres conditionnels hrits ............................................................................................... 883

    AttributesToGet ............................................................................................................... 884AttributeUpdates .............................................................................................................. 885ConditionalOperator ......................................................................................................... 887Expected ........................................................................................................................ 887KeyConditions ................................................................................................................. 890QueryFilter ..................................................................................................................... 892ScanFilter ....................................................................................................................... 894Ecriture de conditions avec les paramtres existants ............................................................ 895

    Version actuelle de l'API de bas niveau (2012-08-10) ................................................................... 901Version prcdente de l'API de bas niveau (2011-12-05) ............................................................... 901

    BatchGetItem .................................................................................................................. 902BatchWriteItem ............................................................................................................... 907CreateTable .................................................................................................................... 912DeleteItem ...................................................................................................................... 917DeleteTable .................................................................................................................... 921Dcrire des tables ........................................................................................................... 924GetItem ......................................................................................................................... 927ListTables ...................................................................................................................... 930PutItem .......................................................................................................................... 932Interrogation ................................................................................................................... 937

    Version de l'API 2012-08-10x

  • Amazon DynamoDB Manuel du dveloppeur

    Analyser ........................................................................................................................ 946UpdateItem ..................................................................................................................... 958UpdateTable ................................................................................................................... 964

    Historique du document ................................................................................................................... 968

    Version de l'API 2012-08-10xi

  • Amazon DynamoDB Manuel du dveloppeur

    Qu'est-ce que Amazon DynamoDB?Bienvenue dans le Amazon DynamoDB Guide du dveloppeur.

    Amazon DynamoDB est un service de base de donnes NoSQL intgralement gr, qui offre desperformances prvisibles et rapides, ainsi qu'une extensibilit transparente. Comme DynamoDBvous permet de ne pas avoir assurer les charges administratives lies au fonctionnement et audimensionnement d'une base de donnes distribue, vous n'avez pas vous soucier de la mise en service,du paramtrage, de la configuration et de la rplication du matriel, ainsi que des correctifs logiciels ou dudimensionnement des clusters. DynamoDB offre galement le chiffrement au repos, qui limine la lourdeuroprationnelle et la complexit induites par la protection des donnes sensibles. Pour plus d'informations,consultez Chiffrement au repos Amazon DynamoDB (p. 591).

    Avec DynamoDB, vous pouvez crer des tables de base de donnes capables de stocker et de rcuprern'importe quelle quantit de donnes, ainsi que de traiter n'importe quel niveau de trafic de demande.Vous pouvez augmenter ou diminuer la capacit de dbit de vos tables sans temps d'arrt ou dgradationdes performances, et utiliser AWS Management Console pour surveiller les mtriques de performance etl'utilisation des ressources.

    Amazon DynamoDB offre des possibilits de sauvegarde la demande. Elle vous permet de crer dessauvegardes compltes de vos tables pour l'archivage et la conservation long terme, des fins deconformit rglementaire. Pour plus d'informations, consultez Sauvegarde et restauration la demandepour DynamoDB (p. 565).

    DynamoDB vous permet de supprimer automatiquement les lments expirs des tables afin de vous aider rduire l'utilisation du stockage et le cot de stockage des donnes qui ne sont plus pertinentes. Pourplus d'informations, consultez Dure de vie (p. 374).

    DynamoDB rpartit automatiquement les donnes et le trafic de vos tables sur un nombre suffisantde serveurs pour grer vos besoins en dbit et en stockage, tout en assurant des performancesrgulires et rapides. Tous vos donnes sont stockes sur des disques SSD (Solid State Drive) et sontautomatiquement rpliques sur plusieurs zones de disponibilit d'une rgion AWS pour fournir unehaute disponibilit et une durabilit des donnes intgres. Vous pouvez utiliser les tables globales pourprserver la synchronisation des tables DynamoDB dans les rgions AWS. Pour plus d'informations,consultez Tables globales (p. 582).

    Nous vous recommandons de commencer par lire les sections suivantes:

    Amazon DynamoDB: fonctionnement (p. 2)Pour dcouvrir les concepts essentiels relatifs DynamoDB.

    Configuration d'DynamoDB (p. 44)Pour apprendre configurer DynamoDB (version tlchargeableou service web).

    Accs DynamoDB (p. 51)Pour apprendre accder DynamoDB l'aide de la console, del'interface de ligne de commande ou de l'API.

    Pour dmarrer rapidement avec DynamoDB, consultez Mise en route sur DynamoDB (p. 55).

    Pour en savoir plus sur le dveloppement des applications, consultez:

    Programmation avec DynamoDB et les kits AWS SDK (p. 186) Utilisation d'DynamoDB (p. 301)

    Version de l'API 2012-08-101

  • Amazon DynamoDB Manuel du dveloppeurFonctionnement

    Pour trouver rapidement les recommandations sur l'optimisation des performances et la rduction descots de dbit, consultez Bonnes pratiques pour DynamoDB (p. 733). Pour apprendre baliser lesressources DynamoDB, consultez Balisage pour DynamoDB (p. 324).

    Pour accder aux bonnes pratiques, aux outils et aux manuels de procdures, consultez la pageDynamoDB: http://aws.amazon.com/dynamodb/developer-resources/.

    Vous pouvez utiliser AWSDatabaseMigrationService pour migrer des donnes de RDS ou MongoDBvers une table Amazon DynamoDB. Pour plus d'informations, consultez le Guide de l'utilisateurAWSDatabaseMigrationService. Pour apprendre utiliser MongoDB comme source de migration,consultez Utilisation de MongoDB comme source pour AWS Database Migration Service. Pour apprendre utiliser DynamoDB comme cible de migration, consultez Utilisation d'une base de donnes AmazonDynamoDB comme cible pour AWS Database Migration Service.

    Amazon DynamoDB: fonctionnementLes sections suivantes fournissent une vue d'ensemble des composants du service Amazon DynamoDB etde leur interaction.

    Une fois que vous avez lu cette introduction, essayez de parcourir la section Cration de tables etchargement d'exemples de donnes (p. 290), qui vous guide travers le processus de crationd'exemples de tables, de chargement de donnes et d'excution de certaines oprations lmentaires debase de donnes.

    Pour obtenir des didacticiels spcifiques au langage avec des exemples de code, consultez Mise en routesur DynamoDB (p. 55).

    Rubriques Composants de base DynamoDB (p. 2) L'API DynamoDB (p. 10) Rgles de dnomination et types de donnes (p. 12) Cohrence en lecture (p. 16) Capacit de dbit pour la lecture et l'criture (p. 17) Partitions et distribution des donnes (p. 20)

    Composants de base DynamoDBDans DynamoDB, les tables, les lments et les attributs sont les principaux composants que vous utilisez.Une table est un ensemble d'lments et chaque lment est un ensemble d'attributs. DynamoDB utiliseles cls primaires pour identifier de faon unique chaque lment d'une table et les index secondaires pourfournir une plus grande flexibilit d'interrogation. Vous pouvez utiliser Flux DynamoDB pour capturer lesvnements de modification des donnes des tables DynamoDB.

    Il existe des limites dans DynamoDB. Pour plus d'informations, consultez Limites dansDynamoDB (p. 822).

    Rubriques Tables, lments et attributs (p. 3) Cl primaire (p. 6) Index secondaires (p. 7)

    Version de l'API 2012-08-102

    https://aws.amazon.com/dynamodb/developer-resources/http://docs.aws.amazon.com/dms/latest/userguide/http://docs.aws.amazon.com/dms/latest/userguide/http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.htmlhttp://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.htmlhttp://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html

  • Amazon DynamoDB Manuel du dveloppeurComposants de base

    Flux DynamoDB (p. 9)

    Tables, lments et attributsVoici les composants de base de DynamoDB:

    Tables: de mme que les autres systmes de base de donnes, DynamoDB stocke les donnes dansdes tables. Une table est un ensemble de donnes. Par exemple, consultez l'exemple de table appelePeople que vous pouvez utiliser pour stocker les informations sur vos amis, votre famille ou toute autrepersonne de votre choix. Vous pouvez galement avoir une table Cars pour stocker les informations surles vhicules que les personnes conduisent.

    Elments Chaque table contient zro ou plusieurs lments. Un lment est un groupe d'attributsidentifiable de faon unique parmi tous les autres lments. Dans une table People, chaque lmentreprsente une personne. Pour une table Cars, chaque lment reprsente un vhicule. Les lmentsdans DynamoDB sont similaires en de nombreux points aux lignes, enregistrements ou tuples des autressystmes de base de donnes. Dans DynamoDB, il n'existe pas de limite au nombre d'lments quevous pouvez stocker dans une table.

    Attributs: chaque lment se compose d'un ou de plusieurs attributs. Un attribut est un lment dedonne fondamental, qui n'a pas besoin d'tre dcompos plus avant. Par exemple, un lment d'unetable People contient les attributs appels PersonID, LastName, FirstName, et ainsi de suite. Pour unetable Department, un lment peut avoir des attributs tels que DepartmentID, Name,Manager, et ainsi desuite. Les attributs de DynamoDB sont similaires en de nombreux points aux champs ou colonnes desautres systmes de base de donnes.

    Le schma suivant montre une table nomme Personnes avec certains exemples d'lments et d'attributs.

    Version de l'API 2012-08-103

  • Amazon DynamoDB Manuel du dveloppeurComposants de base

    Notez ce qui suit propos de la table Personnes:

    Chaque lment de la table possde un identifiant unique, ou cl primaire, qui distingue l'lment de tousles autres lments de la table. Dans la table Personnes, la cl primaire se compose d'un seul attribut(IDPersonne).

    En dehors de la cl primaire, la table Personnes est sans schma, ce qui signifie que ni les attributs nileurs types de donnes ne doivent tre dfinis au pralable. Chaque lment peut avoir ses propresattributs distincts.

    La plupart des attributs sont scalaires, ce qui signifie qu'ils ne peuvent avoir qu'une seule valeur. Leschanes et les nombres sont des exemples courants de scalaires.

    Certains lments ont un attribut imbriqu (Adresse). DynamoDB prend en charge les attributs imbriqusjusqu' 32 niveaux de profondeur.

    Ce qui suit est un autre exemple de table nomme Musique que vous pouvez utiliser pour effectuer le suivide votre collection musicale.

    Version de l'API 2012-08-104

  • Amazon DynamoDB Manuel du dveloppeurComposants de base

    Notez ce qui suit propos de la table Musique:

    La cl primaire de la table Musique se compose de deux attributs (Artiste et TitreDeChanson). Chaquelment de la table doit avoir ces deux attributs. La combinaison de Artiste et de TitreDeChansondistingue chaque lment de la table de tous les autres.

    En dehors de la cl primaire, la table Musique est sans schma, ce qui signifie que ni les attributs ni leurstypes de donnes ne doivent tre dfinis au pralable. Chaque lment peut avoir ses propres attributsdistincts.

    L'un des lments a un attribut imbriqu (PromotionInfo), qui contient les autres attributs imbriqus.DynamoDB prend en charge les attributs imbriqus jusqu' 32 niveaux de profondeur.

    Version de l'API 2012-08-105

  • Amazon DynamoDB Manuel du dveloppeurComposants de base

    Pour plus d'informations, consultez Utilisation de tables dans DynamoDB (p. 301).

    Cl primaireLorsque vous crez une table, en plus du nom de la table, vous devez spcifier la cl primaire de la table.La cl primaire identifie de manire unique chaque lment de la table, afin qu'aucun deux lments n'ait lamme cl.

    DynamoDB prend en charge deux diffrents types de cls primaires:

    Cl de partition: cl primaire simple, compose d'un attribut appel cl de partition.

    DynamoDB utilise la valeur de la cl de partition comme entre d'une fonction de hachage interne. Lasortie de la fonction de hachage dtermine la partition (stockage physique interne de DynamoDB) danslaquelle l'lment est stock.

    Dans une table comportant une seule cl de partition, deux lments d'une table ne peuvent pas avoir lamme valeur de cl de partition.

    La table Personnes dcrite dans Tables, lments et attributs (p. 3) est un exemple de table avecune cl primaire simple (IDPersonne). Vous pouvez accder directement n'importe quel lment de latable Personnes en fournissant la valeur IDPersonne de cet lment.

    Cl de partition et cl de tri: dfini comme cl primaire composite, ce type de cl se compose de deuxattributs. Le premier attribut est la cl de partition et le second attribut est la cl de tri.

    DynamoDB utilise la valeur de la cl de partition comme entre d'une fonction de hachage interne. Lasortie de la fonction de hachage dtermine la partition (stockage physique interne de DynamoDB) danslaquelle l'lment est stock. Tous les lments avec la mme cl de partition sont stocks ensemble,dans l'ordre par valeur de cl de tri.

    Dans une table comportant une cl de partition et une cl de tri, deux lments d'une table peuvent avoirla mme valeur de cl de partition. Toutefois, ces deux lments doivent avoir des valeurs de cl de tridiffrentes.

    La table Musique dcrite dans Tables, lments et attributs (p. 3) est un exemple de table avec unecl primaire composite (Artiste et TitreDeChanson). Vous pouvez accder directement n'importe quellment de la table Musique, si vous fournissez les valeurs Artiste et TitreDeChanson de cet lment.

    Une cl primaire composite vous offre plus de flexibilit lors de l'interrogation des donnes. Par exemple,si vous fournissez uniquement la valeur pour Artist, DynamoDB rcupre tous les morceaux de cetartiste. Pour rcuprer uniquement un sous-ensemble de titres d'un artiste en particulier, vous pouvezfournir une valeur pour Artiste et une plage de valeurs TitreDeChanson.

    Note

    La cl de partition d'un lment est galement appele attribut de hachage. Le terme attribut dehachage drive de l'utilisation dans DynamoDB d'une fonction de hachage interne qui rpartituniformment les lments de donnes entre les partitions, en fonction de leurs valeurs de cl departition.La cl de tri d'un lment est galement appele attribut de plage. Le terme attribut deplage drive de la faon dont DynamoDB stocke les lments avec la mme cl de partitionphysiquement proches les uns des autres, dans l'ordre de la valeur de la cl de tri.

    Chaque attribut de cl primaire doit tre un scalaire (ce qui signifie qu'il ne peut contenir qu'une seulevaleur). Les seuls types de donnes autoriss pour les attributs de cl primaires sont string, number oubinary. Il n'y a aucune restriction semblable pour les autres attributs non-cls.

    Version de l'API 2012-08-106

  • Amazon DynamoDB Manuel du dveloppeurComposants de base

    Index secondairesVous pouvez crer un ou plusieurs index secondaires sur une table. Un index secondaire vous permetd'interroger les donnes de la table l'aide d'une cl secondaire, en plus des requtes sur la cl primaire.DynamoDB ne requiert pas que vous utilisiez des index, mais ceux-ci offrent vos applications plus deflexibilit lorsqu'il s'agit d'interroger vos donnes. Une fois que vous avez cr un index secondaire sur unetable, vous pouvez lire les donnes partir de l'index de la mme faon que vous le feriez partir de latable.

    DynamoDB prend en charge deux types d'index:

    Global secondary index: un index avec une cl de partition et une cl de tri qui peuvent tre diffrentesde celles de la table.

    Index secondaire local: un index possdant la mme cl de partition que la table, mais une cl de tridiffrente.

    Vous pouvez dfinir jusqu' 5 index secondaires globaux et 5 index secondaires locaux par table.

    Dans l'exemple de table Musique prcdent, vous pouvez interroger les lments de donnes par Artiste(cl de partition) ou par Artiste et TitreDeChanson (cl de partition et cl de tri). Que faire si vous souhaitezgalement interroger les donnes par Genre et TitreAlbum? Pour ce faire, vous pouvez crer un index surGenre et TitreAlbum, puis interroger l'index peu prs de la mme manire que vous interrogeriez la tableMusique.

    Le schma suivant illustre la table Musique avec un nouvel index appel GenreAlbumTitre. Dans l'index,Genre est la cl de partition et TitreAlbum est la cl de tri.

    Version de l'API 2012-08-107

  • Amazon DynamoDB Manuel du dveloppeurComposants de base

    Notez ce qui suit propos de l'index GenreTitreAlbum:

    Chaque index appartient une table, qui est appele la table de base de l'index. Dans l'exempleprcdent, Musique est la table de base de l'index GenreTitreAlbum.

    Version de l'API 2012-08-108

  • Amazon DynamoDB Manuel du dveloppeurComposants de base

    DynamoDB gre les index automatiquement. Lorsque vous ajoutez, mettez jour ou supprimez unlment de la table de base, DynamoDB ajoute, met jour ou supprime l'lment correspondant dansles index qui appartiennent cette table.

    Lorsque vous crez un index, vous spcifiez quels attributs seront copis, ou projets, depuis la tablede base vers l'index. Au minimum, DynamoDB projette les attributs cls de la table de base vers l'index.Tel est le cas avec GenreAlbumTitle, o seuls les attributs cls de la table Music sont projets dansl'index.

    Vous pouvez interroger l'index GenreAlbumTitle pour rechercher tous les albums d'un genre particulier(par exemple, tous les albums Rock). Vous pouvez galement interroger l'index pour rechercher tous lesalbums dans un genre particulier avec certains titres d'album (par exemple, tous les albums Country dontles titres commencent par la lettre H).

    Pour de plus amples informations, veuillez consulter Amlioration de l'accs aux donnes avec les indexsecondaires (p. 459).

    Flux DynamoDBFlux DynamoDB est une fonction facultative qui capture les vnements de modification de donnes dansles tables DynamoDB. Les donnes sur ces vnements apparaissent dans le flux de donnes presque entemps rel et dans l'ordre o les vnements se sont produits.

    Chaque vnement est reprsent par un enregistrement de flux. Si vous activez un flux de donnes surune table, Flux DynamoDB crit un enregistrement de flux chaque fois que l'un des vnements suivantsse produit:

    Un nouvel lment est ajout la table: Le flux capture une image de la totalit de l'lment, y comprisl'ensemble de ses attributs.

    Un lment est mis jour: Le flux capture l'image avant et aprs des attributs qui ont tmodifis dans l'lment.

    Un lment est supprim de la table: Le flux saisit une image de la totalit de l'lment avant qu'il n'aitt supprim.

    Chaque enregistrement de flux contient aussi le nom de la table, l'horodatage de l'vnement et autresmtadonnes. Les enregistrements de flux ont une dure de vie de 24heures; pass ce dlai, ils sontautomatiquement supprims du flux.

    Vous pouvez utiliser Flux DynamoDB avec AWS Lambda pour crer un dclencheur (code qui s'excuteautomatiquement chaque fois qu'un vnement d'intrt apparat dans un flux). Par exemple, imaginonsune table Clients qui contient les informations client d'une entreprise. Supposons que vous souhaitiezenvoyer un e-mail de bienvenue chaque nouveau client. Vous pouvez activer un flux de donnes surcette table, puis associer le flux une fonction Lambda. La fonction Lambda s'excute chaque fois qu'unnouvel enregistrement de flux s'affiche, mais traite uniquement les nouveaux lments ajouts la tableClients. Pour tout lment ayant un attribut AdresseEmail, la fonction Lambda appelle Amazon SimpleEmail Service (Amazon SES) pour envoyer un e-mail cette adresse.

    Version de l'API 2012-08-109

  • Amazon DynamoDB Manuel du dveloppeurL'API DynamoDB

    Note

    Dans cet exemple, le dernier client, Craig Roe, ne reoit pas d'e-mail, car il n'a pas d'attributEmailAddress.

    En plus des dclencheurs, Flux DynamoDB permet des solutions puissantes telles que la rplicationde donnes au sein des rgions AWS ou entre elles, les vues matrialises des donnes des tablesDynamoDB, l'analyse des donnes l'aide des vues matrialises Kinesis et plus encore.

    Pour plus d'informations, consultez Capture d'activit Table avec Flux DynamoDB (p. 535).

    L'API DynamoDBPour utiliser Amazon DynamoDB, votre application doit utiliser quelques oprations d'API simples. Voici unrsum de ces oprations, classes par catgorie.

    Rubriques Plan de contrle (p. 11) Plan de donnes (p. 11) Flux DynamoDB (p. 12)

    Version de l'API 2012-08-1010

  • Amazon DynamoDB Manuel du dveloppeurL'API DynamoDB

    Plan de contrleLes oprations de plan de contrle vous permettent de crer et de grer des tables DynamoDB. Elles vouspermettent galement d'utiliser les index, les flux et autres objets qui dpendent des tables.

    CreateTable: cre une table. Le cas chant, vous pouvez crer un ou plusieurs index secondaires,puis activer Flux DynamoDB pour la table.

    DescribeTable: retourne des informations sur une table, telles que son schma de cl primaire, sesparamtres de dbit, ses informations d'index, et ainsi de suite.

    ListTables: retourne les noms de toutes vos tables dans une liste. UpdateTable: modifie les paramtres d'une table ou de ses index, cre ou supprime de nouveaux

    index sur une table, ou modifie les paramtres Flux DynamoDB pour une table. DeleteTable: supprime une table et tous ses objets dpendants de DynamoDB.

    Plan de donnesLes oprations de plan de donnes vous permettent d'excuter les oprations de cration, lecture, mise jour et suppression (galement appeles oprations CRUD) sur les donnes d'une table. Certainesoprations de plan de donnes vous permettent galement de lire les donnes partir d'un indexsecondaire.

    Cration de donnes

    PutItem: crit un seul lment sur une table. Vous devez spcifier les attributs de cl primaire, maisvous n'avez pas spcifier d'autres attributs.

    BatchWriteItem: crit jusqu' 25 lments sur une table. Cette solution est plus efficace que l'appelrpt de PutItem parce que votre application a uniquement besoin d'un seul aller-retour rseaupour crire les lments. Vous pouvez galement utiliser BatchWriteItem pour supprimer plusieurslments d'une ou de plusieurs tables.

    Lecture de donnes

    GetItem: extrait un seul lment d'une table. Vous devez spcifier la cl primaire de l'lment que vousvoulez. Vous pouvez rcuprer l'lment entier ou juste un sous-ensemble de ses attributs.

    BatchGetItem: rcupre jusqu' 100 lments partir d'une ou de plusieurs tables. Cette solution estplus efficace que l'appel rpt de GetItem parce que votre application a uniquement besoin d'un seulaller-retour rseau pour lire les lments.

    Query: rcupre tous les lments ayant une cl de partition spcifique. Vous devez spcifier la valeurde la cl de partition. Vous pouvez rcuprer des lments entiers, ou juste un sous-ensemble de leursattributs. Le cas chant, vous pouvez appliquer une condition aux valeurs de cl de tri, afin de rcupreruniquement un sous-ensemble des donnes ayant la mme cl de partition. Vous pouvez utiliser cetteopration sur une table, condition que la table ait une cl de partition et une cl de tri. Vous pouvezgalement utiliser cette opration sur un index, condition que l'index ait une cl de partition et une clde tri.

    Scan: rcupre tous les lments de la table ou de l'index spcifi. Vous pouvez rcuprer deslments entiers, ou juste un sous-ensemble de leurs attributs. Le cas chant, vous pouvez appliquerune condition de filtre pour renvoyer uniquement les valeurs qui vous intressent et ignorer les autres.

    Mise jour de donnes

    UpdateItem: modifie un ou plusieurs attributs d'un lment. Vous devez spcifier la cl primaire del'lment que vous voulez modifier. Vous pouvez ajouter de nouveaux attributs et modifier ou supprimer

    Version de l'API 2012-08-1011

  • Amazon DynamoDB Manuel du dveloppeurRgles de dnomination et types de donnes

    des attributs existants. Vous pouvez galement effectuer des mises jour conditionnelles, afin que lamise jour ne russisse que lorsqu'une condition dfinie par l'utilisateur est remplie. Le cas chant,vous pouvez mettre en place un compteur atomique, qui augmente ou diminue un attribut numriquesans interfrer avec d'autres demandes d'criture.

    Suppression des donnes

    DeleteItem: supprime un seul lment d'une table. Vous devez spcifier la cl primaire de l'lmentque vous voulez supprimer.

    BatchWriteItem: supprime jusqu' 25 lments d'une ou de plusieurs tables. Cette solution est plusefficace que l'appel rpt de DeleteItem parce que votre application a uniquement besoin d'un seulaller-retour rseau pour supprimer les lments. Vous pouvez galement utiliser BatchWriteItem pourajouter plusieurs lments une ou plusieurs tables.

    Flux DynamoDBLes oprations Flux DynamoDB vous permettent d'activer ou de dsactiver un flux sur une table, etd'autoriser l'accs aux enregistrements de modification des donnes contenus dans un flux.

    ListStreams: retourne une liste de tous vos flux, ou simplement le flux d'une table spcifique. DescribeStream: retourne des informations sur un flux, telles que son Amazon Resource Name

    (ARN) et l'emplacement o votre application peut commencer lire les tout premiers enregistrements deflux.

    GetShardIterator: retourne un itrateur de partition, lequel est une structure de donnes que votreapplication utilise pour extraire les enregistrements du flux.

    GetRecords: rcupre un ou plusieurs enregistrements de flux, l'aide d'un itrateur de partitiondonn.

    Rgles de dnomination et types de donnesCette section dcrit les rgles de dnomination DynamoDB et les diffrents types de donnes queDynamoDB prend en charge. Des limites s'appliquent aux types de donnes. Pour de plus amplesinformations, veuillez consulter Type de donnes (p. 825).

    Rubriques Rgles de dnomination (p. 12) Type de donnes (p. 13)

    Rgles de dnominationLes tables, les attributs et autres objets de DynamoDB doivent avoir des noms. Les noms doivent tresignificatifs et concis: par exemple, les noms comme Produits, Livres et Auteurs sont explicites.

    Voici les rgles de dnomination de DynamoDB:

    Tous les noms doivent tre cods l'aide d'UTF-8 et sont sensibles la casse. Les noms de table et les noms d'index doivent tre compris entre 3 et 255caractres, et peuvent

    contenir uniquement les caractres suivants: a-z A-Z 0-9

    Version de l'API 2012-08-1012

  • Amazon DynamoDB Manuel du dveloppeurRgles de dnomination et types de donnes

    _ (soulignement) - (tiret) . (point)

    Les noms d'attribut peuvent comporter entre 1 et 255caractres.

    Mots rservs et caractres spciaux

    DynamoDB comporte une liste de mots rservs et de caractres spciaux. Pour obtenir la liste compltedes mots rservs dans DynamoDB, consultez Mots rservs dans DynamoDB (p. 874). Les caractressuivants ont galement une signification spciale dans DynamoDB: # (dise) et : (deux points).

    Mme si DynamoDB vous permet d'utiliser ces mots rservs et ces caractres spciaux pour les noms,nous vous recommandons de l'viter, car vous devez dfinir les variables d'espace rserv chaque foisque vous utilisez ces noms dans une expression. Pour de plus amples informations, veuillez consulterExpression de noms d'attributs (p. 353).

    Type de donnesDynamoDB prend en charge diffrents types de donnes pour les attributs d'une table. Ils peuvent treclasss comme suit:

    Types scalar: un type scalar peut reprsenter exactement une valeur. Les types scalar sont lessuivants: number, string, binary, Boolean et null.

    Types document: un type document peut reprsenter une structure complexe avec des attributsimbriqus, comme vous en trouvez dans un document JSON. Les types document sont les suivants: listet map.

    Types set: un type set peut reprsenter plusieurs valeurs scalaires. Les types set sont les suivants:string set, number set et binary set.

    Lorsque vous crez une table ou un index secondaire, vous devez spcifier les noms et les types dedonnes de chaque attribut de cl primaire (cl de partition et cl de tri). En outre, chaque attribut de clprimaire doit tre dfini en tant que type string, number ou binary (chane, nombre ou binaire).

    DynamoDB est une base de donnes NoSQL et est sans schma. Cela signifie que, en dehors desattributs de cl primaire, vous n'avez pas besoin de dfinir d'attributs ou de types de donnes lorsque vouscrez des tables. En comparaison, les bases de donnes relationnelles ncessitent que vous dfinissiezles noms et les types de donnes de chaque colonne lorsque vous crez une table.

    Les descriptions suivantes concernent chaque type de donnes, ainsi que des exemples au format JSON.

    Types scalar

    Les types scalar sont les suivants: number, string, binary, Boolean et null.

    String

    Les chanes sont Unicode avec codage binaire UTF-8. La longueur d'une chane doit tre suprieure zroet est contrainte par la taille limite maximale 400 KB d'un lment DynamoDB.

    Les contraintes supplmentaires suivantes s'appliquent aux attributs de cl primaire dfinis comme typestring (chane):

    Pour une cl primaire simple, la longueur maximale de la premire valeur d'attribut (la cl de partition) est2048 bytes.

    Version de l'API 2012-08-1013

  • Amazon DynamoDB Manuel du dveloppeurRgles de dnomination et types de donnes

    Pour une cl primaire composite, la longueur maximale de la deuxime valeur d'attribut (la cl de tri) est1024 bytes.

    DynamoDB rassemble et compare les chanes l'aide des octets de l'encodage de chane UTF-8sous-jacent. Par exemple, a (0x61) est suprieur A (0x41) et (0xC2BF) est suprieur z (0x7A).

    Vous pouvez utiliser le type de donnes String pour reprsenter une date ou un horodatage. Une solutionpour cela consiste utiliser les chanes ISO8601, comme illustr dans ces exemples:

    2016-02-15 2015-12-21T17:42:34Z 20150311T122706Z

    Pour plus d'informations, consultez http://en.wikipedia.org/wiki/ISO_8601.

    Numro

    Les nombres peuvent tre positifs, ngatifs ou nuls. La prcision maximum des nombres est de 38chiffres.Tout dpassement entrane une exception.

    Plage positive: 1E-130 9,9999999999999999999999999999999999999E+125 Plage ngative: -9,9999999999999999999999999999999999999E+125 -1E-130

    Dans DynamoDB, les nombres sont reprsents sous forme de longueur variable. Les zros de dbut et defin sont tronqus.

    Tous les nombres sont envoys DynamoDB via le rseau sous forme de chanes, afin d'optimiser lacompatibilit entre les langages et les bibliothques. Toutefois, DynamoDB les traite comme attributs detype numrique pour les oprations mathmatiques.

    Note

    Si la prcision numrique est importante, passez les nombres DynamoDB l'aide de chanesque vous convertissez partir du type number.

    Vous pouvez utiliser le type de donnes Number pour reprsenter une date ou un horodatage. Une faonde procder consiste utiliser l'heure Posix, savoir le nombre de secondes depuis le 1er janvier1970,00:00:00 UTC. Par exemple, l'heure Posix 1437136300 correspond au 17 juillet2015, 12:31:40 UTC.

    Pour plus d'informations, consultez la page http://fr.wikipedia.org/wiki/Heure_Unix.

    Binary

    Les attributs de type binary peuvent stocker n'importe quelle donne binaire, telle que texte compress,donnes chiffres ou images. Chaque fois que DynamoDB compare les valeurs binaires, il traite chaqueoctet de donnes binaires comme non sign.

    La longueur d'un attribut de type binary doit tre suprieure zro; il est contraint par la taille limitemaximale 400 KB d'un lment DynamoDB.

    Si vous dfinissez un attribut de cl primaire comme attribut de type binary (binaire), les contraintessupplmentaires suivantes s'appliquent:

    Pour une cl primaire simple, la longueur maximale de la premire valeur d'attribut (la cl de partition) est2048 bytes.

    Version de l'API 2012-08-1014

    http://en.wikipedia.org/wiki/ISO_8601http://en.wikipedia.org/wiki/Unix_time

  • Amazon DynamoDB Manuel du dveloppeurRgles de dnomination et types de donnes

    Pour une cl primaire composite, la longueur maximale de la deuxime valeur d'attribut (la cl de tri) est1024 bytes.

    Vos applications doivent encoder les valeurs binaires au format cod en base64 avant de les envoyer DynamoDB A la r