กู้คืนไฟล์ที่ถูกลบใน OneLake

OneLake soft delete ปกป้องข้อมูลของคุณโดยการเก็บไฟล์ที่ถูกลบไว้ก่อนการลบถาวร การลบแบบนุ่มนวลจะเปิดใช้งานสําหรับแต่ละพื้นที่ทํางานโดยค่าเริ่มต้นโดยมีระยะเวลาการเก็บรักษาเจ็ดวัน ผู้ดูแลระบบ workspace สามารถ ตั้งค่าการลบแบบนุ่มนวลในระดับไฟล์ หรือปิดการใช้งานได้

คุณสามารถกู้คืนไฟล์ที่ถูกลบแบบซอฟต์ในช่วงระยะเวลาการเก็บรักษาที่ยังคงใช้งานอยู่ในขณะที่ไฟล์ถูกลบ หลังจากช่วงเวลานั้นสิ้นสุดลง ไฟล์จะถูกลบถาวรและไม่สามารถกู้คืนได้ คุณชําระค่าข้อมูลที่ถูกลบแบบชั่วคราวในอัตราเดียวกับข้อมูลที่ใช้งานอยู่

กู้คืนไฟล์ที่ถูกลบแบบชั่วคราว

คุณสามารถคืนค่าไฟล์ที่ถูกลบแบบชั่วคราวได้โดยใช้ Azure Storage Explorer, Azure PowerShell หรือ Azure Storage REST API คุณต้องมีสิทธิ์เขียนไฟล์เพื่อกู้คืน

คืนค่าไฟล์โดยใช้ Azure Storage Explorer

Azure Storage Explorer มีส่วนติดต่อแบบภาพเพื่อเรียกดูและคืนค่าไฟล์ที่ถูกลบแบบชั่วคราว

เมื่อต้องการคืนค่าไฟล์โดยใช้ Azure Storage Explorer ตรวจสอบให้แน่ใจว่าคุณมี:

ใช้ขั้นตอนต่อไปนี้เพื่อคืนค่าแฟ้ม:

  1. เปิด Azure Storage Explorer และเชื่อมต่อกับพื้นที่ทํางาน OneLake ของคุณ

  2. ไปที่เลคเฮาส์หรือรายการข้อมูลที่มีไฟล์ที่ถูกลบ

  3. เลือกปุ่มดรอปดาวน์ถัดจากแถบเส้นทาง แล้วเลือก Blobs ที่ใช้งานอยู่และถูกลบแบบชั่วคราว แทน Blobs ที่ ใช้งานอยู่ เริ่มต้น

  4. เรียกดูโฟลเดอร์ที่มีไฟล์ที่ถูกลบ

  5. คลิกขวาที่แฟ้มที่ถูกลบแบบชั่วคราว แล้วเลือก ยกเลิกการลบ

  6. ไฟล์จะถูกคืนค่าไปยังตําแหน่งเดิมและพร้อมใช้งานทันที

คืนค่าแฟ้มโดยใช้ PowerShell

ใช้ Azure PowerShell เพื่อแสดงรายการและคืนค่าไฟล์ที่ถูกลบแบบชั่วคราวโดยทางโปรแกรม

เมื่อต้องการคืนค่าแฟ้มโดยใช้ PowerShell ตรวจสอบให้แน่ใจว่าคุณมี:

ใช้สคริปต์ต่อไปนี้เพื่อแสดงรายการแฟ้มที่ถูกลบแบบชั่วคราวในเส้นทางเฉพาะ:

# Connect to OneLake
$ctx = New-AzStorageContext -StorageAccountName "onelake" -UseConnectedAccount -endpoint "fabric.microsoft.com"

# List soft-deleted blobs in a container (workspace)
$workspaceName = "your-workspace-name"
$path = "your-lakehouse.Lakehouse/Files/"

Get-AzStorageBlob -Container $workspaceName -Context $ctx -Prefix $path -IncludeDeleted | 
    Where-Object { $_.IsDeleted } |
    Select-Object Name, DeletedTime, RemainingDaysBeforePermanentDelete

ใช้สคริปต์ต่อไปนี้เพื่อคืนค่าแฟ้มที่ถูกลบแบบชั่วคราว:

# Connect to OneLake
$ctx = New-AzStorageContext -StorageAccountName "onelake" -UseConnectedAccount -endpoint "fabric.microsoft.com"

# Restore a specific blob
$workspaceName = "your-workspace-name"
$blobPath = "your-lakehouse.Lakehouse/Files/deleted-file.parquet"

$deletedItems = Get-AzDataLakeGen2DeletedItem -Context $ctx -FileSystem $workspaceName -Path $blobPath
$deletedItems | Restore-AzDataLakeGen2DeletedItem

สําหรับตัวอย่าง PowerShell เพิ่มเติม โปรดดู กู้คืน Blobs และไดเรกทอรีที่ถูกลบแบบชั่วคราวโดยใช้ PowerShell

กู้คืนไฟล์โดยใช้ REST API

คุณยังสามารถคืนค่าไฟล์ที่ถูกลบแบบชั่วคราวได้โดยใช้ Azure Blob Storage REST API และ SDK การดําเนินการยกเลิกการลบ Blob จะคืนค่าเนื้อหาและข้อมูลเมตาของ Blob ที่ถูกลบแบบชั่วคราว

สําหรับข้อมูลเพิ่มเติม โปรดดู ยกเลิกการลบ Blob REST API