Penyimpanan metadata

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

Ringkasan

Storage Transfer Service mempertahankan metadata berikut:

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

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

  • Untuk transfer dari sumber apa pun ke bucket Cloud Storage, kelas penyimpanan objek di bucket tujuan dapat ditetapkan ke class 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.

  • Hanya untuk transfer antarsistem file, jika UID, GID, atau MODE dipertahankan, metadata tersebut juga akan dipertahankan untuk folder. Cloud Storage membuat ulang folder pada sistem file tujuan dan memulihkan UID, GID, dan/atau MODE. Termasuk folder kosong. mtime tidak dipertahankan.

    Metadata tingkat folder tidak akan dipertahankan jika transfer dilakukan melalui manifes.

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

Perilaku penyimpanan metadata

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

Amazon 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 buatan pengguna Amazon S3, yang diformat sebagai key:value pair. Untuk mengetahui informasi selengkapnya, lihat bagian Metadata objek yang ditentukan pengguna dari Kunci objek dan metadata.

Dipertahankan sebagai kolom metadata kustom pada objek Cloud Storage tujuan, yang dapat diedit atau dihapus nanti.

ETag Dipertahankan sebagai kolom metadata kustom dengan kunci x-goog-source-etag, yang dapat diedit atau dihapus nanti.
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 Anda tetapkan 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 pada Metadata dan kunci objek.

Tidak dipertahankan.

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

Kelas penyimpanan

Ada beberapa opsi untuk menyetel kelas penyimpanan selama transfer.

  • Tetapkan kelas penyimpanan setiap 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 buatan pengguna Microsoft Azure Storage, yang diformat sebagai key:value pair. Untuk mengetahui informasi selengkapnya, baca Setelan dan pengambilan properti serta metadata untuk resource layanan Blob .

Dipertahankan sebagai kolom metadata kustom pada objek Cloud Storage tujuan, yang dapat diedit atau dihapus nanti.

ETag Dipertahankan sebagai kolom metadata kustom dengan kunci x-goog-source-etag, yang dapat diedit atau dihapus nanti.
Ukuran objek. Dipertahankan sebagai size.
Izin sistem file POSIX yang didukung oleh Azure Data Lake Storage (ADLS) Gen 2. Tidak dipertahankan.
Kontrol akses Microsoft Azure Storage, khususnya x-ms-blob-public-access. Untuk informasi selengkapnya, lihat bagian Header Respons dalam Mendapatkan ACL Container . Tidak dipertahankan.
Tag indeks Microsoft Azure Storage. Untuk mengetahui informasi selengkapnya, baca 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, baca Menetapkan Metadata Blob .

Tidak dipertahankan.

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

Kelas penyimpanan

Ada beberapa opsi untuk menyetel kelas penyimpanan selama transfer.

  • Tetapkan kelas penyimpanan setiap 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 buatan pengguna Cloud Storage, yang diformat sebagai key:value pair. Untuk mengetahui informasi selengkapnya, lihat Metadata kustom.

Dipertahankan sebagai kolom metadata kustom pada objek Cloud Storage tujuan, yang dapat diedit atau dihapus nanti.

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

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

Penangguhan sementara dipertahankan secara default. Untuk menghapus penangguhan sementara selama transfer, tetapkan kolom temporaryHold 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 mengetahui informasi selengkapnya, lihat dokumentasi Daftar Kontrol Akses Cloud Storage.

Kelas penyimpanan

Ada beberapa opsi untuk menyetel kelas penyimpanan selama transfer.

  • Tetapkan kelas penyimpanan setiap objek ke kelas penyimpanan bucket tujuan. Ini adalah perilaku default.
  • Pertahankan class 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 sebuah objek, maka 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 dipertahankan 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 mengetahui 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 telah diperbaiki, 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, nilai tersebut tidak akan dipertahankan.

Perilaku preservasi 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 perubahan, dan metadata khusus sumber lainnya.

Tidak dipertahankan.

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

Kelas penyimpanan

Ada beberapa opsi untuk menyetel kelas penyimpanan selama transfer.

  • Tetapkan kelas penyimpanan setiap 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 secara opsional dapat mempertahankan atribut tertentu sebagai metadata kustom. Jika file ini nantinya ditulis kembali ke sistem file, Storage Transfer Service dapat mengonversi kembali metadata yang dipertahankan ke atribut POSIX.

Contoh metadata Perilaku preservasi
Waktu diubah (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 preservasi ditentukan dengan objek metadataOptions. Lihat Mempertahankan metadata POSIX opsional untuk detailnya.

Perilaku defaultnya adalah tidak mempertahankan metadata apa pun.

Metadata folder Metadata tingkat folder hanya dipertahankan untuk transfer antar-sistem file. Setelan preservasi UID, GID, dan MODE transfer diterapkan ke 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 menyetel kelas penyimpanan selama transfer.

  • Tetapkan kelas penyimpanan setiap 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 yang terakhir, metadata harus 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 key:value pair metadata khusus.

  • 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 sesuai dengan root_directory.
  • Metadata objek:
    • Setiap 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 symlink sym-> dir1/target, isi objeknya 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 tersebut saat ditransfer kembali ke sistem file POSIX.

Jika opsi metadata ditetapkan ke dipertahankan, Storage Transfer Service akan melakukan 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 tersimpan dalam metadata Cloud Storage akan ditulis kembali ke file.

POSIX ke POSIX

Transfer antar-sistem file dapat mempertahankan GID, UID, dan MODE secara opsional untuk file dan folder.

Waktu terakhir diubah disimpan untuk file, tetapi tidak untuk folder. mtime disetel 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 kembali metadata tersebut ke folder pada sistem file tujuan. Karena alasan ini, jumlah objek yang dibuat di bucket perantara mungkin lebih besar dari jumlah file yang ditransfer.