การเก็บข้อมูลบนคลาวด์¶
การผสานรวมที่เก็บข้อมูลบนคลาวด์ช่วยให้สามารถจัดเก็บไฟล์แนบของ แชท และอีเมลบนแพลตฟอร์ม 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
บัญชีบริการ¶
เปิดแถบนำทางด้านข้างในคอนโซล Google Cloud จากนั้นไปที่
กำหนด ชื่อบัญชีบริการ คลิก สร้างและดำเนินการต่อ จากนั้น เสร็จสิ้น
จดบันทึก อีเมล ของบัญชีบริการไว้ เนื่องจากจะถูกใช้ระหว่าง การกำหนดค่าบัคเก็ตที่เก็บข้อมูลบนคลาวด์
คลิกปุ่ม (การดำเนินการ) จากนั้นเลือก จัดการคีย์
Go to , 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.
ที่เก็บข้อมูลคลาวด์¶
เปิดแถบนำทางด้านข้างบนคอนโซล Google Cloud จากนั้นไปที่
Enter a bucket name following the bucket naming guidelines and note it down as it will be used when configuring NightPOS.
กำหนดค่าบัคเก็ตตามต้องการและคลิก สร้าง เมื่อเสร็จสิ้น
คลิกปุ่ม (การดำเนินการเพิ่มเติม) จากนั้นเลือก แก้ไขการเข้าถึง
คลิก เพิ่มผู้มีสิทธิ์ และวางอีเมลของบัญชีบริการในฟิลด์ ผู้มีสิทธิ์ใหม่
เลือก ผู้ดูแลระบบที่เก็บข้อมูล เป็น บทบาท ภายใต้ส่วน Cloud Storage และคลิก บันทึก
NightPOS configuration¶
ติดตั้ง โมดูล Cloud Storage Google
เปิดแอป การตั้งค่า และเลือก ที่เก็บข้อมูลคลาวด์ ในแถบนำทางด้านข้าง
เลือก Google Cloud Storage เป็น ผู้ให้บริการที่เก็บข้อมูลคลาวด์สำหรับไฟล์แนบใหม่
ป้อน ชื่อบัคเก็ต Google ตาม ที่ตั้งค่าไว้ก่อนหน้านี้
คลิก อัปโหลดไฟล์ของคุณ ถัดจาก คีย์บัญชีบริการ Google และเลือก ไฟล์ JSON ที่ดาวน์โหลด
ตั้งค่า ขนาดไฟล์ขั้นต่ำ (ไบต์) สำหรับไฟล์แนบที่จะจัดเก็บบน Google Cloud
Microsoft Azure¶
ก่อนอื่น ลงทะเบียนและเซ็นเข้าสู่ Microsoft Azure
การลงทะเบียนแอป¶
ในพอร์ทัล Microsoft Azure ค้นหาบริการ App registrations และเปิดขึ้นมา
คลิก New registration ป้อน Name ของแอปพลิเคชัน เลือก Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) ภายใต้ Supported account types และคลิก Register
Note down the Application (client) ID and Directory (tenant) ID as they will be used when configuring NightPOS.
คลิก 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.Copy the client secret's Value and store it securely. It will be used when configuring NightPOS.
บัญชีที่เก็บข้อมูล¶
ค้นหาบริการ Storage accounts เปิดขึ้นมา และคลิก Create
คลิก Create new ด้านล่างฟิลด์ Resource group ป้อน Name และคลิก OK
Enter a unique Storage account name and note it down as it will be used when configuring NightPOS.
กำหนดค่าบัญชีที่เก็บข้อมูลตามต้องการ และเมื่อเสร็จแล้ว ให้คลิก Review + create จากนั้น Create
คอนเทนเนอร์¶
เปิดทรัพยากรบัญชีที่เก็บข้อมูลของคุณ เช่น โดยการค้นหาชื่อ และเลือก Containers ภายใต้ Data storage ในแถบนำทางด้านข้าง
Enter a Name, note it down as it will be used when configuring NightPOS, and click Create.
การแชร์ทรัพยากร¶
เลือก Resource sharing (CORS) ภายใต้ Settings ในแถบนำทางด้านข้างของบัญชีที่เก็บข้อมูล
สร้างกฎบริการ blob CORS แรก:
ต้นทางที่อนุญาต:
*วิธีที่อนุญาต:
GETส่วนหัวที่อนุญาต:
Content-Typeส่วนหัวที่เปิดเผย:
Content-Typeอายุสูงสุด:
0
สร้างกฎบริการ blob CORS ที่สองและคลิก บันทึก:
ต้นทางที่อนุญาต:
*วิธีที่อนุญาต:
PUTส่วนหัวที่อนุญาต:
content-type,x-ms-blob-typeส่วนหัวที่เปิดเผย:
content-type,x-ms-blob-typeอายุสูงสุด:
0
การกำหนดบทบาท¶
เลือก การควบคุมการเข้าถึง (IAM) บนแถบนำทางด้านข้างของบัญชีที่เก็บข้อมูล จากนั้นคลิก เพิ่ม และเลือก เพิ่มการกำหนดบทบาท
ค้นหา Storage Blobs Data Contributor และคลิก ถัดไป
Note
หากต้องการลบสิทธิ์
deleteที่ไม่จำเป็น ให้สร้าง บทบาทที่กำหนดเอง และค้นหาชื่อของบทบาทที่กำหนดเองแทนคลิก เลือกสมาชิก ป้อนชื่อของ แอปพลิเคชันที่ลงทะเบียนไว้ก่อนหน้านี้ เลือกแอปพลิเคชัน และคลิก เลือก
คลิก ตรวจสอบ + กำหนด สองครั้ง
บทบาทที่กำหนดเอง¶
Note
ขั้นตอนนี้เป็น ทางเลือก อย่างไรก็ตาม การลบสิทธิ์ delete จะป้องกันไม่ให้ผู้ที่สามารถเข้าถึงข้อมูลรับรองของที่เก็บข้อมูลบนคลาวด์ลบไฟล์ได้
เปิดทรัพยากรการสมัครใช้งานของคุณ เช่น โดยการค้นหาชื่อของทรัพยากร เลือก Access control (IAM) ในแถบนำทางด้านข้าง คลิก Add และเลือก Add custom role
เลือกแท็บ 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¶
ติดตั้ง โมดูล Cloud Storage Azure
เปิดแอป การตั้งค่า และเลือก ที่เก็บข้อมูลคลาวด์ ในแถบนำทางด้านข้าง
เลือก Azure Cloud Azure เป็น Cloud Storage Provider for new attachments
ป้อน:
ชื่อบัญชีที่เก็บข้อมูล ในฟิลด์ Azure Account Name
ชื่อคอนเทนเนอร์ ในฟิลด์ Azure Container Name
directory (tenant) ID ในฟิลด์ Azure Tenant ID
application (client) ID ในฟิลด์ Azure Client ID และ
ค่าของ client secret ในฟิลด์ Azure Client Secret
ตั้งค่า Minimum File Size (bytes) สำหรับไฟล์แนบที่จะจัดเก็บบน Microsoft Azure