데이터베이스 업데이트 - Amazon Timestream

Amazon Timestream for LiveAnalytics와 유사한 기능을 사용하려면 Amazon Timestream for InfluxDB를 고려하세요. 실시간 분석을 위해 간소화된 데이터 수집 및 한 자릿수 밀리초 쿼리 응답 시간을 제공합니다. 여기에서 자세히 알아보세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

데이터베이스 업데이트

다음 코드 조각을 사용하여 데이터베이스를 업데이트할 수 있습니다.

참고

이러한 코드 조각은 GitHub의 전체 샘플 애플리케이션을 기반으로 합니다. 샘플 애플리케이션을 시작하는 방법에 대한 자세한 내용은 섹션을 참조하세요샘플 애플리케이션.

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

다음 코드 조각은 AWS SDK for JavaScript v3를 사용합니다. 클라이언트 설치 및 사용에 대한 자세한 내용은 Timestream Write Client - AWS SDK for JavaScript v3를 참조하세요.

클래스 UpdateDatabaseCommandUpdateDatabase도 참조하세요.

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); } }

다음 코드 조각은 AWS SDK for JavaScript V2 스타일을 사용합니다. 이는 GitHub의 Node.js 샘플 Amazon Timestream for LiveAnalytics 애플리케이션의 샘플 애플리케이션을 기반으로 합니다.

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}"); }