การเก็บข้อมูลบนคลาวด์

การผสานรวมที่เก็บข้อมูลบนคลาวด์ช่วยให้สามารถจัดเก็บไฟล์แนบของ แชท และอีเมลบนแพลตฟอร์ม Google Cloud หรือ Microsoft Azure แทนที่จะเก็บบนเซิร์ฟเวอร์ของฐานข้อมูล

โมดูลนี้สามารถใช้เพื่อป้องกันไม่ให้อัปโหลดและดาวน์โหลดไฟล์ขนาดใหญ่ไปยังและจากเซิร์ฟเวอร์ของฐานข้อมูล หรือเมื่อฐานข้อมูลต้องการพื้นที่จัดเก็บข้อมูลเพิ่มเติม

Note

  • Files generated by NightPOS (e.g., sales orders) and Documents/Sign app files are always stored on the database's server.

  • ขอบเขตพื้นที่จัดเก็บของฐานข้อมูลขึ้นอยู่กับโซลูชันการโฮสต์:

    • NightPOS Online: 100 GB

    • NightPOS.sh:

      • การโฮสต์แบบแชร์: 512 GB

      • การโฮสต์แบบเฉพาะ: 4 TB

    • ในสถานที่: จำกัดโดยโครงสร้างพื้นฐานที่มีอยู่

Google Cloud

ขั้นแรก ลงทะเบียนและเข้าสู่ระบบ Google Cloud

บัญชีบริการ

  1. เปิดแถบนำทางด้านข้างในคอนโซล Google Cloud จากนั้นไปที่ IAM และผู้ดูแลระบบ ‣ บัญชีบริการ ‣ สร้างบัญชีบริการ

  2. กำหนด ชื่อบัญชีบริการ คลิก สร้างและดำเนินการต่อ จากนั้น เสร็จสิ้น

    การสร้างบัญชีบริการ Google Cloud
  3. จดบันทึก อีเมล ของบัญชีบริการไว้ เนื่องจากจะถูกใช้ระหว่าง การกำหนดค่าบัคเก็ตที่เก็บข้อมูลบนคลาวด์

  4. คลิกปุ่ม (การดำเนินการ) จากนั้นเลือก จัดการคีย์

    การเข้าถึงการดำเนินการ "จัดการคีย์"
  5. Go to Add key ‣ Create new key, select JSON as the Key type, and click Create. Store the downloaded JSON file containing the key securely. It will be used when configuring NightPOS.

    การสร้างคีย์ JSON ของบัญชีบริการ Google Cloud

ที่เก็บข้อมูลคลาวด์

  1. เปิดแถบนำทางด้านข้างบนคอนโซล Google Cloud จากนั้นไปที่ Cloud Storage ‣ Buckets ‣ Create

  2. Enter a bucket name following the bucket naming guidelines and note it down as it will be used when configuring NightPOS.

  3. กำหนดค่าบัคเก็ตตามต้องการและคลิก สร้าง เมื่อเสร็จสิ้น

    การสร้างบัคเก็ต
  4. คลิกปุ่ม (การดำเนินการเพิ่มเติม) จากนั้นเลือก แก้ไขการเข้าถึง

    การเข้าถึงการดำเนินการ "แก้ไขการเข้าถึง" ของบัคเก็ตที่เก็บข้อมูล Google Cloud
  5. คลิก เพิ่มผู้มีสิทธิ์ และวางอีเมลของบัญชีบริการในฟิลด์ ผู้มีสิทธิ์ใหม่

  6. เลือก ผู้ดูแลระบบที่เก็บข้อมูล เป็น บทบาท ภายใต้ส่วน Cloud Storage และคลิก บันทึก

    การเพิ่มผู้มีสิทธิ์ในบัคเก็ตที่เก็บข้อมูล Google Cloud

NightPOS configuration

  1. ติดตั้ง โมดูล Cloud Storage Google

  2. เปิดแอป การตั้งค่า และเลือก ที่เก็บข้อมูลคลาวด์ ในแถบนำทางด้านข้าง

  3. เลือก Google Cloud Storage เป็น ผู้ให้บริการที่เก็บข้อมูลคลาวด์สำหรับไฟล์แนบใหม่

  4. ป้อน ชื่อบัคเก็ต Google ตาม ที่ตั้งค่าไว้ก่อนหน้านี้

  5. คลิก อัปโหลดไฟล์ของคุณ ถัดจาก คีย์บัญชีบริการ Google และเลือก ไฟล์ JSON ที่ดาวน์โหลด

  6. ตั้งค่า ขนาดไฟล์ขั้นต่ำ (ไบต์) สำหรับไฟล์แนบที่จะจัดเก็บบน Google Cloud

Microsoft Azure

ก่อนอื่น ลงทะเบียนและเซ็นเข้าสู่ Microsoft Azure

การลงทะเบียนแอป

  1. ในพอร์ทัล Microsoft Azure ค้นหาบริการ App registrations และเปิดขึ้นมา

  2. คลิก New registration ป้อน Name ของแอปพลิเคชัน เลือก Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) ภายใต้ Supported account types และคลิก Register

    การลงทะเบียนแอป Microsoft Azure
  3. Note down the Application (client) ID and Directory (tenant) ID as they will be used when configuring NightPOS.

  4. คลิก Add a certificate or secret ถัดจาก Client credentials คลิก New client secret จากนั้น Add

    Important

    For security reasons, leave the Expires field on 180 days (6 months) or choose a shorter expiration interval. Before the secret expires, adding a new client secret and updating NightPOS’s configuration with the new value is necessary.

  5. Copy the client secret's Value and store it securely. It will be used when configuring NightPOS.

    การเพิ่ม secret ให้กับแอป Microsoft Azure

บัญชีที่เก็บข้อมูล

  1. ค้นหาบริการ Storage accounts เปิดขึ้นมา และคลิก Create

  2. คลิก Create new ด้านล่างฟิลด์ Resource group ป้อน Name และคลิก OK

  3. Enter a unique Storage account name and note it down as it will be used when configuring NightPOS.

  4. กำหนดค่าบัญชีที่เก็บข้อมูลตามต้องการ และเมื่อเสร็จแล้ว ให้คลิก Review + create จากนั้น Create

    การสร้างบัญชีที่เก็บข้อมูล Microsoft Azure

คอนเทนเนอร์

  1. เปิดทรัพยากรบัญชีที่เก็บข้อมูลของคุณ เช่น โดยการค้นหาชื่อ และเลือก Containers ภายใต้ Data storage ในแถบนำทางด้านข้าง

  2. Enter a Name, note it down as it will be used when configuring NightPOS, and click Create.

    การสร้างคอนเทนเนอร์ที่เก็บข้อมูล Microsoft Azure

การแชร์ทรัพยากร

  1. เลือก Resource sharing (CORS) ภายใต้ Settings ในแถบนำทางด้านข้างของบัญชีที่เก็บข้อมูล

  2. สร้างกฎบริการ blob CORS แรก:

    • ต้นทางที่อนุญาต: *

    • วิธีที่อนุญาต: GET

    • ส่วนหัวที่อนุญาต: Content-Type

    • ส่วนหัวที่เปิดเผย: Content-Type

    • อายุสูงสุด: 0

  3. สร้างกฎบริการ blob CORS ที่สองและคลิก บันทึก:

    • ต้นทางที่อนุญาต: *

    • วิธีที่อนุญาต: PUT

    • ส่วนหัวที่อนุญาต: content-type,x-ms-blob-type

    • ส่วนหัวที่เปิดเผย: content-type,x-ms-blob-type

    • อายุสูงสุด: 0

    การสร้างกฎ CORS สำหรับบัญชีที่เก็บข้อมูล Microsoft Azure

การกำหนดบทบาท

  1. เลือก การควบคุมการเข้าถึง (IAM) บนแถบนำทางด้านข้างของบัญชีที่เก็บข้อมูล จากนั้นคลิก เพิ่ม และเลือก เพิ่มการกำหนดบทบาท

  2. ค้นหา Storage Blobs Data Contributor และคลิก ถัดไป

    Note

    หากต้องการลบสิทธิ์ delete ที่ไม่จำเป็น ให้สร้าง บทบาทที่กำหนดเอง และค้นหาชื่อของบทบาทที่กำหนดเองแทน

  3. คลิก เลือกสมาชิก ป้อนชื่อของ แอปพลิเคชันที่ลงทะเบียนไว้ก่อนหน้านี้ เลือกแอปพลิเคชัน และคลิก เลือก

  4. คลิก ตรวจสอบ + กำหนด สองครั้ง

    การเพิ่มสมาชิกไปยังคอนเทนเนอร์
บทบาทที่กำหนดเอง

Note

ขั้นตอนนี้เป็น ทางเลือก อย่างไรก็ตาม การลบสิทธิ์ delete จะป้องกันไม่ให้ผู้ที่สามารถเข้าถึงข้อมูลรับรองของที่เก็บข้อมูลบนคลาวด์ลบไฟล์ได้

  1. เปิดทรัพยากรการสมัครใช้งานของคุณ เช่น โดยการค้นหาชื่อของทรัพยากร เลือก Access control (IAM) ในแถบนำทางด้านข้าง คลิก Add และเลือก Add custom role

  2. เลือกแท็บ JSON และคลิก Edit คัดลอกโค้ดด้านล่าง เพิ่ม subscription-id ของคุณภายใต้ assignableScopes และเปลี่ยน roleName (Custom role) หากต้องการ วางโค้ด และคลิก Save

{
    "properties": {
        "roleName": "Custom role",
        "description": "",
        "assignableScopes": [
            "/subscriptions/subscription-id"
        ],
        "permissions": [
            {
                "actions": ["Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action"],
                "notActions": [],
                "dataActions": ["Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read", "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action"],
                "notDataActions": []
            }
        ]
    }
}

NightPOS configuration

  1. ติดตั้ง โมดูล Cloud Storage Azure

  2. เปิดแอป การตั้งค่า และเลือก ที่เก็บข้อมูลคลาวด์ ในแถบนำทางด้านข้าง

  3. เลือก Azure Cloud Azure เป็น Cloud Storage Provider for new attachments

  4. ป้อน:

  5. ตั้งค่า Minimum File Size (bytes) สำหรับไฟล์แนบที่จะจัดเก็บบน Microsoft Azure