Storage Engine: S3 (Pro)

Penyimpanan File: S3 (Pro)Professional Edition+

Pengantar

Berbasis plugin File Manager, ditambahkan dukungan untuk tipe penyimpanan file yang kompatibel dengan protokol S3. Layanan object storage manapun yang mendukung protokol S3 dapat dengan mudah diintegrasikan, contoh Amazon S3, Aliyun OSS, Tencent COS, MinIO, Cloudflare R2, dan lainnya, sehingga lebih meningkatkan kompatibilitas dan fleksibilitas layanan storage.

Fitur

  1. Upload dari client: proses upload file tidak perlu melewati server NocoBase, langsung terhubung ke layanan storage file, mewujudkan pengalaman upload yang lebih efisien dan cepat.

  2. Akses privat: saat mengakses file, semua URL adalah alamat otorisasi sementara yang sudah ditandatangani, memastikan keamanan dan validitas akses file.

Skenario Penggunaan

  1. Manajemen Tabel File: mengelola dan menyimpan secara terpusat semua file yang diunggah, mendukung berbagai tipe file dan cara penyimpanan, memudahkan klasifikasi dan pencarian file.

  2. Penyimpanan Field Lampiran: digunakan untuk menyimpan data lampiran yang diunggah pada form atau record, mendukung asosiasi dengan record data spesifik.

Konfigurasi Plugin

  1. Aktifkan plugin plugin-file-storage-s3-pro

  2. Klik "Setting -> FileManager" untuk masuk ke pengaturan File Manager

  3. Klik tombol "Add new", pilih "S3 Pro"

  1. Setelah panel muncul, Anda akan melihat banyak isian form yang perlu diisi. Anda dapat merujuk ke dokumentasi berikutnya untuk mendapatkan informasi parameter dari layanan file yang sesuai, dan mengisinya dengan benar pada form.

Konfigurasi Penyedia Layanan

Amazon S3

Pembuatan Bucket

  1. Buka https://ap-southeast-1.console.aws.amazon.com/s3/home untuk masuk ke S3 Console

  2. Klik tombol "Create bucket" di sebelah kanan

  1. Isi Bucket Name, field lainnya dapat dibiarkan default. Scroll ke bawah halaman, klik tombol "Create" untuk menyelesaikan pembuatan.

Konfigurasi CORS

  1. Masuk ke daftar buckets, cari dan klik bucket yang baru saja dibuat untuk masuk ke halaman detailnya

  1. Klik tab "Permission", lalu scroll ke bawah untuk menemukan bagian konfigurasi CORS

  1. Isi konfigurasi berikut (Anda dapat menyesuaikan konfigurasi lebih detail), lalu simpan
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "POST",
            "PUT"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "ETag"
        ],
        "MaxAgeSeconds": 3000
    }
]

Mendapatkan AccessKey, SecretAccessKey

  1. Klik tombol "Security credentials" di pojok kanan atas halaman

  1. Scroll ke bawah, cari bagian "Access Keys", klik tombol "Create Access Key".

  1. Klik setuju (di sini menggunakan akun utama untuk demonstrasi, untuk lingkungan produksi disarankan menggunakan IAM).

  1. Simpan Access key dan Secret access key yang ditampilkan pada halaman

Mendapatkan dan Mengkonfigurasi Parameter

  1. AccessKey ID dan AccessKey Secret adalah nilai yang Anda dapatkan pada langkah sebelumnya, harap isi dengan akurat

  2. Masuk ke panel properties pada halaman detail bucket, Anda dapat memperoleh informasi nama Bucket dan Region (region).

Akses Publik (Opsional)

Ini adalah konfigurasi yang tidak wajib. Konfigurasikan saat Anda perlu membuat file yang diunggah benar-benar publik

  1. Masuk ke panel Permissions, scroll ke bawah ke Object Ownership, klik edit, aktifkan ACLs

  1. Scroll ke Block public access, klik edit, atur agar mengizinkan kontrol ACLs

  1. Centang Public access di NocoBase

Konfigurasi Thumbnail (Opsional)

Konfigurasi ini opsional, digunakan untuk mengoptimalkan ukuran atau efek pratinjau gambar. Perhatian, solusi deployment ini mungkin menimbulkan biaya tambahan, untuk biaya spesifik silakan merujuk ke ketentuan AWS.

  1. Akses Dynamic Image Transformation for Amazon CloudFront.

  2. Klik tombol Launch in the AWS Console di bagian bawah halaman untuk memulai deployment solusi.

  3. Ikuti petunjuk untuk menyelesaikan konfigurasi. Beberapa opsi berikut perlu diperhatikan:

    1. Saat membuat stack, Anda perlu menentukan nama bucket Amazon S3 yang berisi gambar sumber. Harap isi nama bucket yang Anda buat sebelumnya.
    2. Jika Anda memilih untuk men-deploy demo UI, setelah deployment selesai Anda dapat menguji fitur image processing melalui antarmuka tersebut. Pada AWS CloudFormation Console, pilih stack Anda, masuk ke tab "Outputs", cari nilai key DemoUrl, klik link tersebut untuk membuka antarmuka demo.
    3. Solusi ini menggunakan library sharp Node.js untuk memproses gambar secara efisien. Anda dapat mengunduh source code dari repository GitHub dan melakukan kustomisasi sesuai kebutuhan.

  4. Setelah konfigurasi selesai, tunggu hingga status deployment menjadi CREATE_COMPLETE.

  5. Pada konfigurasi NocoBase, ada beberapa hal yang perlu diperhatikan:

    1. Thumbnail rule: isi parameter image processing, contoh ?width=100. Untuk detail lihat dokumentasi AWS.
    2. Access endpoint: isi nilai dari Outputs -> ApiEndpoint setelah deployment.
    3. Full access URL style: perlu dicentang Ignore (karena nama bucket sudah diisi pada konfigurasi, sehingga tidak diperlukan lagi saat akses).

Contoh Konfigurasi

Aliyun OSS

Pembuatan Bucket

  1. Buka OSS Console https://oss.console.aliyun.com/overview

  1. Klik "Buckets" di menu sebelah kiri, lalu klik tombol "Create Bucket" untuk mulai membuat bucket

  1. Isi informasi terkait bucket, terakhir klik tombol Create

    1. Bucket Name disesuaikan dengan bisnis Anda, nama bebas

    2. Region pilih region terdekat dengan pengguna Anda

    3. Konten lainnya dapat dibiarkan default, atau dikonfigurasi sesuai kebutuhan

Konfigurasi CORS

  1. Masuk ke halaman detail bucket yang dibuat pada langkah sebelumnya

  1. Klik "Content Security -> CORS" di menu tengah

  1. Klik tombol "Create Rule", isi konten yang sesuai lalu scroll ke bawah dan klik "OK". Anda dapat merujuk ke screenshot di bawah, atau melakukan pengaturan yang lebih detail

Mendapatkan AccessKey, SecretAccessKey

  1. Klik "AccessKey" di bawah avatar pojok kanan atas

  1. Untuk demonstrasi, di sini menggunakan akun utama untuk membuat AccessKey. Untuk skenario produksi disarankan menggunakan RAM, Anda dapat merujuk ke https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair-1?spm=5176.28366559.0.0.1b5c3c2fUI9Ql8#section-rjh-18m-7kp

  2. Klik tombol "Create AccessKey"

  1. Lakukan verifikasi akun

  1. Simpan Access key dan Secret access key yang ditampilkan pada halaman

Mendapatkan dan Mengkonfigurasi Parameter

  1. AccessKey ID dan AccessKey Secret adalah nilai yang didapat pada langkah sebelumnya

  2. Masuk ke halaman detail bucket, dapatkan Bucket

  1. Scroll ke bawah, dapatkan Region (".aliyuncs.com" di belakang tidak diperlukan)

  1. Dapatkan alamat endpoint, saat diisi ke NocoBase perlu menambahkan prefix https://

Konfigurasi Thumbnail (Opsional)

Konfigurasi ini opsional, hanya digunakan saat perlu mengoptimalkan ukuran atau efek pratinjau gambar.

  1. Isi parameter terkait Thumbnail rule. Untuk pengaturan parameter spesifik dapat merujuk ke Parameter Image Processing.

  2. Full upload URL style dan Full access URL style dapat dibuat sama.

Contoh Konfigurasi

MinIO

Pembuatan Bucket

  1. Klik menu Buckets di sebelah kiri -> klik Create Bucket, masuk ke halaman pembuatan
  2. Setelah mengisi nama Bucket, klik tombol simpan

Mendapatkan AccessKey, SecretAccessKey

  1. Masuk ke Access Keys -> klik tombol Create access key, masuk ke halaman pembuatan

  1. Klik tombol simpan

  1. Simpan Access Key dan Secret Key dari popup, untuk konfigurasi selanjutnya

Konfigurasi Parameter

  1. Masuk ke halaman NocoBase -> File manager

  2. Klik tombol Add new, pilih S3 Pro

  3. Isi form

    • AccessKey ID dan AccessKey Secret adalah teks yang disimpan pada langkah sebelumnya
    • Region: MinIO yang di-deploy privat tidak memiliki konsep Region, dapat dikonfigurasi sebagai "auto"
    • Endpoint: isi domain atau alamat IP layanan yang di-deploy
    • Atur Full access URL style menjadi Path-Style

Contoh Konfigurasi

Tencent COS

Anda dapat merujuk ke konfigurasi layanan file di atas, logikanya serupa

Contoh Konfigurasi

Cloudflare R2

Anda dapat merujuk ke konfigurasi layanan file di atas, logikanya serupa

Contoh Konfigurasi