Membuat dan mengelola laporan inventaris

Halaman ini menjelaskan cara membuat dan mengelola konfigurasi laporan inventaris serta laporan inventaris yang dibuat, sehingga Anda bisa mendapatkan ringkasan tingkat tinggi dari semua metadata objek dalam bucket tertentu. Untuk membaca ringkasan laporan inventaris, lihat dokumentasi ringkasan laporan inventaris Insight Penyimpanan.

Sebelum memulai

Mendapatkan peran yang diperlukan

Guna mendapatkan izin yang diperlukan untuk membuat dan mengelola laporan inventaris, minta administrator untuk memberi Anda peran IAM berikut di project atau bucket sumber dan tujuan yang akan digunakan untuk mengelola laporan inventaris.

  • Untuk membuat dan mengelola konfigurasi laporan inventaris:

    • roles/storage.admin di bucket sumber dan bucket tujuan

    • roles/storageinsights.admin pada project

  • Untuk membaca dan mendownload laporan inventaris:

    • roles/storage.objectViewer pada bucket tujuan

    • roles/storageinsights.viewer pada project

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membuat serta mengelola konfigurasi dan laporan inventaris. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Untuk membuat dan mengelola konfigurasi laporan inventaris:

  • storage.buckets.get pada bucket sumber
  • storage.objects.list pada bucket sumber
  • storage.buckets.getObjectInsights pada bucket sumber
  • storage.buckets.get pada bucket tujuan
  • storage.objects.create pada bucket tujuan
  • storageinsights.reportConfigs.delete pada project
  • storageinsights.reportConfigs.get pada project
  • storageinsights.reportConfigs.create pada project
  • storageinsights.reportConfigs.list pada project
  • storageinsights.reportConfigs.update pada project

Untuk membaca dan mendownload laporan inventaris:

  • storage.objects.get pada bucket tujuan
  • storageinsights.reportDetails.get pada project
  • storageinsights.reportDetails.list pada project

Anda mungkin juga bisa mendapatkan izin ini dengan peran bawaan lainnya. Untuk mengetahui peran mana yang terkait dengan izin apa, lihat Peran IAM untuk Cloud Storage.

Guna mengetahui petunjuk penggunaan peran untuk mengontrol akses ke bucket, lihat Menggunakan IAM. Guna mengetahui petunjuk penggunaan peran untuk mengontrol akses ke project, lihat Mengelola akses.

Mengaktifkan Storage Insights API

Konsol

Untuk mengaktifkan storageinsights.googleapis.com API, ikuti petunjuk dalam artikel Mengaktifkan layanan.

Command line

Untuk mengaktifkan Storage Insights API di project saat ini, jalankan perintah berikut:

gcloud services enable storageinsights.googleapis.com

Guna mengetahui detail selengkapnya tentang cara mengaktifkan layanan untuk project Google Cloud, baca artikel Mengaktifkan dan menonaktifkan layanan.

REST API

JSON API

Gunakan Konsol Google Cloud atau Google Cloud CLI untuk mengaktifkan Storage Insights API.

Membuat konfigurasi laporan inventaris

Konsol

Untuk membuat konfigurasi laporan inventaris, selesaikan langkah-langkah berikut:

  1. Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.

    Buka Bucket

  2. Di daftar bucket, klik nama bucket yang ingin Anda gunakan sebagai bucket sumber.

  3. Di halaman Detail bucket, klik tab Laporan inventaris.

  4. Klik Buat konfigurasi laporan.

  5. Di bagian Identifikasi konfigurasi laporan, buat nama tampilan untuk konfigurasi laporan inventaris. Nama tampilan dapat berisi maksimal 256 karakter.

  6. Di bagian Pilih kolom metadata, pilih kolom metadata yang ingin Anda sertakan dalam laporan inventaris.

  7. Klik Lanjutkan.

  8. Di bagian Pilih format file, pilih format file yang ingin Anda gunakan untuk membuat laporan inventaris.

  9. Di bagian Choose a destination bucket, pilih bucket yang ingin Anda gunakan sebagai bucket tujuan.

    Di bagian Masukkan jalur tujuan (opsional), Anda dapat secara opsional menentukan jalur tujuan tempat laporan inventaris akan dibuat.

  10. Di bagian Scheduling options, tentukan frekuensi, tanggal mulai, dan tanggal akhir untuk membuat laporan.

  11. Klik Buat.

    Halaman Detail konfigurasi laporan akan ditampilkan. Metadata laporan inventaris yang dibuat akan muncul di halaman.

Command line

  1. Untuk membuat konfigurasi laporan inventaris, jalankan perintah gcloud storage insights inventory-reports create:

    gcloud storage insights inventory-reports create SOURCE_BUCKET_URL \
      --csv-separator=SEPARATOR \
      --csv-delimiter=DELIMITER \
      --[no]-csv-header \
      --parquet \
      --display-name=DISPLAY_NAME \
      --destination=DESTINATION_PATH \
      --metadata-fields=METADATA_FIELD \
      --schedule-starts=START_DATE \
      --schedule-repeats=FREQUENCY \
      --schedule-repeats-until=END_DATE

    Ganti:

    • SOURCE_BUCKET_URL dengan URL bucket sumber. Contoh, gs://my_example_source_bucket.

    • SEPARATOR dengan karakter yang digunakan untuk memisahkan data dalam file CSV laporan inventaris. Nilainya harus \n atau \r\n. Nilai defaultnya adalah \n. Opsional. Jika flag --csv-separator digunakan, --parquet tidak dapat digunakan.

    • DELIMITER dengan pemisah yang memisahkan kolom dalam file CSV laporan inventaris. Nilainya dapat berisi satu karakter dan tidak boleh sama dengan SEPARATOR. Nilai defaultnya adalah ,. Opsional. Jika --csv-delimiter digunakan, --parquet tidak dapat digunakan.

    • --[no]-csv-header dengan flag yang menunjukkan apakah header disertakan dalam file CSV laporan inventaris atau tidak. Gunakan --csv-header untuk menyertakan header dan --no-csv-header untuk mengecualikan header. Jika salah satu flag digunakan, --parquet tidak dapat digunakan.

    • DISPLAY_NAME dengan nama konfigurasi laporan inventaris yang dapat diedit. Opsional.

    • --parquet dengan flag yang membuat laporan inventaris dalam format Apache Parquet, bukan CSV. Jika digunakan, --csv-delimiter, --csv-separator, dan --[no-]csv-header tidak dapat digunakan.

    • DESTINATION_PATH dengan bucket atau folder pada bucket tempat laporan inventaris akan dibuat. Misalnya, gs://my_example_destination_bucket atau gs://my_example_destination_bucket/path/to/inventory/report.

      Saat menentukan jalur ke folder dalam bucket, Anda dapat menggunakan kata kunci di jalur, yang diganti dengan nilai yang sesuai saat laporan dibuat. Hal ini memungkinkan Anda membuat laporan dalam format terpartisi Hive, sehingga Anda dapat memuat atau membuat kueri data di BigQuery tanpa pemrosesan tambahan.

    • METADATA_FIELD dengan daftar kolom metadata yang dipisahkan koma, yang ingin Anda sertakan dalam laporan inventaris.

    • START_DATE dengan tanggal UTC pada saat Anda ingin laporan inventaris untuk dibuat. Contoh, 2022-01-15.

    • FREQUENCY dengan frekuensi pembuatan laporan inventaris yang Anda inginkan. Nilai berupa daily atau weekly.

    • END_DATE dengan tanggal UTC yang setelahnya Anda ingin agar laporan inventaris berhenti dibuat. Harus berupa nilai setelah START_DATE. Misalnya, jika Anda menentukan 2022-02-15, laporan inventaris tidak akan lagi dihasilkan mulai 16 Februari 2022.

Library klien

Java

Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.

Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.


import com.google.cloud.storageinsights.v1.CSVOptions;
import com.google.cloud.storageinsights.v1.CloudStorageDestinationOptions;
import com.google.cloud.storageinsights.v1.CloudStorageFilters;
import com.google.cloud.storageinsights.v1.CreateReportConfigRequest;
import com.google.cloud.storageinsights.v1.FrequencyOptions;
import com.google.cloud.storageinsights.v1.LocationName;
import com.google.cloud.storageinsights.v1.ObjectMetadataReportOptions;
import com.google.cloud.storageinsights.v1.ReportConfig;
import com.google.cloud.storageinsights.v1.StorageInsightsClient;
import com.google.common.collect.ImmutableList;
import com.google.type.Date;
import java.io.IOException;

public class CreateInventoryReportConfig {

  public static void createInventoryReportConfig(
      String projectId, String bucketLocation, String sourceBucket, String destinationBucket)
      throws IOException {
    try (StorageInsightsClient storageInsightsClient = StorageInsightsClient.create()) {
      ReportConfig reportConfig =
          ReportConfig.newBuilder()
              .setDisplayName("Example inventory report configuration")
              .setFrequencyOptions(
                  FrequencyOptions.newBuilder()
                      .setFrequency(FrequencyOptions.Frequency.WEEKLY)
                      .setStartDate(Date.newBuilder().setDay(15).setMonth(8).setYear(3022).build())
                      .setEndDate(Date.newBuilder().setDay(15).setMonth(9).setYear(3022).build())
                      .build())
              .setCsvOptions(
                  CSVOptions.newBuilder()
                      .setDelimiter(",")
                      .setRecordSeparator("\n")
                      .setHeaderRequired(true)
                      .build())
              .setObjectMetadataReportOptions(
                  ObjectMetadataReportOptions.newBuilder()
                      .addAllMetadataFields(ImmutableList.of("project", "name", "bucket"))
                      .setStorageFilters(
                          CloudStorageFilters.newBuilder().setBucket(sourceBucket).build())
                      .setStorageDestinationOptions(
                          CloudStorageDestinationOptions.newBuilder()
                              .setBucket(destinationBucket)
                              .build())
                      .build())
              .build();
      CreateReportConfigRequest request =
          CreateReportConfigRequest.newBuilder()
              .setParent(LocationName.of(projectId, bucketLocation).toString())
              .setReportConfig(reportConfig)
              .build();
      ReportConfig response = storageInsightsClient.createReportConfig(request);
      System.out.println("Created inventory report config with name " + response.getName());
    }
  }
}

REST API

JSON API

Untuk membuat konfigurasi laporan inventaris, selesaikan langkah-langkah berikut:

  1. Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Buat file JSON berisi informasi berikut, yang semua kolomnya wajib diisi kecuali jika dinyatakan lain:

    {
      "display_name": "DISPLAY_NAME",
      "frequency_options": {
        "frequency": "FREQUENCY",
        "start_date": "START_DATE",
        "end_date": "END_DATE",
      },
      "csv_options": {
        "record_separator": "RECORD_SEPARATOR",
        "delimiter": "DELIMITER",
        "header_required": HEADER_REQUIRED
      },
      "object_metadata_report_options": {
         "metadata_fields": [
          "METADATA_FIELD",
          ...
        ],
        "storage_filters": {
          "bucket": "SOURCE_BUCKET_NAME"
        },
        "storage_destination_options": {
          "bucket": "DESTINATION_BUCKET_NAME",
          "destination_path": "DESTINATION_PATH"
        }
      }
    }

    Ganti:

    Misalnya, contoh kode berikut membuat konfigurasi laporan inventaris bernama "Contoh konfigurasi laporan inventaris" yang menghasilkan laporan dengan frekuensi mingguan:

    {
      "display_name": "Example inventory report configuration",
      "frequency_options": {
        "frequency": "WEEKLY",
        "start_date": {
          "day": 15,
          "month": 8,
          "year": 2022
        },
        "end_date": {
          "day": 15,
          "month": 9,
          "year": 2022
        },
      },
      "csv_options": {
        "record_separator": "\n",
        "delimiter": ",",
        "header_required": true
      },
      "object_metadata_report_options": {
         "metadata_fields": [
          "project",
          "name",
          "bucket"
        ],
        "storage_filters": {
          "bucket": "example_source_bucket"
        },
        "storage_destination_options": {
          "bucket": "example_destination_bucket"
        }
      }
    }
  3. Guna menerapkan konfigurasi laporan inventaris, gunakan cURL untuk memanggil JSON API dengan permintaan Insert ReportConfig:

    curl -X POST --data-binary @JSON_FILE_NAME \
    "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
    

    Ganti:

    • JSON_FILE_NAME dengan jalur ke file JSON yang Anda buat di langkah sebelumnya.

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.

    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.

Memberikan peran yang diperlukan ke agen layanan

Agen layanan level project secara otomatis dibuat saat Anda pertama kali menyiapkan konfigurasi laporan inventaris. Agen layanan mengikuti format penamaan service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com dan muncul di halaman IAM Konsol Google Cloud saat Anda mencentang kotak Sertakan pemberian peran yang disediakan Google.

Guna mengaktifkan Insight Penyimpanan guna membuat dan menulis laporan inventaris, minta administrator Anda untuk memberikan peran IAM berikut kepada agen layanan:

  • roles/storage.insightsCollectorService pada bucket sumber, yang mencakup izin storage.buckets.getObjectInsights dan storage.buckets.get
  • roles/storage.objectCreator pada bucket tujuan, yang menyertakan izin storage.objects.create

Untuk mengetahui petunjuk pemberian peran, lihat Menggunakan IAM. Anda dapat memberikan peran roles/storage.insightsCollectorService menggunakan Konsol Google Cloud atau Google Cloud CLI. Contoh:

gcloud storage buckets add-iam-policy-binding SOURCE_BUCKET_URL \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com \
    --role=roles/storage.insightsCollectorService

Setelah agen layanan diberi izin yang diperlukan, perlu waktu hingga 24 jam untuk menulis laporan inventaris pertama ke bucket tujuan.

Mengedit konfigurasi laporan inventaris

Setelah konfigurasi laporan inventaris dibuat, Anda dapat mengubah properti tertentu dari konfigurasi.

Konsol

Untuk mengedit konfigurasi laporan inventaris, ikuti langkah-langkah di bawah ini:

  1. Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.

    Buka Bucket

  2. Dalam daftar bucket, klik nama bucket sumber yang berisi konfigurasi laporan inventaris yang ingin Anda edit.

  3. Di halaman Detail bucket bucket sumber, klik tab Laporan inventaris.

  4. Klik nama konfigurasi dari konfigurasi laporan inventaris yang ingin Anda edit.

  5. Pada halaman Detail konfigurasi laporan yang muncul, edit properti yang Anda inginkan menggunakan tombol Edit.

Command line

Untuk mengedit konfigurasi laporan inventaris, ikuti langkah-langkah di bawah ini:

  1. Untuk menemukan nama konfigurasi laporan inventaris yang ingin Anda edit, buat daftar semua konfigurasi inventaris dalam bucket sumber menggunakan perintah gcloud storage insights inventory-reports list:

    gcloud storage insights inventory-reports list \
      --source=SOURCE_BUCKET \
      --filter=EXPRESSION \
      --page-size=SIZE \
      --sort-by=FIELD \
      --format="yaml(name)"

    Ganti:

    • SOURCE_BUCKET dengan URL bucket sumber yang berisi konfigurasi laporan inventaris.

    • EXPRESSION dengan filter Boolean yang akan diterapkan ke setiap item resource yang akan dicantumkan. Jika ekspresi bernilai True, item akan dicantumkan. Untuk mengetahui detail dan contoh ekspresi filter, jalankan $ gcloud topic filters.

    • SIZE dengan jumlah maksimum resource per halaman. Nilai defaultnya adalah 50.

    • FIELD dengan daftar yang dipisahkan koma dari nama-nama kunci kolom resource yang digunakan untuk pengurutan. Urutan defaultnya adalah menaik. Beri awalan kolom dengan ~ untuk urutan menurun pada kolom tersebut.

    1. Edit kolom konfigurasi laporan inventaris yang ingin Anda perbarui menggunakan perintah gcloud storage insights inventory-reports update. Contoh berikut memperbarui konfigurasi laporan inventaris untuk membuat laporan inventaris setiap hari dalam format Apache Parquet:

      gcloud storage insights inventory-reports update CONFIG_NAME \
      --parquet \
      --schedule-repeats="daily"

Library klien

Java

Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.

Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.


import com.google.cloud.storageinsights.v1.ReportConfig;
import com.google.cloud.storageinsights.v1.ReportConfigName;
import com.google.cloud.storageinsights.v1.StorageInsightsClient;
import com.google.cloud.storageinsights.v1.UpdateReportConfigRequest;
import com.google.protobuf.FieldMask;
import java.io.IOException;

public class EditInventoryReportConfig {


  public static void editInventoryReportConfig(
          String projectId, String location, String inventoryReportConfigUuid) throws IOException {
    try (StorageInsightsClient storageInsightsClient = StorageInsightsClient.create()) {
      ReportConfigName name = ReportConfigName.of(projectId, location, inventoryReportConfigUuid);
      ReportConfig reportConfig = storageInsightsClient.getReportConfig(name);

      // Set any other fields you want to update here
      ReportConfig updatedReportConfig =
              reportConfig.toBuilder().setDisplayName("Updated Display Name").build();

      storageInsightsClient.updateReportConfig(
              UpdateReportConfigRequest.newBuilder()
                      // Add any fields that you want to update to the update mask, in snake case
                      .setUpdateMask(FieldMask.newBuilder().addPaths("display_name")
                              .build())
                      .setReportConfig(updatedReportConfig).build());

      System.out.println("Edited inventory report config with name " + name);
    }
  }
}

REST API

JSON API

Untuk mengedit konfigurasi laporan inventaris, selesaikan langkah-langkah berikut ini:

  1. Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Dapatkan nama konfigurasi laporan inventaris yang ingin Anda edit menggunakan cURL untuk memanggil JSON API dengan permintaan Get ReportConfig:

    curl --request GET \
    "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
    

    Ganti:

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.

    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.

    Jika Anda ingin mengambil semua konfigurasi laporan inventaris dalam bucket sumber tertentu, tambahkan parameter kueri filter ke permintaan Anda:

    curl --request GET \
    "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?filter=objectMetadataReportOptions.storageFilters.bucket=BUCKET_NAME" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
    

    Ganti:

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.
    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.
    • BUCKET_NAME dengan nama bucket sumber yang berisi konfigurasi laporan inventaris yang ingin Anda edit.
  3. Buat file JSON yang menyertakan perubahan pada properti yang ingin Anda edit. Contoh berikut memperbarui konfigurasi laporan inventaris untuk membuat laporan inventaris setiap hari dalam format Apache Parquet:

    {
      "ReportConfig": {
        "frequency_options": {
          "frequency": "DAILY"
        },
        "parquet_options": {
        }
      }
  4. Guna menerapkan konfigurasi laporan inventaris, gunakan cURL untuk memanggil JSON API dengan permintaan Patch ReportConfig:

    curl --request PATCH \
    "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
      --data-binary "@JSON_FILE_NAME.json" \
    

    Ganti:

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.

    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.

    • REPORT_CONFIG_UUID dengan UUID konfigurasi laporan inventaris yang dibuat secara otomatis.

Membuat daftar konfigurasi laporan inventaris

Konsol

Untuk membuat daftar konfigurasi laporan inventaris pada bucket sumber, selesaikan langkah-langkah berikut:

  1. Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.

    Buka Bucket

  2. Di daftar bucket, klik nama bucket sumber yang berisi konfigurasi laporan inventaris yang ingin Anda lihat.

  3. Di halaman Detail bucket, klik tab Laporan inventaris.

    Konfigurasi laporan inventaris di bucket sumber akan muncul.

Command line

Anda dapat membuat daftar semua konfigurasi inventaris dalam bucket sumber menggunakan perintah gcloud storage insights inventory-reports list:

gcloud storage insights inventory-reports list \
  --source=SOURCE_BUCKET \
  --filter=EXPRESSION \
  --page-size=SIZE \
  --sort-by=FIELD \
  --format="yaml(name)"
  

Ganti:

  • SOURCE_BUCKET dengan URL bucket sumber yang berisi konfigurasi laporan inventaris.

  • EXPRESSION dengan filter Boolean yang akan diterapkan ke setiap item resource yang akan dicantumkan. Jika ekspresi bernilai True, item akan dicantumkan. Untuk mengetahui detail dan contoh ekspresi filter, jalankan $ gcloud topic filters.

  • SIZE dengan jumlah maksimum resource per halaman. Nilai defaultnya adalah 50.

  • FIELD dengan daftar yang dipisahkan koma dari nama-nama kunci kolom resource yang digunakan untuk pengurutan. Urutan defaultnya adalah menaik. Beri awalan kolom dengan ~ untuk urutan menurun pada kolom tersebut.

Library klien

Java

Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.

Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.


import com.google.cloud.storageinsights.v1.LocationName;
import com.google.cloud.storageinsights.v1.ReportConfig;
import com.google.cloud.storageinsights.v1.StorageInsightsClient;
import java.io.IOException;

public class ListInventoryReportConfigs {


  public static void listInventoryReportConfigs(String projectId, String location)
      throws IOException {
    try (StorageInsightsClient storageInsightsClient = StorageInsightsClient.create()) {
      System.out.println(
          "Printing inventory report configs in project "
              + projectId
              + " and location "
              + location);
      for (ReportConfig config :
          storageInsightsClient
              .listReportConfigs(LocationName.of(projectId, location))
              .iterateAll()) {
        System.out.println(config.getName());
      }
    }
  }
}

REST API

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Anda dapat membuat daftar semua konfigurasi laporan inventaris dalam project untuk lokasi tertentu menggunakan permintaan untuk membuat daftar konfigurasi laporan inventaris:

    curl --request GET \
    "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
    

    Ganti:

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.

    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.

    Jika Anda ingin membuat daftar semua konfigurasi laporan inventaris dalam bucket sumber tertentu, tambahkan parameter kueri filter ke permintaan:

    curl --request GET \
    "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?filter=objectMetadataReportOptions.storageFilters.bucket=BUCKET_NAME" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
    

    Ganti:

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.

    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.

    • BUCKET_NAME dengan nama bucket sumber yang berisi konfigurasi laporan inventaris yang ingin Anda buat daftarnya.

Mendownload laporan inventaris

Konsol

Mendownload laporan secara individual

Laporan inventaris dibuat dan disimpan sebagai objek pada bucket tujuan, sehingga Anda dapat mendownloadnya seperti mendownload objek biasa.

Untuk mendownload laporan inventaris, selesaikan langkah-langkah berikut ini:

  1. Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.

    Buka Bucket

  2. Dalam daftar bucket, klik nama bucket tujuan yang berisi laporan inventaris yang ingin didownload.

  3. Di halaman Detail bucket, pastikan tab Objek dipilih.

  4. Klik Download yang terkait dengan laporan inventaris yang ingin Anda download.

Jika tidak mengetahui bucket tujuan, Anda juga dapat mendownload laporan inventaris melalui konfigurasi laporan inventaris tempat laporan tersebut dibuat:

  1. Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.

    Buka Bucket

  2. Di daftar bucket, klik nama bucket sumber yang berisi konfigurasi laporan inventaris yang membuat laporan yang ingin didownload.

  3. Di halaman Detail bucket, klik nama konfigurasi untuk konfigurasi laporan inventaris.

  4. Di halaman Detail konfigurasi laporan yang muncul, buka bagian Histori laporan inventaris, lalu klik jalur objek tujuan dari laporan inventaris yang ingin Anda download.

    Halaman Detail bucket akan muncul untuk bucket tujuan yang berisi laporan inventaris.

  5. Klik Download yang terkait dengan laporan inventaris yang ingin Anda download.

Mendownload shard laporan

Untuk mendownload laporan inventaris yang telah dibagi menjadi satu atau beberapa shard, selesaikan langkah-langkah berikut ini:

  1. Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.

    Buka Bucket

  2. Di daftar bucket, klik nama bucket tujuan yang Anda tentukan saat membuat konfigurasi laporan inventaris.

  3. Di halaman Detail bucket, periksa keberadaan file manifes. Keberadaan file manifes menunjukkan bahwa semua shard laporan inventaris telah dibuat.

    Contoh nama file manifes adalah fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json.

  4. Di bucket tujuan, klik Download yang terkait dengan file manifes. Perhatikan nama file shard yang ingin Anda download dari kolom report_shards_file_names.

  5. Dalam bucket tujuan, klik Download yang terkait dengan file shard yang ingin Anda download.

Command line

Mendownload laporan secara individual

Untuk mendownload laporan inventaris, selesaikan langkah-langkah berikut ini:

  1. Untuk membuat daftar semua laporan inventaris yang telah dibuat oleh konfigurasi laporan inventaris dan mengambil REPORT_DETAIL_ID-nya, gunakan perintah gcloud storage insights inventory-reports details list:

    gcloud storage insights inventory-reports details list CONFIG_NAME \
      --filter=EXPRESSION \
      --page-size=SIZE \
      --sort-by=FIELD

    Ganti:

    • CONFIG_NAME dengan nama unik konfigurasi laporan inventaris, dalam format projects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID.

    • EXPRESSION dengan filter Boolean untuk diterapkan ke setiap item resource yang akan dibuat daftarnya. Jika ekspresi bernilai True, item tersebut akan dicantumkan. Untuk mengetahui detail dan contoh ekspresi filter, jalankan $ gcloud topic filters.

    • SIZE dengan jumlah maksimum resource per halaman. Nilai defaultnya adalah 50.

    • FIELD dengan daftar yang dipisahkan koma dari nama-nama kunci kolom resource yang digunakan untuk pengurutan. Urutan defaultnya adalah menaik. Beri awalan kolom dengan ~ untuk urutan menurun pada kolom tersebut.

    Jika berhasil, perintah akan menampilkan output yang mirip dengan berikut ini:

    REPORT_DETAIL_ID            SNAPSHOT_TIME
    Report_2023-04-10T00-00     2023-04-10T00:53:03Z
    Report_2023-04-12T00-00     2023-04-12T00:52:54Z
    Report_2023-04-05T00-00     2023-04-05T00:53:01Z
  2. Untuk mendownload laporan inventaris, Anda harus mengambil properti reportPathPrefix objek ReportDetail terlebih dahulu. Untuk mendapatkan reportPathPrefix laporan, gunakan perintah gcloud storage insights inventory-reports details describe:

    gcloud storage insights inventory-reports details describe REPORT_DETAIL_NAME

    Ganti REPORT_DETAIL_NAME dengan nama laporan inventaris dalam format projects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/REPORT_DETAIL_ID.

Mendownload shard laporan

Untuk mendownload laporan inventaris yang telah dibagi menjadi satu atau beberapa shard, selesaikan langkah-langkah berikut ini:

  1. Download file manifes laporan inventaris menggunakan perintah gcloud storage cp:

    gcloud storage cp gs://BUCKET_NAME/MANIFEST_FILE_NAME DOWNLOAD_PATH

    Ganti:

    • BUCKET_NAME dengan nama bucket tujuan.

    • MANIFEST_FILE_NAME dengan nama file manifes pada bucket tujuan, dalam konvensi penamaan berikut:

      REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json

      Dengan keterangan:

      • REPORT_CONFIG_UUID adalah UUID yang dihasilkan secara otomatis dari konfigurasi laporan inventaris yang membuat shard laporan yang ingin Anda download.

      • TARGET_DATETIME adalah tanggal dan waktu saat laporan inventaris dibuat.

      Misalnya, fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json.

    • DOWNLOAD_PATH dengan jalur ke sistem file tempat Anda ingin menyimpan laporan inventaris. Misalnya, ./example_report.csv

  2. Untuk mendownload file shard, gunakan perintah gcloud storage cp:

    gcloud storage cp gs://BUCKET_NAME/SHARD_FILE_NAME DOWNLOAD_PATH

    Ganti:

    • BUCKET_NAME dengan nama bucket tujuan.

    • SHARD_FILE_NAME dengan nama file shard yang berenkode URL yang ingin Anda download. Misalnya, fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv

    • DOWNLOAD_PATH dengan jalur ke sistem file tempat Anda ingin menyimpan laporan inventaris. Contoh, ./example_report.csv.

Library klien

Java

Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.

Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.


import com.google.cloud.storageinsights.v1.ReportConfig;
import com.google.cloud.storageinsights.v1.ReportConfigName;
import com.google.cloud.storageinsights.v1.ReportDetail;
import com.google.cloud.storageinsights.v1.StorageInsightsClient;
import java.io.IOException;

public class GetInventoryReportNames {


  public static void getInventoryReportNames(
      String projectId, String location, String reportConfigUuid) throws IOException {
    try (StorageInsightsClient storageInsightsClient = StorageInsightsClient.create()) {
      ReportConfig config =
          storageInsightsClient.getReportConfig(
              ReportConfigName.of(projectId, location, reportConfigUuid));
      String extension = config.hasCsvOptions() ? "csv" : "parquet";
      System.out.println(
          "You can use the Google Cloud Storage Client "
              + "to download the following objects from Google Cloud Storage:");
      for (ReportDetail reportDetail :
          storageInsightsClient.listReportDetails(config.getName()).iterateAll()) {
        for (long index = reportDetail.getShardsCount() - 1; index >= 0; index--) {
          System.out.println(reportDetail.getReportPathPrefix() + index + "." + extension);
        }
      }
    }
  }
}

REST API

JSON API

Mendownload laporan secara individual

Untuk mendownload laporan inventaris, selesaikan langkah-langkah berikut ini:

  1. Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Buat daftar semua laporan inventaris yang dibuat oleh konfigurasi laporan inventaris menggunakan cURL untuk memanggil JSON API dengan permintaan untuk mencantumkan detail laporan inventaris:

    curl --request GET \
    "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
    

    Ganti:

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.

    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.

    • REPORT_CONFIG_UUID dengan UUID yang dibuat secara otomatis dari konfigurasi laporan inventaris yang membuat laporan yang ingin Anda download.

  3. Guna mendapatkan detail setiap laporan, gunakan cURL untuk memanggil JSON API dengan permintaan Get ReportDetails:

    curl --request GET \
    "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/REPORT_DETAIL_ID" \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
    

    Ganti:

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.

    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.

    • REPORT_CONFIG_UUID dengan UUID yang dibuat secara otomatis dari konfigurasi laporan inventaris yang membuat laporan yang ingin Anda download.

    • REPORT_DETAIL_ID dengan nama laporan inventaris yang ingin Anda download.

Mendownload shard laporan

Untuk mendownload laporan inventaris yang telah dibagi menjadi satu atau beberapa shard, selesaikan langkah-langkah berikut ini:

  1. Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Untuk mendownload file manifes laporan inventaris, gunakan cURL untuk memanggil JSON API dengan permintaan GET Object:

    curl -X GET \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/MANIFEST_FILE_NAME?alt=media" \

    Ganti:

    • BUCKET_NAME dengan nama bucket tujuan.

    • MANIFEST_FILE_NAME dengan nama file manifes pada bucket tujuan, dalam konvensi penamaan berikut:

      REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json

      Dengan keterangan:

      • REPORT_CONFIG_UUID adalah UUID yang dibuat secara otomatis dari konfigurasi laporan inventaris yang membuat shard laporan yang ingin Anda download.

      • TARGET_DATETIME adalah tanggal pembuatan laporan inventaris.

    Misalnya, fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json.

    Kolom report_shards_file_names file manifes berisi nama shard laporan inventaris yang dapat Anda download.

  3. Guna mendownload file shard laporan inventaris, gunakan curl untuk memanggil Cloud Storage JSON API dengan permintaan Get Object:

    curl -X GET \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      -o "DOWNLOAD_PATH" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/SHARD_FILE_NAME?alt=media"

    Ganti:

    • DOWNLOAD_PATH dengan jalur ke sistem file lokal tempat Anda ingin menyimpan objek. Misalnya, Desktop/dog.png.

    • BUCKET_NAME dengan nama bucket tujuan yang berisi laporan inventaris. Misalnya, my-bucket.

    • SHARD_FILE_NAME dengan nama file shard berenkode URL yang ingin Anda download. Misalnya, fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv

Menghapus konfigurasi laporan inventaris

Konsol

Untuk menghapus konfigurasi laporan inventaris, selesaikan langkah-langkah berikut ini:

  1. Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.

    Buka Bucket

  2. Dalam daftar bucket, klik nama bucket sumber yang berisi konfigurasi laporan inventaris yang ingin Anda hapus.

  3. Di halaman Detail bucket bucket sumber, klik tab Laporan inventaris.

  4. Klik nama konfigurasi dari konfigurasi laporan inventaris yang ingin Anda hapus.

  5. Di halaman Detail konfigurasi laporan yang muncul, klik Hapus .

Command line

Untuk menghapus konfigurasi laporan inventaris, gunakan perintah gcloud storage insights inventory-reports delete:

gcloud storage insights inventory-reports delete CONFIG_NAME
  --force

Ganti CONFIG_NAME dengan nama unik konfigurasi laporan inventaris, dalam format projects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID.

Flag --force menghapus metadata untuk semua laporan inventaris yang dibuat oleh konfigurasi laporan inventaris tertentu. Objek laporan inventaris itu sendiri tidak akan dihapus.

Library klien

Java

Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.

Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.


import com.google.cloud.storageinsights.v1.ReportConfigName;
import com.google.cloud.storageinsights.v1.StorageInsightsClient;
import java.io.IOException;

public class DeleteInventoryReportConfig {


  public static void deleteInventoryReportConfig(
      String projectId, String location, String inventoryReportConfigUuid) throws IOException {
    try (StorageInsightsClient storageInsightsClient = StorageInsightsClient.create()) {
      ReportConfigName name = ReportConfigName.of(projectId, location, inventoryReportConfigUuid);
      storageInsightsClient.deleteReportConfig(name);

      System.out.println("Deleted inventory report config with name " + name);
    }
  }
}

REST API

JSON API

Untuk menghapus konfigurasi laporan inventaris, selesaikan langkah-langkah berikut ini:

  1. Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Untuk menghapus konfigurasi laporan inventaris, gunakan cURL untuk memanggil JSON API dengan permintaan Delete ReportConfig:

    curl --request DELETE \
    'https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID?force=true' \
      --header 'Authorization: Bearer $(gcloud auth print-access-token)' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
    

    Ganti:

    • YOUR_PROJECT dengan nama project tempat bucket sumber dan tujuan Anda berada.

    • LOCATION dengan lokasi bucket sumber dan tujuan. Misalnya, us-west1.

    • REPORT_CONFIG_UUID dengan UUID yang dibuat secara otomatis dari konfigurasi laporan inventaris yang ingin Anda hapus.

Parameter kueri force menghapus metadata untuk semua laporan inventaris yang dibuat oleh konfigurasi laporan inventaris tertentu. Objek laporan inventaris itu sendiri tidak akan dihapus.

Lanjutan: Membuat laporan inventaris dalam format partisi Hive

Saat membuat konfigurasi laporan inventaris, Anda dapat menentukan jalur tujuan, yang merupakan lokasi pada bucket tujuan tempat laporan inventaris akan dibuat. Hal ini memungkinkan Anda membuat laporan inventaris dalam format terpartisi Hive.

Anda menentukan jalur tujuan menggunakan kata kunci placeholder. Kata kunci di jalur tujuan akan diganti dengan nilai yang sesuai saat laporan inventaris dibuat. Misalnya, jalur tujuan config={{report-config-id}}/date={{date}} dapat di-resolve ke config=1A34-F2E456-12B456-1C3D/date=2022-05-20.

Kata kunci jalur tujuan

Anda dapat menentukan kata kunci report-config-id, date, atau datetime, yang diapit dalam {{ dan }}, dengan:

  • report-config-id merupakan UUID konfigurasi laporan inventaris.

  • date merupakan tanggal laporan inventaris dibuat. Mengikuti format ISO 8601.

  • datetime merupakan tanggal dan waktu pembuatan laporan inventaris. Mengikuti format ISO 8601.

Kata kunci dapat ditentukan menggunakan salah satu alat berikut:

  • Saat menggunakan Konsol Google Cloud, tentukan kata kunci di bagian Masukkan jalur tujuan (opsional). Bagian ini muncul saat Anda membuat konfigurasi laporan inventaris.

  • Saat menggunakan Google Cloud CLI, tentukan kata kunci placeholder menggunakan flag --destination.

  • Saat menggunakan JSON API, tentukan kata kunci placeholder di kolom storage_destination_options.destination_path objek ReportConfig.

Kontrol akses dan keamanan

Rekomendasi dan pertimbangan berikut berkaitan dengan keamanan dan penggunaan laporan dan konfigurasi inventaris:

  • Sebaiknya pengguna dengan peran roles/storage.admin juga memiliki izin storageinsights.reportConfigs.* sehingga mereka dapat mempertahankan kontrol atas penggunaan semua resource dalam bucket mereka, seperti pembacaan objek dan metadatanya.

  • Sebaiknya batasi akses ke resource laporan inventaris dengan memberikan izin storageinsights.reportConfigs.* hanya kepada individu yang diperlukan.

  • Setelah dibuat, konfigurasi laporan inventaris akan terus membuat laporan inventaris meskipun pengguna yang membuat konfigurasi tersebut tidak lagi memiliki izin yang diperlukan. Untuk berhenti membuat laporan inventaris, Anda dapat mengedit tanggal akhir di konfigurasi laporan inventaris atau menghapus konfigurasi sepenuhnya.

Langkah selanjutnya

  • Jika Anda mengalami masalah saat membuat laporan inventaris, lihat Pemecahan masalah untuk mendapatkan bantuan.