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). Sync
le richieste possono essere effettuate 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
100
elementi. Il valore massimo per questo campo è1000
articoli. -
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
Sync
riuscita. 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' operazioneSync
iniziale. 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.
Sync
Questo campo consente di eseguire un'Sync
operazione quando la tabella utilizza una chiave di partizione personalizzata. Questo campo è opzionale. deltaIndexName
-
L'indice utilizzato per l'operazione.
Sync
Questo indice è necessario per abilitare un'Sync
operazione sull'intera tabella delta store quando la tabella utilizza una chiave di partizione personalizzata. L'Sync
operazione verrà eseguita su GSI (creato sugsi_ds_pk
andgsi_ds_sk
). Questo campo è facoltativo.
I risultati restituiti dalla sincronizzazione DynamoDB vengono convertiti automaticamente in tipi GraphQL JSON e primitivi 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,
nextToken
contiene 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)) }