ذخیرهسازی ابری¶
ادغام cloud storage امکان ذخیرهٔ پیوستهای چتر و ایمیل را روی پلتفرم Google Cloud یا Microsoft Azure بهجای سرور پایگاه داده فراهم میکند.
این ماژول را میتوان برای جلوگیری از آپلود و دانلود فایلهای بزرگ به/از سرور پایگاه داده یا هنگامی که یک پایگاه داده به ذخیرهسازی داده بیشتری نیاز دارد استفاده کرد.
توجه
فایلهای تولیدشده توسط Odoo (مثلاً سفارشهای فروش) و فایلهای اپ Documents/Sign همیشه روی سرور پایگاه داده ذخیره میشوند.
محدودیت ذخیرهسازی یک پایگاه داده به راهحل میزبانی آن بستگی دارد:
Odoo Online: ۱۰۰ گیگابایت
Odoo.sh:
میزبانی اشتراکی: 512 GB
میزبانی اختصاصی: 4 TB
On-premise: محدود به زیرساخت موجود.
Google Cloud¶
ابتدا، در Google Cloud ثبتنام کنید و وارد شوید.
حساب سرویس¶
نوار کناری ناوبری را در Google Cloud console باز کنید، سپس به بروید.
یک Service account name تعریف کنید، روی Create and continue کلیک کنید، سپس انجام شده.
ایمیل حساب سرویس را یادداشت کنید زیرا در طول پیکربندی bucket ذخیرهسازی ابری استفاده خواهد شد.
روی دکمهٔ (عملیات) کلیک کنید، سپس Manage keys را انتخاب کنید.
به بروید، JSON را بهعنوان Key type انتخاب کنید و روی ایجاد کلیک کنید. فایل JSON دانلودشده حاوی کلید را بهصورت امن ذخیره کنید. هنگام پیکربندی Odoo استفاده خواهد شد.
Bucket ذخیرهسازی ابری¶
نوار کناری ناوبری را در Google Cloud console باز کنید، سپس به بروید.
یک نام bucket طبق راهنمای نامگذاری bucket وارد کنید و آن را یادداشت کنید زیرا هنگام پیکربندی Odoo استفاده خواهد شد.
bucket را به دلخواه پیکربندی کنید و پس از اتمام، روی ایجاد کلیک کنید.
روی دکمهٔ (More actions) کلیک کنید، سپس Edit access را انتخاب کنید.
روی Add principal کلیک کنید و ایمیل حساب سرویس را در فیلد New principals پیست کنید.
Storage Admin را بهعنوان نقش زیر بخش فضای ذخیره سازی ابری انتخاب کنید و روی ذخیره کلیک کنید.
پیکربندی Odoo¶
نصب ماژول Cloud Storage Google.
اپ تنظیمات را باز کنید و فضای ذخیره سازی ابری را در نوار کناری ناوبری انتخاب کنید.
ذخیرهسازی ابری گوگل را بهعنوان ارائه دهنده فضای ذخیرهسازی ابری برای پیوستهای جدید انتخاب کنید.
نام باکت گوگل را همانطور که قبلاً تنظیم شد وارد کنید.
روی آپلود فایل در کنار کلید حساب خدماتی گوگل کلیک کنید و فایل JSON دانلودشده را انتخاب کنید.
یک حداقل اندازه فایل (بایت) برای پیوستهایی که در Google Cloud ذخیره میشوند تنظیم کنید.
Microsoft Azure¶
ابتدا، در Microsoft Azure ثبتنام کنید و وارد شوید.
ثبت اپلیکیشن¶
در پورتال Microsoft Azure، سرویس App registrations را جستجو کنید و آن را باز کنید.
روی New registration کلیک کنید، یک نام اپلیکیشن وارد کنید، Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) را زیر Supported account types انتخاب کنید و روی ثبت نام کلیک کنید.
Application (client) ID و Directory (tenant) ID را یادداشت کنید زیرا هنگام پیکربندی Odoo استفاده خواهند شد.
روی Add a certificate or secret در کنار Client credentials کلیک کنید، روی New client secret کلیک کنید، سپس افزودن.
مهم
به دلایل امنیتی، فیلد Expires را روی
180 days (6 months)رها کنید یا یک فاصلهٔ انقضای کوتاهتر انتخاب کنید. قبل از انقضای secret، افزودن یک client secret جدید و بهروزرسانی پیکربندی Odoo با مقدار جدید ضروری است.مقدار client secret را کپی کنید و آن را بهصورت امن ذخیره کنید. هنگام پیکربندی Odoo استفاده خواهد شد.
حساب ذخیرهسازی¶
سرویس Storage accounts را جستجو کنید، آن را باز کنید و روی ایجاد کلیک کنید.
روی ایجاد جدید زیر فیلد Resource group کلیک کنید، یک نام وارد کنید و روی تایید کلیک کنید.
یک Storage account name یکتا وارد کنید و آن را یادداشت کنید زیرا هنگام پیکربندی Odoo استفاده خواهد شد.
حساب ذخیرهسازی را به دلخواه پیکربندی کنید و پس از اتمام، روی Review + create و سپس ایجاد کلیک کنید.
کانتینر¶
منبع حساب ذخیرهسازی خود را باز کنید، برای مثال با جستجوی نام آن، و Containers را زیر Data storage در نوار کناری ناوبری انتخاب کنید.
یک نام وارد کنید، آن را یادداشت کنید زیرا هنگام پیکربندی Odoo استفاده خواهد شد، و روی ایجاد کلیک کنید.
اشتراکگذاری منابع¶
Resource sharing (CORS) را زیر تنظیمات در نوار کناری ناوبری حساب ذخیرهسازی انتخاب کنید.
یک قانون اول CORS blob service ایجاد کنید:
Allowed origins:
*Allowed methods:
GETAllowed headers:
Content-TypeExposed headers:
Content-TypeMax age:
0
یک قانون دوم CORS blob service ایجاد کنید و روی ذخیره کلیک کنید:
Allowed origins:
*Allowed methods:
PUTAllowed headers:
content-type,x-ms-blob-typeExposed headers:
content-type,x-ms-blob-typeMax age:
0
تخصیص نقش¶
Access control (IAM) را در نوار کناری ناوبری حساب ذخیرهسازی انتخاب کنید، سپس روی افزودن کلیک کنید و Add role assignment را انتخاب کنید.
Storage Blobs Data Contributor را جستجو کنید و روی بعدی کلیک کنید.
توجه
برای حذف مجوز غیرضروری
delete، یک custom role ایجاد کنید و به جای آن نام نقش سفارشی را جستجو کنید.روی Select members کلیک کنید، نام اپلیکیشن قبلاً ثبتشده را وارد کنید، آن را انتخاب کنید و روی انتخاب کلیک کنید.
دو بار روی Review + assign کلیک کنید.
نقش سفارشی¶
توجه
این مرحله اختیاری است. با این حال، حذف مجوز delete از حذف فایلها توسط هرکسی که به credentialsهای ذخیرهسازی ابری دسترسی پیدا کند جلوگیری میکند.
منبع subscription خود را باز کنید، برای مثال با جستجوی نام آن، Access control (IAM) را در نوار کناری ناوبری انتخاب کنید، روی افزودن کلیک کنید و Add custom role را انتخاب کنید.
زبانهٔ JSON را انتخاب کنید و روی ویرایش کلیک کنید. کد زیر را کپی کنید،
subscription-idخود را زیرassignableScopesاضافه کنید و در صورت تمایلroleName(Custom role) را تغییر دهید، پیست کنید و روی ذخیره کلیک کنید.
{
"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": []
}
]
}
}
پیکربندی Odoo¶
نصب ماژول Cloud Storage Azure.
اپ تنظیمات را باز کنید و فضای ذخیره سازی ابری را در نوار کناری ناوبری انتخاب کنید.
Azure Cloud Azure را بهعنوان ارائه دهنده فضای ذخیرهسازی ابری برای پیوستهای جدید انتخاب کنید.
وارد کنید:
نام حساب ذخیرهسازی را در فیلد نام اکانت Azure؛
نام container را در فیلد نام کانتینر Azure؛
directory (tenant) ID را در فیلد شناسه مستاجر Azure؛
application (client) ID را در فیلد ID مشتری Azure؛ و
مقدار client secret را در فیلد رمز مشتری Azrue.
یک حداقل اندازه فایل (بایت) برای پیوستهایی که در Microsoft Azure ذخیره میشوند تنظیم کنید.