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à.
Sync
Il documento di mappatura della Sync richiesta consente di recuperare tutti i risultati da una tabella DynamoDB e quindi ricevere solo i dati modificati dall'ultima query (gli aggiornamenti delta). Syncle richieste possono essere inoltrate solo a sorgenti dati DynamoDB con versione. È possibile specificare le forme seguenti:
-
Un filtro per escludere i risultati
-
Numero di voci da restituire
-
Token di paginazione
-
Quando è stata avviata l'ultima operazione
Sync
Il documento di mappatura Sync ha la seguente struttura:
{ "version" : "2018-05-29", "operation" : "Sync", "basePartitionKey": "Base Tables PartitionKey", "deltaIndexName": "delta-index-name", "limit" : 10, "nextToken" : "aPaginationToken", "lastSync" : 1550000000000, "filter" : { ... } }
I campi sono definiti come segue:
Sincronizza campi
-
version -
La versione di definizione del modello. Al momento è supportato soltanto
2018-05-29. Questo valore è obbligatorio. -
operation -
L'operazione DynamoDB da eseguire. Per eseguire l'operazione
Sync, il valore deve essere impostato suSync. Questo valore è obbligatorio. -
filter -
Un filtro che può essere utilizzato per filtrare i risultati di DynamoDB prima che vengano restituiti. Per ulteriori informazioni sui filtri, consulta Filtri. Questo campo è facoltativo.
-
limit -
Numero massimo di elementi da valutare in una sola volta. Questo campo è facoltativo. Se omesso, il limite predefinito sarà impostato su
100elementi. Il valore massimo per questo campo è1000articoli. -
nextToken -
Il token di paginazione utilizzato per continuare una query precedente, dalla quale deve essere ottenuto. Questo campo è facoltativo.
-
lastSync -
Il momento, in millisecondi dall'epoca, in cui è iniziata l'ultima operazione
Syncriuscita. Se specificato, vengono restituiti solo gli elementi che sono stati modificati dopolastSync. Questo campo è facoltativo e deve essere compilato solo dopo aver recuperato tutte le pagine da un' operazioneSynciniziale. Se omesso, i risultati della tabella Base verranno restituiti, altrimenti verranno restituiti i risultati della tabella Delta. basePartitionKey-
La chiave di partizione della tabella Base utilizzata durante l'esecuzione di un'operazione.
SyncQuesto campo consente di eseguire un'Syncoperazione quando la tabella utilizza una chiave di partizione personalizzata. Questo campo è opzionale. deltaIndexName-
L'indice utilizzato per l'operazione.
SyncQuesto indice è necessario per abilitare un'Syncoperazione sull'intera tabella delta store quando la tabella utilizza una chiave di partizione personalizzata. L'Syncoperazione verrà eseguita sul GSI (creato sugsi_ds_pkandgsi_ds_sk). Questo campo è facoltativo.
I risultati restituiti dalla sincronizzazione DynamoDB vengono convertiti automaticamente in tipi primitivi GraphQL e JSON e sono disponibili nel contesto di mappatura (). $context.result
Per ulteriori informazioni sulla conversione dei tipi in DynamoDB, vedere Sistema dei tipi (mappatura delle risposte).
Per ulteriori informazioni sui modelli di mappatura delle risposte, consulta Panoramica dei modelli di mappatura Resolver.
I risultati hanno la struttura seguente:
{ items = [ ... ], nextToken = "a pagination token", scannedCount = 10, startedAt = 1550000000000 }
I campi sono definiti come segue:
-
items -
Un elenco contenente le voci restituite dalla sincronizzazione.
-
nextToken -
Se potrebbero esserci più risultati,
nextTokencontiene un token di impaginazione che puoi utilizzare in un'altra richiesta. AWS AppSync crittografa e offusca il token di impaginazione restituito da DynamoDB. In questo modo si evita che i dati della tabella siano inavvertitamente divulgati all'intermediario. Inoltre, questi token di paginazione non possono essere utilizzati con più resolver diversi. -
scannedCount -
Il numero di elementi recuperati da DynamoDB prima dell'applicazione di un'espressione di filtro (se presente).
-
startedAt -
Il momento, in millisecondi dall'epoca, in cui è iniziata l'operazione di sincronizzazione che è possibile memorizzare localmente e utilizzare in un'altra richiesta come argomento
lastSync. Se un token di paginazione è stato incluso nella richiesta, questo valore sarà lo stesso di quello restituito dalla richiesta per la prima pagina di risultati.
Esempio
L'esempio seguente è un modello di mappatura per la query GraphQL:. syncPosts(nextToken: String, lastSync: AWSTimestamp)
In questo esempio, se lastSync viene omesso, vengono restituite tutte le voci nella tabella di base. Se lastSync viene fornito, vengono restituite solo le voci nella tabella di sincronizzazione delta che sono state modificate dal momento in cui sono state sincronizzate lastSync.
{ "version" : "2018-05-29", "operation" : "Sync", "limit": 100, "nextToken": $util.toJson($util.defaultIfNull($ctx.args.nextToken, null)), "lastSync": $util.toJson($util.defaultIfNull($ctx.args.lastSync, null)) }