기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
REDACT_ 아마존의 REVISION 저장 프로시저 QLDB
중요
지원 종료 알림: 기존 고객은 2025년 7월 31일 지원이 종료될 QLDB 때까지 Amazon을 사용할 수 있습니다. 자세한 내용은 아마존 QLDB 원장을 Amazon Aurora SQL Postgre로 마이그레이션을
참고
2021년 7월 22일 이전에 생성된 원장은 현재 수정할 수 없습니다. Amazon QLDB 콘솔에서 원장 생성 시간을 확인할 수 있습니다.
QLDBAmazon에서는 REDACT_REVISION
저장 프로시저를 사용하여 인덱싱된 스토리지와 저널 스토리지 모두에서 비활성 상태의 개별 문서 수정 버전을 영구적으로 삭제합니다. 이 저장 프로시저는 지정된 수정본의 모든 사용자 데이터를 삭제합니다. 하지만 저널 시퀀스와 문서 ID 및 해시를 포함한 문서 메타데이터는 변경되지 않습니다. 이 작업은 되돌릴 수 없습니다.
지정된 문서 수정본은 기록에서 비활성 상태여야 합니다. 문서의 최신 활성 수정본은 수정할 수 없습니다.
이 저장 프로시저를 실행하여 수정 요청을 제출하면 에서 데이터 삭제를 비동기적으로 QLDB 처리합니다. 수정이 완료되면 지정된 수정본(data
구조로 표시됨)의 사용자 데이터가 새 dataHash
필드로 대체됩니다. 이 필드의 값은 제거된 data
구조의 Amazon Ion 해시입니다. 따라서 원장은 전체 데이터 무결성을 유지하고 기존 검증 작업을 통해 암호학적으로 검증 가능한 상태를 유지합니다. API
샘플 데이터를 사용한 수정 작업의 예는 문서 개정본 수정하기의 수정 예제 항목을 참조하세요.
참고
특정 테이블에서 이 PartiQL 명령을 실행하기 위한 액세스를 제어하는 방법을 알아보려면 Amazon의 표준 권한 모드로 시작하기 QLDB 섹션을 참조하세요.
수정 고려 사항 및 제한
QLDBAmazon에서 데이터 삭제를 시작하기 전에 다음 고려 사항 및 제한 사항을 검토하십시오.
-
REDACT_REVISION
저장 프로시저는 비활성 상태의 개별 문서 수정본의 사용자 데이터를 대상으로 합니다. 여러 수정본을 수정하려면 각 수정본마다 한 번씩 저장 프로시저를 실행해야 합니다. 트랜잭션당 하나의 수정본을 수정할 수 있습니다. -
문서 수정 내의 특정 필드를 삭제하려면 먼저 별도의 데이터 조작 언어 (DML) 문을 사용하여 개정판을 수정해야 합니다. 자세한 내용은 개정본 내 특정 필드 수정하기 단원을 참조하십시오.
-
수정 요청을 QLDB 받은 후에는 요청을 취소하거나 변경할 수 없습니다. 수정 완료 여부를 확인하려면 수정본의
data
구조가dataHash
필드로 대체되었는지 확인하면 됩니다. 자세한 내용은 수정 완료 여부 확인을 참조하십시오. -
수정은 서비스 외부에서 복제된 QLDB 데이터에는 영향을 미치지 않습니다. QLDB 여기에는 Amazon S3로의 모든 내보내기와 Amazon Kinesis Data Streams로의 스트림이 포함됩니다. 외부에 저장된 모든 데이터를 관리하려면 다른 데이터 보존 방법을 사용해야 합니다. QLDB
-
수정은 저널에 기록된 PartiQL 명령문의 리터럴 값에는 영향을 주지 않습니다. 모범 사례에 따라 파라미터화된 명령문은 리터럴 값 대신 변수 자리 표시자를 사용하여 프로그래밍 방식으로 실행해야 합니다. 저널에서 자리 표시자는 수정이 필요할 수 있는 민감한 정보 대신 물음표(
?
)로 기록됩니다.드라이버를 사용하여 PartiQL 문을 프로그래밍 방식으로 실행하는 방법을 알아보려면 QLDB 에서 지원되는 각 프로그래밍 언어의 자습서를 참조하십시오. 드라이버 시작하기
구문
EXEC REDACT_REVISION `
block-address
`, 'table-id
', 'document-id
'
인수
- `
block-address
` -
수정할 문서의 수정본의 저널 블록 위치입니다. 주소는
strandId
및sequenceNo
라는 두 개의 필드로 구성된 Amazon Ion 구조입니다.이 값은 백틱으로 표시되는 Ion 리터럴 값입니다. 예:
`{strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:17}`
블록 주소를 찾는 방법을 알아보려면 문서 메타데이터 쿼리 섹션을 참조하세요.
- '
table-id
' -
수정하고자 하는 문서 개정본이 있는 테이블의 고유 ID로, 작은 따옴표로 표시됩니다.
테이블 ID를 찾는 방법에 대한 자세한 내용은 시스템 카탈로그 쿼리 섹션을 참조하세요.
- '
document-id
' -
수정할 개정본의 고유한 문서 ID로, 작은 따옴표로 표시됩니다.
문서 ID를 찾는 방법에 대한 자세한 내용은 문서 메타데이터 쿼리 섹션을 참조하세요.
반환 값
수정해야 할 문서 개정을 다음 형식으로 나타내는 Amazon Ion 구조입니다.
{
blockAddress: {
strandId: String,
sequenceNo: Int
},
tableId: String,
documentId: String,
version: Int
}
반환 구조 필드
-
blockAddress
- 수정할 수정본의 저널 블록 위치입니다. 주소에는 다음과 같은 두 가지 필드가 있습니다.-
strandId
- 블록을 포함하는 저널 스트랜드의 고유 ID입니다. -
sequenceNo
- 스트랜드 내 블록 위치를 지정하는 인덱스 번호입니다.
-
-
tableId
- 수정하려는 수정본이 있는 테이블의 고유 ID입니다. -
documentId
- 수정할 수정본의 고유한 문서 ID입니다. -
version
- 수정할 문서 수정본의 버전 번호입니다.
다음은 샘플 데이터를 사용한 반환 구조의 예입니다.
{
blockAddress: {
strandId: "CsRnx0RDoNK6ANEEePa1ov
",
sequenceNo: 134
},
tableId: "6GZumdHggklLdMGyQq9DNX
",
documentId: "IXlQPSbfyKMIIsygePeKrZ
",
version: 0
}
예
EXEC REDACT_REVISION `{strandId:"7z2P0AyQKWD8oFYmGNhi8D", sequenceNo:7}`, '8F0TPCmdNQ6JTRpiLj2TmW', '05K8zpGYWynDlEOK5afDRc'