Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Tutorial: creazione di una tabella globale

Modalità Focus
Tutorial: creazione di una tabella globale - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

In questa sezione viene descritto come creare una tabella globale utilizzando la console Amazon DynamoDB o AWS Command Line Interface (AWS CLI).

Argomenti

    Segui questi passaggi per creare una tabella globale utilizzando AWS Management Console. Il seguente esempio consente di creare una tabella globale con le tabelle di replica negli Stati Uniti e in Europa.

    1. Apri la console DynamoDB a casa. https://console.aws.amazon.com/dynamodb/ Per questo esempio, scegli la regione Stati Uniti orientali (Ohio).

    2. Nel riquadro di navigazione sul lato sinistro della console scegli Tables (Tabelle).

    3. Scegliere Create Table (Crea tabella).

    4. Nella pagina Crea tabella, procedi come segue:

      1. Nel campo Table name (Nome tabella) immetti Music.

      2. In Partition key (Chiave di partizione), inserisci Artist.

      3. Per il tasto Sort, immettereSongTitle.

      4. Mantieni la selezione predefinita di String sia per la chiave di partizione che per la chiave di ordinamento.

      5. Mantieni le altre selezioni predefinite nella pagina, quindi scegli Crea tabella.

        Questa nuova tabella funge da prima tabella di replica in una nuova tabella globale. È il prototipo per altre tabelle di replica che aggiungerai in seguito.

    5. Nella pagina Tabelle, scegli la tabella Music appena creata, quindi procedi come segue:

      1. Scegli la scheda Tabelle globali, quindi scegli Crea replica.

      2. Nell'elenco a discesa Regioni di replica disponibili, selezionare US West (Oregon) us-west-2.

        La console verifica che non esista una tabella con lo stesso nome nella regione selezionata. Se esiste una tabella con lo stesso nome, è necessario eliminare la tabella esistente prima di poter creare una nuova tabella di replica in quella regione.

      3. Scegliere Crea replica. Questo avvia il processo di creazione della tabella nella regione us-west-2 degli Stati Uniti occidentali (Oregon).

        La scheda Tabelle globali per la tabella Music (e per qualsiasi altra tabella di replica) mostra che la tabella è stata replicata in più regioni.

      4. Aggiungi un'altra regione in modo che la tabella globale venga replicata e sincronizzata negli Stati Uniti d'America e in Europa. A tale scopo, ripeti il passaggio 5.b, ma questa volta specifica Europe (Frankfurt) eu-central-1 anziché US West (Oregon) us-west-2.

    6. Assicurati di continuare a utilizzare la regione Stati Uniti orientali ( AWS Management Console Ohio). Successivamente, esegui queste operazioni:

      1. Scegli Explore table items (Esplora elementi della tabella).

      2. Scegli Crea elemento.

      3. In Artist, digita item_1.

      4. In SongTitle, immettere Song Value 1.

      5. Per salvare l'articolo, scegli Crea articolo.

    7. Dopo un breve periodo, l'item viene replicato in tutte e tre le regioni della tabella globale. Per verificarlo, nella console o con il selettore della regione in alto a destra, scegli Europa (Francoforte). Il tavolo Music in Europe (Francoforte) dovrebbe contenere il nuovo elemento.

    8. Ripeti il passaggio 7 e scegli Stati Uniti occidentali (Oregon) per verificare la replica in quella regione.

    Segui questi passaggi per creare una tabella globale utilizzando AWS Management Console. Il seguente esempio consente di creare una tabella globale con le tabelle di replica negli Stati Uniti e in Europa.

    1. Apri la console DynamoDB a casa. https://console.aws.amazon.com/dynamodb/ Per questo esempio, scegli la regione Stati Uniti orientali (Ohio).

    2. Nel riquadro di navigazione sul lato sinistro della console scegli Tables (Tabelle).

    3. Scegliere Create Table (Crea tabella).

    4. Nella pagina Crea tabella, procedi come segue:

      1. Nel campo Table name (Nome tabella) immetti Music.

      2. In Partition key (Chiave di partizione), inserisci Artist.

      3. Per il tasto Sort, immettereSongTitle.

      4. Mantieni la selezione predefinita di String sia per la chiave di partizione che per la chiave di ordinamento.

      5. Mantieni le altre selezioni predefinite nella pagina, quindi scegli Crea tabella.

        Questa nuova tabella funge da prima tabella di replica in una nuova tabella globale. È il prototipo per altre tabelle di replica che aggiungerai in seguito.

    5. Nella pagina Tabelle, scegli la tabella Music appena creata, quindi procedi come segue:

      1. Scegli la scheda Tabelle globali, quindi scegli Crea replica.

      2. Nell'elenco a discesa Regioni di replica disponibili, selezionare US West (Oregon) us-west-2.

        La console verifica che non esista una tabella con lo stesso nome nella regione selezionata. Se esiste una tabella con lo stesso nome, è necessario eliminare la tabella esistente prima di poter creare una nuova tabella di replica in quella regione.

      3. Scegliere Crea replica. Questo avvia il processo di creazione della tabella nella regione us-west-2 degli Stati Uniti occidentali (Oregon).

        La scheda Tabelle globali per la tabella Music (e per qualsiasi altra tabella di replica) mostra che la tabella è stata replicata in più regioni.

      4. Aggiungi un'altra regione in modo che la tabella globale venga replicata e sincronizzata negli Stati Uniti d'America e in Europa. A tale scopo, ripeti il passaggio 5.b, ma questa volta specifica Europe (Frankfurt) eu-central-1 anziché US West (Oregon) us-west-2.

    6. Assicurati di continuare a utilizzare la regione Stati Uniti orientali ( AWS Management Console Ohio). Successivamente, esegui queste operazioni:

      1. Scegli Explore table items (Esplora elementi della tabella).

      2. Scegli Crea elemento.

      3. In Artist, digita item_1.

      4. In SongTitle, immettere Song Value 1.

      5. Per salvare l'articolo, scegli Crea articolo.

    7. Dopo un breve periodo, l'item viene replicato in tutte e tre le regioni della tabella globale. Per verificarlo, nella console o con il selettore della regione in alto a destra, scegli Europa (Francoforte). Il tavolo Music in Europe (Francoforte) dovrebbe contenere il nuovo elemento.

    8. Ripeti il passaggio 7 e scegli Stati Uniti occidentali (Oregon) per verificare la replica in quella regione.

    Completa questa procedura per creare una tabella globale Music utilizzando AWS CLI. Il seguente esempio consente di creare una tabella globale con le tabelle di replica negli Stati Uniti e in Europa.

    1. Crea una nuova tabella (Music) nella regione Stati Uniti orientali (Ohio), con DynamoDB Streams abilitato (NEW_AND_OLD_IMAGES).

      aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --billing-mode PAY_PER_REQUEST \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-2
    2. Crea una tabella Music identica nella regione Stati Uniti orientali (Virginia settentrionale).

      aws dynamodb update-table --table-name Music --cli-input-json \ '{ "ReplicaUpdates": [ { "Create": { "RegionName": "us-east-1" } } ] }' \ --region=us-east-2
    3. Ripeti la fase 2 per creare una tabella nella regione Europa (Irlanda) (eu-west-1).

    4. È possibile visualizzare l'elenco delle repliche create utilizzando describe-table.

      aws dynamodb describe-table --table-name Music --region us-east-2
    5. Per verificare che la replica sta funzionando come dovrebbe, aggiungere un nuovo elemento alla tabella Music nella regione Stati Uniti orientali (Ohio).

      aws dynamodb put-item \ --table-name Music \ --item '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region us-east-2
    6. Attendere alcuni secondi, quindi verificare se l'elemento è stato replicato correttamente nelle regioni Stati Uniti orientali (Virginia settentrionale) e Europa (Irlanda).

      aws dynamodb get-item \ --table-name Music \ --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region us-east-1
      aws dynamodb get-item \ --table-name Music \ --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region eu-west-1
    7. Eliminare la tabella di replica nella regione Europa (Irlanda).

      aws dynamodb update-table --table-name Music --cli-input-json \ '{ "ReplicaUpdates": [ { "Delete": { "RegionName": "eu-west-1" } } ] }'

    Completa questa procedura per creare una tabella globale Music utilizzando AWS CLI. Il seguente esempio consente di creare una tabella globale con le tabelle di replica negli Stati Uniti e in Europa.

    1. Crea una nuova tabella (Music) nella regione Stati Uniti orientali (Ohio), con DynamoDB Streams abilitato (NEW_AND_OLD_IMAGES).

      aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema \ AttributeName=Artist,KeyType=HASH \ AttributeName=SongTitle,KeyType=RANGE \ --billing-mode PAY_PER_REQUEST \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-2
    2. Crea una tabella Music identica nella regione Stati Uniti orientali (Virginia settentrionale).

      aws dynamodb update-table --table-name Music --cli-input-json \ '{ "ReplicaUpdates": [ { "Create": { "RegionName": "us-east-1" } } ] }' \ --region=us-east-2
    3. Ripeti la fase 2 per creare una tabella nella regione Europa (Irlanda) (eu-west-1).

    4. È possibile visualizzare l'elenco delle repliche create utilizzando describe-table.

      aws dynamodb describe-table --table-name Music --region us-east-2
    5. Per verificare che la replica sta funzionando come dovrebbe, aggiungere un nuovo elemento alla tabella Music nella regione Stati Uniti orientali (Ohio).

      aws dynamodb put-item \ --table-name Music \ --item '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region us-east-2
    6. Attendere alcuni secondi, quindi verificare se l'elemento è stato replicato correttamente nelle regioni Stati Uniti orientali (Virginia settentrionale) e Europa (Irlanda).

      aws dynamodb get-item \ --table-name Music \ --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region us-east-1
      aws dynamodb get-item \ --table-name Music \ --key '{"Artist": {"S":"item_1"},"SongTitle": {"S":"Song Value 1"}}' \ --region eu-west-1
    7. Eliminare la tabella di replica nella regione Europa (Irlanda).

      aws dynamodb update-table --table-name Music --cli-input-json \ '{ "ReplicaUpdates": [ { "Delete": { "RegionName": "eu-west-1" } } ] }'

    Il seguente esempio di codice Java crea una tabella Music nella regione Europa (Irlanda), quindi crea una replica nella regione Asia Pacifico (Seoul).

    package com.amazonaws.codesamples.gtv2 import java.util.logging.Logger; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; import com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException; import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; import com.amazonaws.services.dynamodbv2.model.BillingMode; import com.amazonaws.services.dynamodbv2.model.CreateReplicationGroupMemberAction; import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; import com.amazonaws.services.dynamodbv2.model.DescribeTableRequest; import com.amazonaws.services.dynamodbv2.model.GlobalSecondaryIndex; import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; import com.amazonaws.services.dynamodbv2.model.KeyType; import com.amazonaws.services.dynamodbv2.model.Projection; import com.amazonaws.services.dynamodbv2.model.ProjectionType; import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughputOverride; import com.amazonaws.services.dynamodbv2.model.ReplicaGlobalSecondaryIndex; import com.amazonaws.services.dynamodbv2.model.ReplicationGroupUpdate; import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType; import com.amazonaws.services.dynamodbv2.model.StreamSpecification; import com.amazonaws.services.dynamodbv2.model.StreamViewType; import com.amazonaws.services.dynamodbv2.model.UpdateTableRequest; import com.amazonaws.waiters.WaiterParameters; public class App { private final static Logger LOGGER = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); public static void main( String[] args ) { String tableName = "Music"; String indexName = "index1"; Regions calledRegion = Regions.EU_WEST_1; Regions destRegion = Regions.AP_NORTHEAST_2; AmazonDynamoDB ddbClient = AmazonDynamoDBClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider("default")) .withRegion(calledRegion) .build(); LOGGER.info("Creating a regional table - TableName: " + tableName +", IndexName: " + indexName + " ....."); ddbClient.createTable(new CreateTableRequest() .withTableName(tableName) .withAttributeDefinitions( new AttributeDefinition() .withAttributeName("Artist").withAttributeType(ScalarAttributeType.S), new AttributeDefinition() .withAttributeName("SongTitle").withAttributeType(ScalarAttributeType.S)) .withKeySchema( new KeySchemaElement().withAttributeName("Artist").withKeyType(KeyType.HASH), new KeySchemaElement().withAttributeName("SongTitle").withKeyType(KeyType.RANGE)) .withBillingMode(BillingMode.PAY_PER_REQUEST) .withGlobalSecondaryIndexes(new GlobalSecondaryIndex() .withIndexName(indexName) .withKeySchema(new KeySchemaElement() .withAttributeName("SongTitle") .withKeyType(KeyType.HASH)) .withProjection(new Projection().withProjectionType(ProjectionType.ALL))) .withStreamSpecification(new StreamSpecification() .withStreamEnabled(true) .withStreamViewType(StreamViewType.NEW_AND_OLD_IMAGES))); LOGGER.info("Waiting for ACTIVE table status ....."); ddbClient.waiters().tableExists().run(new WaiterParameters<>(new DescribeTableRequest(tableName))); LOGGER.info("Testing parameters for adding a new Replica in " + destRegion + " ....."); CreateReplicationGroupMemberAction createReplicaAction = new CreateReplicationGroupMemberAction() .withRegionName(destRegion.getName()) .withGlobalSecondaryIndexes(new ReplicaGlobalSecondaryIndex() .withIndexName(indexName) .withProvisionedThroughputOverride(new ProvisionedThroughputOverride() .withReadCapacityUnits(15L))); ddbClient.updateTable(new UpdateTableRequest() .withTableName(tableName) .withReplicaUpdates(new ReplicationGroupUpdate() .withCreate(createReplicaAction.withKMSMasterKeyId(null)))); } }

    Il seguente esempio di codice Java crea una tabella Music nella regione Europa (Irlanda), quindi crea una replica nella regione Asia Pacifico (Seoul).

    package com.amazonaws.codesamples.gtv2 import java.util.logging.Logger; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; import com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException; import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; import com.amazonaws.services.dynamodbv2.model.BillingMode; import com.amazonaws.services.dynamodbv2.model.CreateReplicationGroupMemberAction; import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; import com.amazonaws.services.dynamodbv2.model.DescribeTableRequest; import com.amazonaws.services.dynamodbv2.model.GlobalSecondaryIndex; import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; import com.amazonaws.services.dynamodbv2.model.KeyType; import com.amazonaws.services.dynamodbv2.model.Projection; import com.amazonaws.services.dynamodbv2.model.ProjectionType; import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughputOverride; import com.amazonaws.services.dynamodbv2.model.ReplicaGlobalSecondaryIndex; import com.amazonaws.services.dynamodbv2.model.ReplicationGroupUpdate; import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType; import com.amazonaws.services.dynamodbv2.model.StreamSpecification; import com.amazonaws.services.dynamodbv2.model.StreamViewType; import com.amazonaws.services.dynamodbv2.model.UpdateTableRequest; import com.amazonaws.waiters.WaiterParameters; public class App { private final static Logger LOGGER = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); public static void main( String[] args ) { String tableName = "Music"; String indexName = "index1"; Regions calledRegion = Regions.EU_WEST_1; Regions destRegion = Regions.AP_NORTHEAST_2; AmazonDynamoDB ddbClient = AmazonDynamoDBClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider("default")) .withRegion(calledRegion) .build(); LOGGER.info("Creating a regional table - TableName: " + tableName +", IndexName: " + indexName + " ....."); ddbClient.createTable(new CreateTableRequest() .withTableName(tableName) .withAttributeDefinitions( new AttributeDefinition() .withAttributeName("Artist").withAttributeType(ScalarAttributeType.S), new AttributeDefinition() .withAttributeName("SongTitle").withAttributeType(ScalarAttributeType.S)) .withKeySchema( new KeySchemaElement().withAttributeName("Artist").withKeyType(KeyType.HASH), new KeySchemaElement().withAttributeName("SongTitle").withKeyType(KeyType.RANGE)) .withBillingMode(BillingMode.PAY_PER_REQUEST) .withGlobalSecondaryIndexes(new GlobalSecondaryIndex() .withIndexName(indexName) .withKeySchema(new KeySchemaElement() .withAttributeName("SongTitle") .withKeyType(KeyType.HASH)) .withProjection(new Projection().withProjectionType(ProjectionType.ALL))) .withStreamSpecification(new StreamSpecification() .withStreamEnabled(true) .withStreamViewType(StreamViewType.NEW_AND_OLD_IMAGES))); LOGGER.info("Waiting for ACTIVE table status ....."); ddbClient.waiters().tableExists().run(new WaiterParameters<>(new DescribeTableRequest(tableName))); LOGGER.info("Testing parameters for adding a new Replica in " + destRegion + " ....."); CreateReplicationGroupMemberAction createReplicaAction = new CreateReplicationGroupMemberAction() .withRegionName(destRegion.getName()) .withGlobalSecondaryIndexes(new ReplicaGlobalSecondaryIndex() .withIndexName(indexName) .withProvisionedThroughputOverride(new ProvisionedThroughputOverride() .withReadCapacityUnits(15L))); ddbClient.updateTable(new UpdateTableRequest() .withTableName(tableName) .withReplicaUpdates(new ReplicationGroupUpdate() .withCreate(createReplicaAction.withKMSMasterKeyId(null)))); } }
    PrivacyCondizioni del sitoPreferenze cookie
    © 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.