WriteRecords - Amazon Timestream

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. Versionil 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 unValidationException. 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 nella RejectedRecords 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: