감사 데이터 내보내기
감사 하위 시스템의 두 구현은 모두 ExportAuditData 서비스를 사용하여 오프라인(보관된) 데이터 또는 온라인 데이터에서 감사 메시지의 번역된 버전을 내보냅니다. 이 서비스는 오프라인 데이터 및 온라인 데이터에서 번역된 감사 메시지를 생성합니다. 이 서비스는 로캘, 저장소 이름, 대상 경로, 대상 파일 이름, 시작 날짜 및 종료 날짜를 사용합니다. 호출되면 서비스는 오프라인 스토리지의 모든 일치하는 항목을 지정된 대상 경로에 있는 zip 파일(지정된 대상 파일 이름 사용)로 내보냅니다. 내보내기는 감사 날짜를 기준으로 정렬됩니다.
* 
직접 지속성 구현이 활성 상태이면 ExportOnlineAuditData 서비스를 사용하여 데이터베이스에서 온라인 감사 데이터를 내보낼 수도 있습니다. 이 서비스에는 내보낸 데이터를 필터링하고 정렬하는 데 사용할 수 있는 query 옵션이 있습니다.
ExportAuditData 서비스와 해당 입력은 다음과 같습니다.

ExportAuditData(locale[String],
targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate(dateTime),
endDate(dateTime))
다음 표에는 입력 매개 변수 및 해당 매개 변수에 대한 간단한 설명 및 해당 ThingWorx 기본 유형이 나와 있습니다.
매개 변수
설명
기본 유형
locale
결과를 반환할 언어 이름의 약어(STRING)입니다. 예를 들어, fr(프랑스어) 또는 zh_CN(중국어(중국))입니다. ThingWorx에서 지원하는 로캘 목록은 지원되는 로캘 항목을 참조하십시오.
STRING
targetRepositoryName
번역된 감사 항목이 포함된 출력 파일이 저장되는 파일 저장소 사물의 이름입니다.
THINGNAME
targetPath
출력 파일이 작성되어야 하는 위치입니다.
STRING
targetFileName
번역된 감사 데이터가 저장되어야 하는 출력 파일의 이름입니다.
STRING
startDate
내보낼 첫 번째 감사 항목의 날짜 및 시간입니다. 이 감사 항목 이후 및 endDate 이전의 타임스탬프가 있는 모든 감사 항목을 내보냅니다.
DATETIME
endDate
내보낼 마지막 감사 항목의 날짜 및 시간입니다. 이 감사 항목 이전 및 startDate 이후의 타임스탬프가 있는 모든 감사 항목을 내보냅니다.
DATETIME
다음은 이 서비스에 대한 호출의 예입니다.

AuditSubsystem.ExportAuditData("en", myExportRepository, "/auditExport/",
"export_02-03_one_hour", 2020-02-03 18:50:03.000, 2020-02-03 19:50:03.000)
이 예는 /auditExport/export_02-03_one_hour.zipmyExportRepository에서 내보내기를 영어로 생성합니다. 콘텐츠는 지정된 시작 및 종료 날짜에 따라 모든 온라인 감사 메시지와 모든 오프라인 감사 메시지가 됩니다. 내보낸 zip 파일의 크기는 시작 날짜와 종료 날짜 사이에 수집된 데이터의 양에 따라 달라집니다. 다음 표에는 시작 및 종료 날짜에 따라 달라지는 내보내기의 콘텐츠가 나와 있습니다.
시작 날짜
종료 날짜
내보내기의 콘텐츠
2020-02-03 18:50:03.000 (특정 날짜 및 시간)
2020-02-03 19:50:03.000(특정 날짜 및 시간)
이 예의 경우 시작 날짜와 종료 날짜 사이에 있는 모든 온라인 데이터 및 오프라인 데이터가 동일한 날짜(2020-02–03)이며, 한 시간짜리 데이터(18:50:03.000 ~ 19:50:03.000)입니다.
null
2020-02-03 19:50:03.000(특정 날짜 및 시간)
모든 온라인 데이터와 종료 날짜 및 시간(2020-02-03 19:50:03.000)보다 오래된 오프라인 데이터입니다. 시작 날짜를 null로 설정하면 오프라인 데이터가 보존되기 시작한 실제 날짜에 따라 내보내기에 많은 양의 감사 데이터가 포함될 수 있습니다.
2020-02-03 18:50:03.000 (특정 날짜 및 시간)
null
모든 온라인 데이터와 종료 날짜를 null로 설정하여 지정된 시작 날짜 및 시간과 현재 날짜 및 시간 사이의 오프라인 데이터입니다.
null
null
모든 온라인 및 오프라인 감사 데이터입니다. 이는 시간이 매우 오래 걸릴 수 있으므로 권장되지 않습니다.
활성 구현에 따라 export_02-03_one_hour.zip 파일에 다음 파일 중 하나가 포함됩니다.
직접 지속성 - AuditArchiveDirectPersistence/export/export_02-03_one_hour.json
데이터 테이블 - AuditArchive/export/export_02-03_one_hour.json
다음은 직접 지속성 구현이 활성 상태일 때 내보내기 파일에 있는 JSON의 예입니다.:

{
"rows": [ {
"auditCategory": "System",
"application": "ThingWorxCore",
"sourceType": "Subsystem",
"id": "1002",
"source": "AuditSubsystem",
"message": "Updated Subsystem \"AuditSubsystem\"",
"user": "Administrator",
"timestamp": 1582194488947
}]
}
다음은 데이터 테이블 구현이 활성 상태일 때 내보내기 파일에 있는 JSON의 예입니다.

{
"rows": [
{
"auditCategory": "Modeling",
"sourceType": "ModelTagVocabulary",
"source": "IntegrationTesting",
"id": "12345678-0123-4567-8901-123457890123",
"message": "Created ModelTagVocabulary \"IntegrationTesting\"",
"user": "Administrator",
"timestamp": 1580773803
},
...
...
]
}
id의 형식은 두 구현 간에 다르며 직접 지속성 내보내기 파일에는 application이라는 추가 속성이 있습니다. 다음 표에서는 이러한 차이에 대한 설명과 함께 내보내기 파일의 속성에 대해 설명합니다.
속성
구현 여부
설명
auditCategory
둘 다
감사 메시지의 카테고리 이름입니다. 위의 예에서는 다음과 같은 여러 카테고리를 보여줍니다.
직접 지속성 - System 카테고리
데이터 테이블 - Modeling 카테고리
감사 카테고리에 대한 자세한 내용은 감사 카테고리 항목을 참조하십시오.
application
직접 지속성에만 해당
감사 메시지를 생성한 응용 프로그램의 이름입니다. 위의 직접 지속성 예에서는 감사 메시지가 코어 ThingWorx Platform에 의해 생성되므로 값이 ThingworxCore로 설정됩니다.
sourceType
둘 다
이 감사 메시지를 생성한 응용 프로그램과 연관된 유형입니다(source). 위의 예에서는 서로 다른 소스 유형을 보여줍니다(두 구현 모두에 대해 auditCategory 및 직접 지속성에 대해 application 반영).
직접 지속성 - Subsystem
데이터 테이블 - ModelTagVocabulary
source
둘 다
이 감사 메시지를 생성한 ThingWorx 응용 프로그램 또는 실행 파일입니다. 위의 예에서는 서로 다른 ThingWorx 응용 프로그램을 보여줍니다.
직접 지속성 예에서는 소스가 Audit Subsystem입니다.
데이터 테이블 예에서는 소스가 IntegrationTesting입니다.
id
둘 다, 형식은 다름
직접 지속성 구현 - 감사 메시지를 생성한 application에 대해 자동 생성된 데이터베이스 ID입니다.
데이터 테이블 구현 - 감사 메시지를 생성한 응용 프로그램의 GUID입니다.
message
둘 다
감사 메시지의 텍스트입니다.
user
둘 다
감사 메시지가 생성될 때 응용 프로그램을 실행한 사용자의 로그인 이름입니다.
timestamp
둘 다
에포크 시간에서 감사 메시지가 생성된 날짜 및 시간입니다.
내보내기 후 온라인 데이터의 상태
온라인 데이터는 내보내기 후 온라인 스토리지에 유지됩니다. PurgeAuditData 서비스를 실행하여 수동으로 또는 AuditPurgeScheduler를 설정하여 자동으로 데이터를 온라인 스토리지에서 삭제할 수 있습니다.
도움이 되셨나요?