Actualizar la base datos - Amazon Timestream

Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información aquí.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Actualizar la base datos

Puede utilizar los siguientes fragmentos de código para actualizar las bases de datos.

nota

Estos fragmentos de código se basan en aplicaciones de ejemplo completas en GitHub. Para obtener más información sobre cómo empezar con las aplicaciones de ejemplo, consulte Aplicación de muestra.

Java
public void updateDatabase(String kmsId) { System.out.println("Updating kmsId to " + kmsId); UpdateDatabaseRequest request = new UpdateDatabaseRequest(); request.setDatabaseName(DATABASE_NAME); request.setKmsKeyId(kmsId); try { UpdateDatabaseResult result = amazonTimestreamWrite.updateDatabase(request); System.out.println("Update Database complete"); } catch (final ValidationException e) { System.out.println("Update database failed:"); e.printStackTrace(); } catch (final ResourceNotFoundException e) { System.out.println("Database " + DATABASE_NAME + " doesn't exist = " + e); } catch (final Exception e) { System.out.println("Could not update Database " + DATABASE_NAME + " = " + e); throw e; } }
Java v2
public void updateDatabase(String kmsKeyId) { if (kmsKeyId == null) { System.out.println("Skipping UpdateDatabase because KmsKeyId was not given"); return; } System.out.println("Updating database"); UpdateDatabaseRequest request = UpdateDatabaseRequest.builder() .databaseName(DATABASE_NAME) .kmsKeyId(kmsKeyId) .build(); try { timestreamWriteClient.updateDatabase(request); System.out.println("Database [" + DATABASE_NAME + "] updated successfully with kmsKeyId " + kmsKeyId); } catch (ResourceNotFoundException e) { System.out.println("Database [" + DATABASE_NAME + "] does not exist. Skipping UpdateDatabase"); } catch (Exception e) { System.out.println("UpdateDatabase failed: " + e); } }
Go
// Update Database. updateDatabaseInput := &timestreamwrite.UpdateDatabaseInput { DatabaseName: aws.String(*databaseName), KmsKeyId: aws.String(*kmsKeyId), } updateDatabaseOutput, err := writeSvc.UpdateDatabase(updateDatabaseInput) if err != nil { fmt.Println("Error:") fmt.Println(err) } else { fmt.Println("Update database is successful, below is the output:") fmt.Println(updateDatabaseOutput) }
Python
def update_database(self, kms_id): print("Updating database") try: result = self.client.update_database(DatabaseName=Constant.DATABASE_NAME, KmsKeyId=kms_id) print("Database [%s] was updated to use kms [%s] successfully" % (Constant.DATABASE_NAME, result['Database']['KmsKeyId'])) except self.client.exceptions.ResourceNotFoundException: print("Database doesn't exist") except Exception as err: print("Update database failed:", err)
Node.js

El siguiente fragmento utiliza SDK de AWS para JavaScript v3. Para obtener más información sobre cómo instalar el cliente y su uso, consulte Cliente de escritura de Timestream: SDK de AWS para JavaScript v3.

También puede consultar Class UpdateDatabaseCommand y UpdateDatabase.

import { TimestreamWriteClient, UpdateDatabaseCommand } from "@aws-sdk/client-timestream-write"; const writeClient = new TimestreamWriteClient({ region: "us-east-1" }); let updatedKmsKeyId = "<updatedKmsKeyId>"; const params = { DatabaseName: "testDbFromNode", KmsKeyId: updatedKmsKeyId }; const command = new UpdateDatabaseCommand(params); try { const data = await writeClient.send(command); console.log(`Database ${data.Database.DatabaseName} updated kmsKeyId to ${updatedKmsKeyId}`); } catch (error) { if (error.code === 'ResourceNotFoundException') { console.log("Database doesn't exist."); } else { console.log("Update database failed.", error); } }

El siguiente fragmento utiliza SDK de AWS para el estilo de JavaScript v2. Se basa en la aplicación de ejemplo Node.js, la aplicación de ejemplo Amazon Timestream para LiveAnalytics en GitHub.

async function updateDatabase(updatedKmsKeyId) { if (updatedKmsKeyId === undefined) { console.log("Skipping UpdateDatabase; KmsKeyId was not given"); return; } console.log("Updating Database"); const params = { DatabaseName: constants.DATABASE_NAME, KmsKeyId: updatedKmsKeyId } const promise = writeClient.updateDatabase(params).promise(); await promise.then( (data) => { console.log(`Database ${data.Database.DatabaseName} updated kmsKeyId to ${updatedKmsKeyId}`); }, (err) => { if (err.code === 'ResourceNotFoundException') { console.log("Database doesn't exist."); } else { console.log("Update database failed.", err); } } ); }
.NET
public async Task UpdateDatabase(String updatedKmsKeyId) { Console.WriteLine("Updating Database"); try { var updateDatabaseRequest = new UpdateDatabaseRequest { DatabaseName = Constants.DATABASE_NAME, KmsKeyId = updatedKmsKeyId }; UpdateDatabaseResponse response = await writeClient.UpdateDatabaseAsync(updateDatabaseRequest); Console.WriteLine($"Database {Constants.DATABASE_NAME} updated with KmsKeyId {updatedKmsKeyId}"); } catch (ResourceNotFoundException) { Console.WriteLine("Database does not exist."); } catch (Exception e) { Console.WriteLine("Update database failed: " + e.ToString()); } } private void PrintDatabases(List<Database> databases) { foreach (Database database in databases) Console.WriteLine($"Database:{database.DatabaseName}"); }