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à.
WriteRecords
Consente di scrivere i dati delle serie temporali in Timestream. È possibile specificare un singolo punto dati o un batch di punti dati da inserire nel sistema. Timestream ti offre uno schema flessibile che rileva automaticamente i nomi delle colonne e i tipi di dati per le tue tabelle Timestream in base ai nomi delle dimensioni e ai tipi di dati dei punti dati specificati quando richiami le scritture nel database.
Timestream supporta la semantica di lettura con eventuale coerenza. Ciò significa che quando si interrogano i dati immediatamente dopo aver scritto un batch di dati in Timestream, i risultati della query potrebbero non riflettere i risultati di un'operazione di scrittura completata di recente. I risultati possono includere anche alcuni dati obsoleti. Se si ripete la richiesta di interrogazione dopo un breve periodo, i risultati dovrebbero restituire i dati più recenti. Si applicano le quote di servizio.
Consulta l'esempio di codice per i dettagli.
Sconvolge
È possibile utilizzare il Version
parametro in una WriteRecords
richiesta di aggiornamento dei punti dati. Timestream tiene traccia di un numero di versione per ogni record. Version
il valore predefinito è 1
quando non è specificato per il record nella richiesta. Timestream aggiorna il valore di misura di un record esistente insieme al suo Version
quando riceve una richiesta di scrittura con un Version
numero più alto per quel record. Quando riceve una richiesta di aggiornamento in cui il valore di misura è uguale a quello del record esistente, Timestream si aggiorna comunqueVersion
, se è maggiore del valore esistente di. Version
È possibile aggiornare un punto dati tutte le volte che si desidera, purché il valore di aumenti Version
continuamente.
Ad esempio, supponete di scrivere un nuovo record senza indicarlo Version
nella richiesta. Timestream memorizza questo record e lo imposta su. Version
1
Supponiamo ora di provare ad aggiornare questo record con una WriteRecords
richiesta dello stesso record con un valore di misura diverso ma, come in precedenza, di non fornire. Version
In questo caso, Timestream rifiuterà questo aggiornamento con un RejectedRecordsException
poiché la versione del record aggiornato non è maggiore del valore esistente di Version.
Tuttavia, se dovessi inviare nuovamente la richiesta di aggiornamento con Version
set to2
, Timestream riuscirà ad aggiornare il valore del record e verrebbe impostato su. Version
2
Supponiamo quindi di aver inviato una WriteRecords
richiesta con lo stesso record e un valore di misura identico, ma impostata su. Version
3
In questo caso, Timestream si aggiornerebbe solo a. Version
3
Eventuali ulteriori aggiornamenti dovrebbero inviare un numero di versione maggiore di3
, oppure le richieste di aggiornamento riceverebbero un. RejectedRecordsException
Sintassi della richiesta
{
"CommonAttributes": {
"Dimensions": [
{
"DimensionValueType": "string
",
"Name": "string
",
"Value": "string
"
}
],
"MeasureName": "string
",
"MeasureValue": "string
",
"MeasureValues": [
{
"Name": "string
",
"Type": "string
",
"Value": "string
"
}
],
"MeasureValueType": "string
",
"Time": "string
",
"TimeUnit": "string
",
"Version": number
},
"DatabaseName": "string
",
"Records": [
{
"Dimensions": [
{
"DimensionValueType": "string
",
"Name": "string
",
"Value": "string
"
}
],
"MeasureName": "string
",
"MeasureValue": "string
",
"MeasureValues": [
{
"Name": "string
",
"Type": "string
",
"Value": "string
"
}
],
"MeasureValueType": "string
",
"Time": "string
",
"TimeUnit": "string
",
"Version": number
}
],
"TableName": "string
"
}
Parametri della richiesta
Per informazioni sui parametri comuni per tutte le azioni, consulta Parametri comuni.
La richiesta accetta i seguenti dati nel JSON formato.
- CommonAttributes
-
Un record che contiene gli attributi comuni di misura, dimensione, ora e versione condivisi tra tutti i record della richiesta. Gli attributi di misura e dimensione specificati verranno uniti agli attributi di misura e dimensione nell'oggetto records quando i dati vengono scritti in Timestream. Le dimensioni non possono sovrapporsi o verrà generato un
ValidationException
. In altre parole, un record deve contenere dimensioni con nomi univoci.Tipo: oggetto Record
Campo obbligatorio: no
- DatabaseName
-
Nome del database Timestream.
Tipo: stringa
Limitazioni di lunghezza: lunghezza minima di 3. La lunghezza massima è 256 caratteri.
Campo obbligatorio: sì
- Records
-
Una matrice di record che contiene gli attributi univoci di misura, dimensione, ora e versione per ogni punto dati della serie temporale.
Tipo: matrice di oggetti Record
Membri dell’array: numero minimo di 1 elemento. Numero massimo di 100 elementi.
Campo obbligatorio: sì
- TableName
-
Nome della tabella Timestream.
Tipo: stringa
Limitazioni di lunghezza: lunghezza minima di 3. La lunghezza massima è 256 caratteri.
Campo obbligatorio: sì
Sintassi della risposta
{
"RecordsIngested": {
"MagneticStore": number,
"MemoryStore": number,
"Total": number
}
}
Elementi di risposta
Se l'azione ha esito positivo, il servizio restituisce una risposta di HTTP 200.
I seguenti dati vengono restituiti in JSON formato dal servizio.
- RecordsIngested
-
Informazioni sui record acquisiti da questa richiesta.
Tipo: oggetto RecordsIngested
Errori
Per informazioni sugli errori comuni a tutte le operazioni, consultare Errori comuni.
- AccessDeniedException
-
Non sei autorizzato a eseguire questa azione.
HTTPCodice di stato: 400
- InternalServerException
-
Timestream non è stato in grado di elaborare completamente questa richiesta a causa di un errore interno del server.
HTTPCodice di stato: 500
- InvalidEndpointException
-
L'endpoint richiesto non era valido.
HTTPCodice di stato: 400
- RejectedRecordsException
-
WriteRecords genererebbe questa eccezione nei seguenti casi:
-
Record con dati duplicati in cui sono presenti più record con le stesse dimensioni, timestamp e nomi di misure ma:
-
I valori di misura sono diversi
-
La versione non è presente nella richiesta oppure il valore della versione nel nuovo record è uguale o inferiore al valore esistente
In questo caso, se Timestream rifiuta i dati, il
ExistingVersion
campo nellaRejectedRecords
risposta indicherà la versione del record corrente. Per forzare un aggiornamento, puoi inviare nuovamente la richiesta con una versione del record impostata su un valore maggiore di.ExistingVersion
-
-
Record con timestamp che non rientrano nella durata di conservazione dell'archivio di memoria.
-
Record con dimensioni o misure che superano i limiti definiti dal Timestream.
Per ulteriori informazioni, consulta Quotas nella Amazon Timestream Developer Guide.
HTTPCodice di stato: 400
-
- ResourceNotFoundException
-
L'operazione ha tentato di accedere a una risorsa inesistente. La risorsa potrebbe non essere specificata correttamente o il relativo stato potrebbe non esserlo. ACTIVE
HTTPCodice di stato: 400
- ThrottlingException
-
Troppe richieste sono state fatte da un utente e hanno superato le quote di servizio. La richiesta è stata sottoposta a throttling.
HTTPCodice di stato: 400
- ValidationException
-
Una richiesta non valida o non valida.
HTTPCodice di stato: 400
Vedi anche
Per ulteriori informazioni sull'utilizzo API in una delle lingue specifiche AWS SDKs, consulta quanto segue: