หน้านี้อธิบายวิธีใช้การกู้คืนช่วงเวลา (PITR) เพื่อเก็บรักษาและกู้คืนข้อมูลใน Cloud Firestore
หากต้องการทำความเข้าใจแนวคิดของ PITR โปรดดู การกู้คืนช่วงเวลา
สิทธิ์
หากต้องการรับสิทธิ์ที่จำเป็นในการจัดการการตั้งค่า PITR โปรดขอให้ผู้ดูแลระบบให้บทบาท IAM ต่อไปนี้แก่คุณในโปรเจ็กต์ที่ต้องการเปิดใช้ PITR
- เจ้าของ Cloud Datastore (
roles/datastore.owner)
สำหรับบทบาทที่กำหนดเอง โปรดตรวจสอบว่าคุณได้รับสิทธิ์ต่อไปนี้
- หากต้องการเปิดใช้ PITR เมื่อสร้างฐานข้อมูล ให้ใช้สิทธิ์
datastore.databases.create - หากต้องการอัปเดตการตั้งค่า PITR ในฐานข้อมูลที่มีอยู่ ให้ใช้สิทธิ์
datastore.databases.update,datastore.databases.list - หากต้องการอ่านข้อมูลจาก PITR ให้ใช้สิทธิ์
datastore.databases.get,datastore.entities.get,datastore.entities.list - หากต้องการส่งออกข้อมูล PITR ให้ใช้สิทธิ์
datastore.databases.export - หากต้องการนำเข้าข้อมูล PITR ให้ใช้สิทธิ์
datastore.databases.import - หากต้องการโคลนฐานข้อมูล ให้ใช้สิทธิ์
datastore.databases.clone
ก่อนเริ่มต้น
โปรดทราบประเด็นต่อไปนี้ก่อนเริ่มใช้ PITR
- คุณจะเริ่มอ่านข้อมูลจาก 7 วันที่ผ่านมาได้ไม่ทันทีหลังจากเปิดใช้ PITR
- หากต้องการเปิดใช้ PITR เมื่อสร้างฐานข้อมูล คุณต้องใช้คำสั่ง
gcloud firestore databases createระบบไม่รองรับการเปิดใช้ PITR ขณะสร้างฐานข้อมูลโดยใช้คอนโซล Google Cloud - Cloud Firestore จะเริ่มเก็บรักษาเวอร์ชันต่างๆ นับจากจุดนี้เป็นต้นไปหลังจาก เปิดใช้ PITR
- คุณจะอ่านข้อมูล PITR ในหน้าต่าง PITR ไม่ได้หลังจากปิดใช้ PITR
- หากเปิดใช้ PITR อีกครั้งทันทีหลังจากปิดใช้ ข้อมูล PITR ที่ผ่านมาจะไม่พร้อมใช้งานอีกต่อไป ระบบจะลบข้อมูล PITR ทั้งหมดที่สร้างขึ้นก่อนปิดใช้ PITR หลังจากวันที่หมดอายุของ PITR
- หากคุณลบข้อมูลโดยไม่ตั้งใจในชั่วโมงที่ผ่านมาและปิดใช้ PITR อยู่ คุณสามารถกู้คืนข้อมูลได้โดยเปิดใช้ PITR ภายใน 1 ชั่วโมงนับจากเวลาที่ลบ
- การอ่านข้อมูล PITR ที่หมดอายุแล้วจะล้มเหลว
เปิดใช้ PITR
ก่อนใช้ PITR ให้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Google Cloud ของคุณ เฉพาะโปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงินแล้วเท่านั้นที่จะใช้ฟังก์ชัน PITR ได้
วิธีเปิดใช้ PITR สำหรับฐานข้อมูล
คอนโซล
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
เลือกฐานข้อมูลที่ต้องการจากรายการฐานข้อมูล
ในเมนูการนำทาง ให้คลิกการกู้คืนระบบหลังเกิดภัยพิบัติ
คลิกแก้ไข เพื่อแก้ไขการตั้งค่า
เลือกช่องทำเครื่องหมายเปิดใช้การกู้คืนช่วงเวลา แล้วคลิกบันทึก
การเปิดใช้ PITR จะทำให้เกิดค่าใช้จ่ายในการจัดเก็บ ดูข้อมูลเพิ่มเติมได้ที่ การกำหนดราคา
หากต้องการปิดใช้ PITR ให้ยกเลิกการเลือกช่องทำเครื่องหมายเปิดใช้การกู้คืนช่วงเวลา จากหน้าการกู้ข้อมูลคืนหลังจากภัยพิบัติในคอนโซล Google Cloud
gcloud
เปิดใช้ PITR ระหว่างการสร้างฐานข้อมูลด้วย gcloud firestore databases create และคำสั่ง --enable-ptir ดังนี้
gcloud firestore databases create\
--location=LOCATION\
--database=DATABASE_ID\
--type=firestore-native\
--enable-pitr
แทนที่ค่าต่างๆ ดังนี้
LOCATION- สถานที่ที่ต้องการสร้างฐานข้อมูลDATABASE_ID- ตั้งค่าเป็นรหัสฐานข้อมูล
คุณปิดใช้ PITR ได้โดยใช้คำสั่ง gcloud firestore databases update ดังนี้
gcloud firestore databases update\
--database=DATABASE_ID\
--no-enable-pitr
แทนที่ค่าต่างๆ ดังนี้
DATABASE_ID- ตั้งค่าเป็นรหัสฐานข้อมูลหรือ `'(default)'`
ดูระยะเวลาเก็บรักษาและเวลาของเวอร์ชันที่เก่าที่สุด
คอนโซล
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
เลือกฐานข้อมูลที่ต้องการจากรายการฐานข้อมูล
ในเมนูการนำทาง ให้คลิกการกู้คืนระบบหลังเกิดภัยพิบัติ
ในส่วนการตั้งค่า ให้ดูระยะเวลาเก็บรักษา และเวลาของเวอร์ชันที่เก่าที่สุด
- ระยะเวลาเก็บรักษา: ระยะเวลาที่ Cloud Firestore เก็บรักษา ข้อมูลทุกเวอร์ชันของฐานข้อมูล ค่าจะเป็น 1 ชั่วโมงเมื่อปิดใช้ PITR และ 7 วันเมื่อเปิดใช้ PITR
- เวลาของเวอร์ชันที่เก่าที่สุด: การประทับเวลาที่เก่าที่สุดที่สามารถอ่านข้อมูลเวอร์ชันเก่าของ ข้อมูลในหน้าต่าง PITR ได้ Cloud Firestore จะอัปเดตค่านี้อย่างต่อเนื่อง โดย Cloud Firestoreและค่าจะล้าสมัยทันทีที่มีการค้นหา หากใช้ค่านี้เพื่อกู้คืนข้อมูล โปรดคำนึงถึงเวลาตั้งแต่มีการค้นหาค่าจนถึงเวลาที่คุณเริ่มการกู้คืน
- การกู้คืนช่วงเวลา: แสดง
Enabledหากเปิดใช้ PITR หากปิดใช้ PITR คุณจะเห็นDisabled
gcloud
เรียกใช้คำสั่ง gcloud firestore databases describe ดังนี้
gcloud firestore databases describe --database=DATABASE_ID
แทนที่ DATABASE_ID ด้วยรหัสฐานข้อมูลหรือ '(default)'
ผลลัพธ์จะเป็นดังนี้
appEngineIntegrationMode: ENABLED
concurrencyMode: PESSIMISTIC
createTime: '2021-03-24T17:02:35.234Z'
deleteProtectionState: DELETE_PROTECTION_DISABLED
earliestVersionTime: '2023-06-12T16:17:25.222474Z'
etag: IIDayqOevv8CMNTvyNK4uv8C
keyPrefix: s
locationId: nam5
name: projects/PROJECT_ID/databases/DATABASE_ID
pointInTimeRecoveryEnablement: POINT_IN_TIME_RECOVERY_DISABLED
type: FIRESTORE_NATIVE
uid: 5230c382-dcd2-468f-8cb3-2a1acfde2b32
updateTime: '2021-11-17T17:48:22.171180Z'
versionRetentionPeriod: 3600s
โดยที่
earliestVersionTime: การประทับเวลาของข้อมูล PITR ที่เก็บไว้เก่าที่สุดpointInTimeRecoveryEnablement: แสดงPOINT_IN_TIME_RECOVERY_ENABLEDหากเปิดใช้ PITR หากปิดใช้ PITR คุณจะเห็นPOINT_IN_TIME_RECOVERY_DISABLEDหรือระบบอาจไม่แสดงฟิลด์pointInTimeRecoveryEnablementversionRetentionPeriod: ระยะเวลาที่เก็บรักษาข้อมูล PITR เป็นมิลลิวินาที ค่าอาจเป็น 1 ชั่วโมงเมื่อปิดใช้ PITR หรือ 7 วันหากเปิดใช้ PITR
อ่านข้อมูล PITR
คุณสามารถอ่านข้อมูล PITR ได้โดยใช้ไลบรารีของไคลเอ็นต์, เมธอด REST API หรือเครื่องมือเชื่อมต่อ FirestoreIO Apache Beamไลบรารีของไคลเอ็นต์
Java
คุณต้องใช้ธุรกรรม ReadOnly เพื่ออ่านข้อมูล PITR คุณระบุ readTime ในการอ่านโดยตรงไม่ได้
ดูข้อมูลเพิ่มเติมได้ที่ธุรกรรมและการเขียนแบบเป็นชุด
Firestore firestore = …
TransactionOptions options =
TransactionOptions.createReadOnlyOptionsBuilder()
.setReadTime(
com.google.protobuf.Timestamp.newBuilder()
.setSeconds(1684098540L)
.setNanos(0))
.build();
ApiFuture<Void> futureTransaction = firestore.runTransaction(
transaction -> {
// Does a snapshot read document lookup
final DocumentSnapshot documentResult =
transaction.get(documentReference).get();
// Executes a snapshot read query
final QuerySnapshot queryResult =
transaction.get(query).get();
},
options);
// Blocks on transaction to complete
futureTransaction.get();
โหนด
คุณต้องใช้ธุรกรรม ReadOnly เพื่ออ่านข้อมูล PITR คุณระบุ readTime ในการอ่านโดยตรงไม่ได้
ดูข้อมูลเพิ่มเติมได้ที่ธุรกรรมและการเขียนแบบเป็นชุด
const documentSnapshot = await firestore.runTransaction(
updateFunction => updateFunction.get(documentRef),
{readOnly: true, readTime: new Firestore.Timestamp(1684098540, 0)}
);
const querySnapshot = await firestore.runTransaction(
updateFunction => updateFunction.get(query),
{readOnly: true, readTime: new Firestore.Timestamp(1684098540, 0)}
);
REST API
ระบบรองรับการอ่าน PITR ในเมธอดอ่านทั้งหมดของ Cloud Firestore ซึ่งได้แก่ get, list, batchGet, listCollectionIds, listDocuments, runQuery, runAggregationQuery, และ partitionQuery
หากต้องการอ่านโดยใช้เมธอด REST ให้ลองใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
ในคำขอเมธอดอ่าน ให้ส่งค่า
readTimeเป็นการประทับเวลา PITR ที่รองรับในเมธอดreadOptionsการประทับเวลา PITR อาจเป็นการประทับเวลาที่มีความแม่นยำระดับไมโครวินาทีภายใน 1 ชั่วโมงที่ผ่านมา หรือการประทับเวลาแบบเต็มนาทีที่เกิน 1 ชั่วโมงที่ผ่านมา แต่ต้องไม่เก่ากว่าearliestVersionTimeใช้พารามิเตอร์
readTimeร่วมกับเมธอดBeginTransactionซึ่งเป็นส่วนหนึ่งของธุรกรรมReadOnlyสำหรับการอ่าน PITR หลายรายการ
Apache Beam
ใช้เครื่องมือเชื่อมต่อ Cloud FirestoreIO Apache Beam เพื่ออ่านหรือเขียนเอกสารในฐานข้อมูล Cloud Firestore ในระดับขนาดใหญ่ด้วย Dataflow
ระบบรองรับการอ่าน PITR ในเมธอดอ่านต่อไปนี้ของเครื่องมือเชื่อมต่อ
Cloud FirestoreIO เมธอดอ่านเหล่านี้รองรับเมธอด withReadTime(@Nullable Instant readTime) ที่คุณใช้สำหรับการอ่าน PITR ได้
- FirestoreV1.BatchGetDocuments
- FirestoreV1.ListCollectionIds
- FirestoreV1.ListDocuments
- FirestoreV1.PartitionQuery
Java
คุณสามารถใช้โค้ดต่อไปนี้กับโค้ดไปป์ไลน์ Dataflow ตัวอย่างสำหรับการดำเนินการอ่านหรือเขียนแบบกลุ่ม ตัวอย่างนี้ใช้เมธอด withReadTime(@Nullable Instant readTime) สำหรับการอ่าน PITR
Instant readTime = Instant.ofEpochSecond(1684098540L);
PCollection<Document> documents =
pipeline
.apply(Create.of(collectionId))
.apply(
new FilterDocumentsQuery(
firestoreOptions.getProjectId(), firestoreOptions.getDatabaseId()))
.apply(FirestoreIO.v1().read().runQuery().withReadTime(readTime).withRpcQosOptions(rpcQosOptions).build())
...
ดูรายการตัวอย่าง readTime ทั้งหมดในไปป์ไลน์ Dataflow
ได้ที่ ที่เก็บ GitHub
โคลนจากฐานข้อมูล
คุณสามารถโคลนฐานข้อมูลที่มีอยู่ ณ การประทับเวลาที่เลือกไปยังฐานข้อมูลใหม่ได้โดยทำดังนี้
ฐานข้อมูลที่โคลนจะเป็นฐานข้อมูลใหม่ที่สร้างขึ้นในตำแหน่งเดียวกับฐานข้อมูลต้นทาง
ในการสร้างโคลน Cloud Firestore ใช้ ข้อมูลการกู้คืนช่วงเวลา (PITR) ของฐานข้อมูลต้นทาง ฐานข้อมูลที่โคลนจะมีข้อมูลและดัชนีทั้งหมด
โดยค่าเริ่มต้น ฐานข้อมูลที่โคลนจะได้รับการเข้ารหัสในลักษณะเดียวกับฐานข้อมูลต้นทาง โดยใช้การเข้ารหัสเริ่มต้นของ Google หรือ การเข้ารหัส CMEK คุณสามารถระบุประเภทการเข้ารหัสอื่นหรือใช้คีย์อื่นสำหรับการเข้ารหัส CMEK ได้
การประทับเวลามีความละเอียดระดับ 1 นาทีและระบุช่วงเวลา ในอดีตภายในระยะเวลาที่กำหนดโดย หน้าต่าง PITR ดังนี้
- หากเปิดใช้ PITR สำหรับฐานข้อมูล คุณจะเลือกนาทีใดก็ได้ใน 7 วันที่ผ่านมา (หรือน้อยกว่าหากเปิดใช้ PITR ไม่ถึง 7 วัน)
- หากไม่ได้เปิดใช้ PITR คุณจะเลือกนาทีใดก็ได้ในชั่วโมงที่ผ่านมา
- คุณสามารถตรวจสอบการประทับเวลาที่เก่าที่สุดที่คุณสามารถเลือกได้ ในคำอธิบายของฐานข้อมูล
คอนโซล
Firebase Console ไม่รองรับการโคลนฐานข้อมูล คุณสามารถใช้ คำแนะนำสำหรับ Google Cloud CLI เพื่อโคลนฐานข้อมูลได้
gcloud
ใช้คำสั่ง
gcloud firestore databases clone
เพื่อโคลนฐานข้อมูล
gcloud firestore databases clone \
--source-database='SOURCE_DATABASE' \
--snapshot-time='PITR_TIMESTAMP' \
--destination-database='DESTINATION_DATABASE_ID'
แทนที่ข้อมูลต่อไปนี้
SOURCE_DATABASE: ชื่อฐานข้อมูลของฐานข้อมูลที่มีอยู่ซึ่งคุณต้องการโคลน ชื่อใช้รูปแบบ
projects/PROJECT_ID/databases/SOURCE_DATABASE_IDPITR_TIMESTAMP: การประทับเวลา PITR ในรูปแบบ RFC 3339 ที่มีความละเอียดระดับนาที เช่น
2025-06-01T10:20:00.00Zหรือ2025-06-01T10:30:00.00-07:00DESTINATION_DATABASE_ID: รหัสฐานข้อมูล สำหรับฐานข้อมูลที่โคลนใหม่ รหัสฐานข้อมูลนี้ต้องไม่เชื่อมโยงกับฐานข้อมูลที่มีอยู่
ตัวอย่าง
gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db'
หากต้องการผูกกับแท็กบางรายการขณะโคลนฐานข้อมูล ให้ใช้คำสั่งก่อนหน้าพร้อมกับแฟล็ก --tags ซึ่งเป็นรายการแท็ก KEY=VALUE ที่ไม่บังคับเพื่อผูก
ตัวอย่าง
gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db' \
--tags=key1=value1,key2=value2
โดยค่าเริ่มต้น ฐานข้อมูลที่โคลนจะมีการกำหนดค่าการเข้ารหัสแบบเดียวกับฐานข้อมูลต้นทาง หากต้องการเปลี่ยนการกำหนดค่าการเข้ารหัส ให้ใช้การโต้แย้ง --encryption-type ดังนี้
- (ค่าเริ่มต้น)
use-source-encryption: ใช้การกำหนดค่าการเข้ารหัสแบบเดียวกับฐานข้อมูลต้นทาง google-default-encryption: ใช้การเข้ารหัสเริ่มต้นของ Googlecustomer-managed-encryption: ใช้การเข้ารหัส CMEK ระบุ รหัสคีย์ ในการโต้แย้ง--kms-key-name
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าการเข้ารหัส CMEK สำหรับฐานข้อมูลที่โคลน
gcloud firestore databases clone \
--source-database='projects/example-project/databases/(default)' \
--snapshot-time='2025-06-01T10:20:00.00Z' \
--destination-database='example-dest-db' \
--encryption-type='customer-managed-encryption' \
--kms-key-name='projects/example-project/locations/us-central1/keyRings/example-key-ring/cryptoKeys/example-key'
Firebase CLI
ใช้คำสั่ง firebase firestore:databases:clone เพื่อโคลนฐานข้อมูล
firebase firestore:databases:clone \
'SOURCE_DATABASE' \
'DESTINATION_DATABASE' \
--snapshot-time 'PITR_TIMESTAMP'
แทนที่ข้อมูลต่อไปนี้
SOURCE_DATABASE: ชื่อฐานข้อมูลของฐานข้อมูลที่มีอยู่ซึ่งคุณต้องการโคลน ชื่อใช้รูปแบบ
projects/PROJECT_ID/databases/SOURCE_DATABASE_IDDESTINATION_DATABASE: ชื่อฐานข้อมูล สำหรับฐานข้อมูลที่โคลนใหม่ ชื่อใช้รูปแบบ
projects/PROJECT_ID/databases/DESTINATION_DATABASE_IDชื่อฐานข้อมูลนี้ต้องไม่เชื่อมโยงกับฐานข้อมูลที่มีอยู่PITR_TIMESTAMP: การประทับเวลา PITR ในรูปแบบ RFC 3339 ที่มีความละเอียดระดับนาที เช่น
2025-06-01T10:20:00.00Zหรือ2025-06-01T10:30:00.00-07:00หากไม่ได้ระบุ สแนปชอตที่เลือกจะเป็นเวลาปัจจุบันที่ปัดลงเป็นนาที
โดยค่าเริ่มต้น ฐานข้อมูลที่โคลนจะมีการกำหนดค่าการเข้ารหัสแบบเดียวกับฐานข้อมูลต้นทาง หากต้องการเปลี่ยนการกำหนดค่าการเข้ารหัส ให้ใช้การโต้แย้ง --encryption-type ดังนี้
- (ค่าเริ่มต้น)
USE_SOURCE_ENCRYPTION: ใช้การกำหนดค่าการเข้ารหัสแบบเดียวกับฐานข้อมูลต้นทาง GOOGLE_DEFAULT_ENCRYPTION: ใช้การเข้ารหัสเริ่มต้นของ GoogleCUSTOMER_MANAGED_ENCRYPTION: ใช้การเข้ารหัส CMEK ระบุ รหัสคีย์ ในการโต้แย้ง--kms-key-name
ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าการเข้ารหัส CMEK สำหรับฐานข้อมูลที่โคลน
firebase firestore:databases:clone \
'projects/example-project/databases/(default)' \
'projects/example-project/databases/example-dest-db' \
--snapshot-time 'PITR_TIMESTAMP' \
--encryption-type CUSTOMER_MANAGED_ENCRYPTION
ข้อจำกัด
การดำเนินการโคลนจะไม่โคลนApp Engineข้อมูลการค้นหาหรือเอนทิตี Blobจากฐานข้อมูล(default) ข้อมูลนี้ใช้ได้กับฐานข้อมูล (default) เท่านั้น และจะไม่มีประโยชน์หากคุณโคลนจาก (default) ไปยังฐานข้อมูลที่ไม่รองรับข้อมูลดังกล่าว ดังนั้นระบบจึงยกเว้นข้อมูลนี้จากการโคลน
ส่งออกและนำเข้าจากข้อมูล PITR
คุณสามารถส่งออกฐานข้อมูลไปยัง Cloud Storage จากข้อมูล PITR
ได้โดยใช้คำสั่ง gcloud firestore export คุณสามารถส่งออกข้อมูล PITR ที่การประทับเวลาเป็นการประทับเวลาแบบเต็มนาทีภายใน 7 วันที่ผ่านมา แต่ต้องไม่เก่ากว่า earliestVersionTime หากข้อมูลไม่มีอยู่อีกต่อไป ณ การประทับเวลาที่ระบุ การดำเนินการส่งออกจะล้มเหลว
การดำเนินการส่งออก PITR รองรับตัวกรองทั้งหมด รวมถึงการส่งออกเอกสารทั้งหมดและการส่งออกคอลเล็กชันที่เฉพาะเจาะจง
ส่งออกฐานข้อมูลโดยระบุพารามิเตอร์
snapshot-timeเป็นการประทับเวลาการกู้คืนที่เลือกgcloud
เรียกใช้คำสั่งต่อไปนี้เพื่อส่งออกฐานข้อมูลไปยัง Bucket
gcloud firestore export gs://BUCKET_NAME_PATH \ --snapshot-time=PITR_TIMESTAMP \ --collection-ids=COLLECTION_IDS \ --namespace-ids=NAMESPACE_IDSโดยที่
BUCKET_NAME_PATH- Bucket Cloud Storage ที่ถูกต้องพร้อมคำนำหน้าเส้นทางที่ไม่บังคับซึ่งใช้เก็บไฟล์ที่ส่งออกPITR_TIMESTAMP- การประทับเวลา PITR ที่มีความละเอียดระดับนาที เช่น2023-05-26T10:20:00.00Zหรือ2023-10-19T10:30:00.00-07:00COLLECTION_IDS- รายการรหัสคอลเล็กชันหรือรหัสกลุ่มคอลเล็กชัน เช่น'specific-collection-group1','specific-collection-group2'NAMESPACE_IDS- รายการรหัสเนมสเปซ เช่น'customer','orders'
โปรดทราบประเด็นต่อไปนี้ก่อนส่งออกข้อมูล PITR
- ระบุการประทับเวลาในรูปแบบ RFC 3339
เช่น
2023-05-26T10:20:00.00Zหรือ2023-10-19T10:30:00.00-07:00 - ตรวจสอบว่าการประทับเวลาที่ระบุเป็นการประทับเวลาแบบเต็มนาทีภายใน 7 วันที่ผ่านมา แต่ต้องไม่เก่ากว่า
earliestVersionTimeหากข้อมูลไม่มีอยู่อีกต่อไป ณ การประทับเวลาที่ระบุ ระบบจะสร้างข้อผิดพลาด การประทับเวลาต้องเป็นแบบเต็มนาที แม้ว่าเวลาที่ระบุจะอยู่ในชั่วโมงที่ผ่านมาก็ตาม - ระบบจะไม่เรียกเก็บเงินสำหรับการส่งออก PITR ที่ไม่สำเร็จ
นำเข้าไปยังฐานข้อมูล
ใช้ขั้นตอนในหัวข้อนำเข้าเอกสารทั้งหมดเพื่อนำเข้าฐานข้อมูลที่ส่งออก หากมีเอกสารอยู่ในฐานข้อมูลอยู่แล้ว ระบบจะเขียนทับเอกสารนั้น