ข้ามไปยังเนื้อหาหลัก

ผู้ให้บริการจัดเก็บไฟล์

โดยค่าเริ่มต้น Logto Console ใช้ช่องกรอกข้อความสำหรับ URL ของไฟล์คงที่ เช่น อวาตาร์ หากต้องการประสบการณ์อัปโหลดไฟล์ที่ใช้งานง่ายขึ้นด้วยการลากและวาง คุณต้องกำหนดค่าผู้ให้บริการจัดเก็บไฟล์

Logto รองรับผู้ให้บริการจัดเก็บไฟล์หลายราย เช่น AWS S3, Azure Storage คู่มือนี้จะแสดงวิธีการกำหนดค่าผู้ให้บริการจัดเก็บไฟล์สำหรับ Logto

การกำหนดค่าจะถูกเก็บไว้ในตาราง systems ของฐานข้อมูล แต่แนะนำให้ใช้ CLI เพื่อกำหนดค่าผู้ให้บริการจัดเก็บไฟล์ สำหรับข้อมูลเพิ่มเติม ลองใช้คำสั่ง "help":

pnpm logto db system --help

Azure Storage

Azure Storage เป็นโซลูชันจัดเก็บข้อมูลบนคลาวด์ที่มีประสิทธิภาพและขยายขนาดได้ ช่วยให้คุณจัดเก็บและจัดการข้อมูลของคุณบนคลาวด์ คู่มือนี้จะแสดงวิธีการกำหนดค่า Azure Storage เป็นผู้ให้บริการจัดเก็บไฟล์สำหรับ Logto

ข้อกำหนดเบื้องต้น

กำหนดค่าด้วย CLI

ตัวอย่างการใช้งาน:

pnpm logto db system set storageProvider '{"provider":"AzureStorage","connectionString":"DefaultEndpointsProtocol=https;AccountName=logto;AccountKey=oRhfTBHOHiBxxxxxxxxxxxxxxxxZ0se6XROftl/Xrow==;EndpointSuffix=core.windows.net","container":"logto"}'

connectionString

ในการเข้าถึง Azure Storage คุณต้องใช้ connection string ซึ่งเป็นสตริงที่มีข้อมูลที่จำเป็นสำหรับการเชื่อมต่อกับบัญชีจัดเก็บไฟล์ของคุณ

เพื่อรับ connection string โปรดดูเอกสาร Azure Storage connection string อย่างเป็นทางการ

container

container คือทรัพยากรจัดเก็บที่ใช้เก็บ blob คุณสามารถใช้ container เพื่อจัดระเบียบ blob และควบคุมการเข้าถึงข้อมูลของคุณ

เพื่อสร้าง container โปรดดูเอกสาร Azure Storage container อย่างเป็นทางการ

publicUrl

ไม่บังคับ

public URL คือ URL ที่ใช้เข้าถึงทรัพยากรจัดเก็บไฟล์แบบสาธารณะ หากคุณไม่ได้ใช้ CDN สามารถเว้นว่างไว้เพื่อใช้ "Primary endpoint" ของ Azure Storage เป็น public URL ได้ Logto จะดึงค่านี้จาก "connectionString" ด้วยความช่วยเหลือของ Azure SDK หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ primary endpoint ของบัญชีจัดเก็บไฟล์ของคุณ โปรดดูเอกสาร Azure Storage primary endpoint อย่างเป็นทางการ

S3 Storage

S3 Storage เป็นบริการจัดเก็บข้อมูลบนคลาวด์ที่ให้บริการ object storage ผ่านอินเทอร์เฟซเว็บ คู่มือนี้จะแสดงวิธีการกำหนดค่า S3 Storage เป็นผู้ให้บริการจัดเก็บไฟล์สำหรับ Logto

ข้อกำหนดเบื้องต้น

กำหนดค่าด้วย CLI

ตัวอย่างการใช้งาน:

pnpm logto db system set storageProvider '{"provider":"S3Storage","accessKeyId":"my-access-key-id","accessSecretKey": "my-secret-access-key","bucket":"logto","endpoint":"https://s3.us-east-2.amazonaws.com"}'

accessKeyId

access key ID คือรหัสระบุบัญชี AWS ของคุณ หากต้องการค้นหา access Key ID สำหรับบัญชี AWS ของคุณ โปรดดูเอกสาร AWS access key ID อย่างเป็นทางการ

accessSecretKey

secret access key ใช้ร่วมกับ access key ID เพื่อเซ็นคำขอแบบโปรแกรม หากต้องการค้นหา access key secret สำหรับบัญชี AWS ของคุณ โปรดดูเอกสาร AWS access key secret อย่างเป็นทางการ

bucket

bucket คือคอนเทนเนอร์สำหรับวัตถุที่จัดเก็บใน Amazon S3 หากต้องการสร้าง bucket โปรดดูเอกสาร AWS S3 bucket อย่างเป็นทางการ

region

ไม่บังคับ

region คือภูมิภาคที่ bucket ของ AWS S3 ตั้งอยู่ หาก endpoint เป็น endpoint มาตรฐานของ AWS S3 จะสามารถแยก region ได้จาก endpoint หากต้องการค้นหา region ของ AWS S3 โปรดดูเอกสาร AWS S3 region อย่างเป็นทางการ

หากคุณใช้บริการ S3 ที่เข้ากันได้ สามารถเว้นค่านี้ว่างไว้ได้

endpoint

ไม่บังคับ

endpoint คือ URL ที่ใช้เข้าถึงบริการ AWS S3 หากต้องการค้นหา endpoint ของ AWS S3 โปรดดูเอกสาร AWS S3 endpoint อย่างเป็นทางการ

คุณสามารถเว้นค่านี้ว่างไว้เพื่อใช้ endpoint เริ่มต้นของ region ได้ หากคุณใช้บริการ S3 ที่เข้ากันได้ สามารถใช้ endpoint ของบริการนั้นได้

publicUrl

ไม่บังคับ

public URL คือ URL ที่ใช้เข้าถึงทรัพยากรจัดเก็บไฟล์แบบสาธารณะ หากคุณไม่ได้ใช้ CDN สามารถเว้นว่างไว้เพื่อใช้ URL เริ่มต้นของ S3 Storage ได้

Google Cloud Storage

Google Cloud Storage เป็นบริการจัดเก็บข้อมูลบนคลาวด์ที่ให้บริการ object storage ผ่านอินเทอร์เฟซเว็บ คู่มือนี้จะแสดงวิธีการกำหนดค่า Google Cloud Storage เป็นผู้ให้บริการจัดเก็บไฟล์สำหรับ Logto

ข้อกำหนดเบื้องต้น

รับไฟล์คีย์

Google Cloud SDK มักใช้ "key file" หากคุณไม่คุ้นเคยกับ Google Cloud นี่อาจเป็นส่วนที่ท้าทายที่สุด วิธีการรับไฟล์คีย์มีดังนี้:

  1. ไปที่หน้า service account: https://console.cloud.google.com/iam-admin/serviceaccounts
  2. สร้างบัญชี กรอกชื่อ แล้วดำเนินการต่อ
  3. ในขั้นตอนถัดไป เลือกบทบาท “Storage Object User” สามารถค้นหาได้ด้วยตัวกรอง
  4. เมื่อสร้างบัญชีเสร็จแล้ว ไปที่หน้ารายละเอียดบัญชีและเลือกแท็บ “keys”
  5. คลิก “add key” เลือก “create a new key” เลือก “json” ในกล่องโต้ตอบ แล้วดาวน์โหลดไฟล์ json ของคุณ

เพิ่มไฟล์คีย์ให้ Logto

Logto ต้องสามารถเข้าถึงไฟล์คีย์นี้ได้

รันใน Node.js

คัดลอกไฟล์ไปที่ /path/to/logto/core และเปลี่ยนชื่อเป็น google-storage-key.json

รันใน Docker Container

หากคุณรัน Logto ใน Docker container คุณต้อง mount ไฟล์นี้เข้าไปใน container สมมติว่าคุณใช้ Docker Compose ให้เพิ่มบรรทัดนี้ในไฟล์คอนฟิกของคุณ:

volumes:
- ./path/to/google-storage-key.json:/etc/logto/core/google-storage-key.json

อย่าลืมเปลี่ยน /path/to เป็น path จริงของคุณ

กำหนดค่าด้วย CLI

ตัวอย่างการใช้งาน:

pnpm logto db system set storageProvider '{"provider":"GoogleStorage","projectId":"psychic-trainer-403801","keyFilename":"google-storage-key.json","bucketName":"logto-test2"}'

projectId

รหัสโปรเจกต์ Google Cloud ของคุณ

keyFilename

ชื่อไฟล์คีย์ หากทำตามขั้นตอนข้างต้นจะเป็น google-storage-key.json

bucketName

ชื่อ bucket

publicUrl

ไม่บังคับ

public URL คือ URL ที่ใช้เข้าถึงทรัพยากรจัดเก็บไฟล์แบบสาธารณะ หากคุณไม่ได้ใช้ CDN สามารถเว้นว่างไว้เพื่อใช้ URL เริ่มต้นของ S3 Storage ได้