Penyimpanan metadata

Dokumen ini menjelaskan metadata yang dipertahankan saat Anda menggunakan Storage Transfer Service untuk mentransfer data di antara berbagai sumber dan tujuan.

Ringkasan

Storage Transfer Service mempertahankan metadata berikut:

  • Metadata kustom yang dibuat pengguna untuk transfer yang berasal dari Cloud Storage, Amazon S3, atau Microsoft Azure Blob Storage akan dipertahankan.

  • Transfer antar-bucket Cloud Storage dapat secara opsional mempertahankan ACL objek, kunci enkripsi yang dikelola pelanggan, class penyimpanan, waktu pembuatan objek (sebagai nilai kolom customTime), dan penangguhan sementara.

  • Untuk transfer dari sumber apa pun ke bucket Cloud Storage, class penyimpanan objek di bucket tujuan dapat ditetapkan ke class apa pun yang didukung sebagai bagian dari transfer.

  • Ukuran file dan waktu terakhir diubah (mtime) dipertahankan untuk transfer yang berasal dari sistem file POSIX. mtime tidak dipertahankan untuk folder.

  • Secara opsional, symlink, UID numerik, GID numerik, dan MODE numerik dapat dipertahankan untuk transfer ke dan dari sistem file POSIX.

  • Khusus untuk transfer antarsistem file, jika UID, GID, atau MODE dipertahankan, metadata tersebut juga akan dipertahankan untuk folder. Cloud Storage membuat ulang folder di sistem file tujuan dan memulihkan UID, GID, dan/atau MODE. Hal ini mencakup folder kosong. mtime tidak dipertahankan.

    Metadata tingkat folder tidak dipertahankan jika transfer dilakukan melalui manifes.

Kolom metadata yang tidak disebutkan secara eksplisit dalam dokumen ini tidak akan disimpan.

Perilaku penyimpanan metadata

Bagian berikut mencantumkan contoh metadata dari berbagai sistem penyimpanan sumber dan cara Storage Transfer Service mempertahankan metadata dari setiap sistem. Untuk mengetahui daftar metadata yang lengkap, lihat dokumentasi sistem penyimpanan sumber.

Amazon S3 atau penyimpanan yang kompatibel dengan S3 ke Cloud Storage

Contoh metadata Perilaku preservasi
Kolom metadata kunci tetap Amazon S3, seperti: Cache-Control, Content-Disposition, dan Content-Type. Dipertahankan sebagai metadata kunci tetap.
Metadata yang ditentukan pengguna Amazon S3, yang diformat sebagai pasangan kunci:nilai. Untuk mengetahui informasi selengkapnya, lihat bagian Metadata objek yang ditentukan pengguna di Kunci dan metadata objek.

Dipertahankan sebagai kolom metadata kustom di objek Cloud Storage tujuan, yang dapat Anda edit nanti atau hapus.

ETag Disimpan sebagai kolom metadata kustom dengan kunci x-goog-source-etag, yang dapat Anda edit nanti atau hapus.
Ukuran objek. Dipertahankan sebagai size.
Daftar kontrol akses (ACL) Amazon S3. Untuk mengetahui daftar lengkapnya, lihat bagian Kunci Kondisi di Ringkasan Daftar Kontrol Akses (ACL). Tidak dipertahankan.
Tag objek Amazon S3, yang ditentukan oleh Anda sebagai key-value pair. Untuk mengetahui informasi selengkapnya, lihat Tag Objek. Tidak dipertahankan.
Metadata yang ditentukan sistem Amazon S3, kecuali untuk ETag dan ukuran objek. Untuk mengetahui daftar lengkapnya, lihat bagian Metadata objek yang ditentukan sistem di Kunci dan metadata objek.

Tidak dipertahankan.

Metadata stempel waktu dari sumber tidak dipertahankan. Waktu pembuatan, timeCreated, mencerminkan waktu pembuatan objek di Cloud Storage. Demikian pula, updated mencerminkan waktu saat metadata untuk objek diubah di Cloud Storage.

Kelas penyimpanan

Ada beberapa opsi untuk menetapkan class penyimpanan selama transfer.

  • Tetapkan setiap kelas penyimpanan objek ke kelas penyimpanan bucket tujuan. Ini adalah perilaku default.
  • Menetapkan kelas penyimpanan tertentu pada semua objek yang ditransfer.

Lihat dokumentasi referensi metadataOptions untuk mengetahui detailnya.

Microsoft Azure Storage ke Cloud Storage

Contoh metadata Perilaku preservasi
Kolom metadata kunci tetap Microsoft Azure Storage, seperti: Cache-Control, Content-Disposition, dan Content-Type. Dipertahankan sebagai metadata kunci tetap.
Metadata yang ditentukan pengguna Microsoft Azure Storage, yang diformat sebagai pasangan kunci:nilai. Untuk mengetahui informasi selengkapnya, lihat Menetapkan dan mengambil properti serta metadata untuk resource layanan Blob .

Dipertahankan sebagai kolom metadata kustom di objek Cloud Storage tujuan, yang dapat Anda edit nanti atau hapus.

ETag Disimpan sebagai kolom metadata kustom dengan kunci x-goog-source-etag, yang dapat Anda edit nanti atau hapus.
Ukuran objek. Dipertahankan sebagai size.
Izin sistem file POSIX yang didukung oleh Azure Data Lake Storage Gen 2. Tidak dipertahankan.
Kontrol akses Microsoft Azure Storage, khususnya x-ms-blob-public-access. Untuk mengetahui informasi selengkapnya, lihat bagian Header Respons di Mendapatkan ACL Penampung . Tidak dipertahankan.
Tag indeks Microsoft Azure Storage. Untuk informasi selengkapnya, lihat Mengelola dan menemukan data Azure Blob dengan tag indeks blob . Tidak dipertahankan.
Metadata stempel waktu Microsoft Azure Storage, seperti: Last-Modified, x-ms-creation-time, x-ms-version, x-ms-request-server-encrypted, dan x-ms-encryption-scope. Untuk mengetahui informasi selengkapnya, lihat Menetapkan Metadata Blob .

Tidak dipertahankan.

Metadata stempel waktu dari sumber tidak dipertahankan. Waktu pembuatan, timeCreated, mencerminkan waktu pembuatan objek di Cloud Storage. Demikian pula, updated mencerminkan waktu saat metadata untuk objek diubah di Cloud Storage.

Kelas penyimpanan

Ada beberapa opsi untuk menetapkan class penyimpanan selama transfer.

  • Tetapkan setiap kelas penyimpanan objek ke kelas penyimpanan bucket tujuan. Ini adalah perilaku default.
  • Menetapkan kelas penyimpanan tertentu pada semua objek yang ditransfer.

Lihat dokumentasi referensi metadataOptions untuk mengetahui detailnya.

Transfer antar-bucket Cloud Storage

Contoh metadata Perilaku preservasi

Kolom metadata kunci tetap Cloud Storage, seperti: Cache-Control, Content-Disposition, dan Content-Type.

Untuk mengetahui informasi selengkapnya, lihat Metadata objek

Dipertahankan sebagai metadata kunci tetap.

Metadata yang ditentukan pengguna Cloud Storage, yang diformat sebagai pasangan kunci:nilai. Untuk mengetahui informasi selengkapnya, lihat Metadata kustom.

Dipertahankan sebagai kolom metadata kustom di objek Cloud Storage tujuan, yang dapat Anda edit nanti atau hapus.

Ukuran objek Dipertahankan sebagai size.
Pembuatan objek Dipertahankan sebagai kolom metadata kustom dengan kunci x-goog-reserved-source-generation, yang dapat Anda edit nanti atau hapus.
Penangguhan objek

Penangguhan berbasis peristiwa tidak dipertahankan. Jika bucket tujuan mengaktifkan properti penangguhan berbasis peristiwa default, penangguhan berbasis peristiwa akan diterapkan ke objek yang ditransfer.

Penangguhan sementara dipertahankan secara default. Untuk menghapus penangguhan sementara selama transfer, tetapkan kolom temporaryHold dari objek metadataOptions ke TEMPORARY_HOLD_SKIP.

Daftar Kontrol Akses (ACL)

ACL dapat dipertahankan secara opsional. Lihat dokumentasi referensi metadataOptions untuk mengetahui detailnya.

Saat mempertahankan ACL, berhati-hatilah untuk menghindari pembuatan objek yang tidak dapat diakses.

Untuk informasi selengkapnya, lihat dokumentasi Daftar Kontrol Akses Cloud Storage.

Kelas penyimpanan

Ada beberapa opsi untuk menetapkan class penyimpanan selama transfer.

  • Tetapkan setiap kelas penyimpanan objek ke kelas penyimpanan bucket tujuan. Ini adalah perilaku default.
  • Mempertahankan kelas penyimpanan objek sumber.
  • Menetapkan kelas penyimpanan tertentu pada semua objek yang ditransfer.

Lihat dokumentasi referensi metadataOptions untuk mengetahui detailnya.

Kunci enkripsi yang dikelola pelanggan

Jika kunci enkripsi yang dikelola pelanggan (CMEK) digunakan pada objek, objek tersebut dapat secara opsional menggunakan kunci yang sama saat ditulis ke bucket tujuan.

Perilaku default-nya adalah menulis objek ke bucket tujuan menggunakan metode enkripsi bucket.

Saat mempertahankan CMEK asli, perhatikan batasan berikut:

Lihat dokumentasi referensi metadataOptions untuk mengetahui detailnya.

Metadata stempel waktu

timeCreated dapat dipertahankan secara opsional. Nilai yang disimpan disimpan di kolom customTime objek yang ditransfer di Cloud Storage. Lihat dokumentasi referensi metadataOptions untuk mengetahui detailnya.

Metadata updated tidak dipertahankan.

Metadata Cloud Storage lainnya yang tidak dapat diedit, seperti etag dan componentCount. Tidak Dipertahankan.

Untuk daftar metadata di Cloud Storage, lihat Objek.

Transfer daftar URL ke Cloud Storage

Untuk informasi selengkapnya tentang daftar URL, lihat Membuat daftar URL.

Contoh metadata Perilaku preservasi
Kolom metadata kunci tetap, seperti: Cache-Control, Content-Disposition, dan Content-Type. Dipertahankan sebagai metadata yang dapat diedit.
Content-Length dan MD5

Dipertahankan sebagai metadata yang tidak dapat diedit.

Jika sumber tidak memberikan nilai hash MD5, maka kami tidak akan mempertahankan nilai.

Perilaku pelestarian ini khusus untuk Content-Length dan MD5. Metadata lain yang tidak dapat diedit dan tidak tercantum tidak akan dipertahankan.

Metadata stempel waktu, seperti: Waktu pembuatan, waktu diubah, dan metadata khusus sumber lainnya.

Tidak dipertahankan.

Metadata stempel waktu dari sumber tidak dipertahankan. Waktu pembuatan, timeCreated, mencerminkan waktu pembuatan objek di Cloud Storage. Demikian pula, updated mencerminkan waktu saat metadata untuk objek diubah di Cloud Storage.

Kelas penyimpanan

Ada beberapa opsi untuk menetapkan class penyimpanan selama transfer.

  • Tetapkan setiap kelas penyimpanan objek ke kelas penyimpanan bucket tujuan. Ini adalah perilaku default.
  • Menetapkan kelas penyimpanan tertentu pada semua objek yang ditransfer.

Lihat dokumentasi referensi metadataOptions untuk mengetahui detailnya.

Transfer sistem file POSIX

Saat mentransfer file dari sistem file POSIX, Storage Transfer Service dapat secara opsional menyimpan atribut tertentu sebagai metadata kustom. Jika file ini nantinya ditulis kembali ke sistem file, Storage Transfer Service dapat mengonversi metadata yang dipertahankan kembali ke atribut POSIX.

Contoh metadata Perilaku preservasi
Waktu perubahan (mtime)

Dipertahankan.

mtime dipertahankan sebagai metadata kustom dengan kunci goog-reserved-file-mtime.

Ukuran file

Dipertahankan.

Ukuran file dipertahankan sebagai size.

UID numerik
GID numerik
MODE numerik
Link simbolis

Opsional.

Perilaku pelestarian ditentukan dengan objek metadataOptions. Lihat Mempertahankan metadata POSIX opsional untuk mengetahui detailnya.

Perilaku default-nya adalah tidak mempertahankan metadata apa pun.

Metadata folder Metadata tingkat folder hanya dipertahankan untuk transfer antar-sistem file. Setelan perlindungan UID, GID, dan MODE transfer berlaku untuk file dan folder untuk transfer ini.

mtime tidak dipertahankan untuk folder. mtime ditetapkan ke waktu pembuatan folder di sistem file tujuan.

Metadata folder tidak dipertahankan untuk transfer manifes.

Kelas penyimpanan

Ada beberapa opsi untuk menetapkan class penyimpanan selama transfer.

  • Tetapkan setiap kelas penyimpanan objek ke kelas penyimpanan bucket tujuan. Ini adalah perilaku default.
  • Menetapkan kelas penyimpanan tertentu pada semua objek yang ditransfer.

Lihat dokumentasi referensi metadataOptions untuk mengetahui detailnya.

Mempertahankan metadata POSIX opsional

Untuk mempertahankan satu atau beberapa UID numerik, GID numerik, MODE numerik, dan link simbolis, tentukan objek metadataOptions dalam isi tugas transfer Anda.

Opsi ini berlaku untuk transfer POSIX ke Cloud Storage dan transfer Cloud Storage ke POSIX. Untuk opsi kedua, metadata harus telah dipertahankan saat file awalnya ditransfer ke Cloud Storage.

{
  "description": "metadata-example",
  "projectId": "example-project-id"
  "transferSpec": {
    ...
    "transferOptions": {
      "metadataOptions": {
        "gid":     "GID_NUMBER",       # Default is "GID_SKIP"
        "uid":     "UID_NUMBER",       # Default is "UID_SKIP"
        "mode":    "MODE_PRESERVE",    # Default is "MODE_SKIP"
        "symlink": "SYMLINK_PRESERVE"  # Default is "SYMLINK_SKIP"
      }
    }
  }
}

POSIX ke Cloud Storage

Metadata yang dipertahankan disimpan di Cloud Storage sebagai pasangan kunci:nilai metadata kustom.

  • GID numerik disimpan sebagai goog-reserved-posix-gid.
  • UID numerik disimpan sebagai goog-reserved-posix-uid.
  • MODE Numerik disimpan sebagai goog-reserved-posix-mode.

Untuk link simbolis, Storage Transfer Service mempertahankan link target sebagai objek di Cloud Storage dengan kualitas berikut:

  • Kunci objek terdiri dari awalan tujuan ditambah jalur ke symlink, yang relatif terhadap root_directory.
  • Metadata objek:
    • Semua metadata symlink dipertahankan sebagai metadata objek Cloud Storage.
    • Entri metadata kustom dibuat: goog-reserved-file-is-symlink:true.
  • Konten objek adalah target symlink. Misalnya, untuk sym-> dir1/target symlink, konten objek adalah "dir1/target".

Storage Transfer Service tidak memvalidasi link atau menyalin file target.

Cloud Storage ke POSIX

Jika metadata dipertahankan saat file ditransfer ke Cloud Storage, metadata tersebut dapat ditulis kembali ke file saat ditransfer kembali ke sistem file POSIX.

Jika opsi metadata ditetapkan untuk dipertahankan, Storage Transfer Service akan mengambil tindakan berikut:

  • Link simbolis: Storage Transfer Service membuat file symlink yang mengarah ke link target. Jika file target tidak ada, symlink akan rusak.
  • GID, UID, dan MODE: nilai yang disimpan dalam metadata Cloud Storage ditulis kembali ke file.

POSIX ke POSIX

Transfer antarsistem file dapat secara opsional mempertahankan GID, UID, dan MODE untuk file dan folder.

Waktu terakhir diubah disimpan untuk file, tetapi tidak untuk folder. mtime ditetapkan ke waktu pembuatan folder di sistem file tujuan.

Storage Transfer Service menyimpan metadata folder dengan membuat objek folder 0 byte di bucket perantara, lalu menyalin metadata tersebut kembali ke folder di sistem file tujuan. Oleh karena itu, jumlah objek yang dibuat di bucket perantara mungkin lebih besar daripada jumlah file yang ditransfer.