云端储存空间¶
云存储集成功能允许将 沟通栏 和电子邮件附件存储在 Google Cloud 或 Microsoft Azure 平台上,而不是数据库服务器上。
该模块可用于防止向数据库服务器上传和下载大文件,或当数据库需要更多数据存储时使用。
注解
Odoo 生成的文件(如销售订单)和文档/签名应用程序文件始终存储在数据库服务器上。
数据库的存储限制取决于其托管解决方案:
Odoo 在线版:100 GB
Odoo.sh:
共享主机:512 GB
专属主机:4 TB
本地部署:受现有基础设施的限制。
Google Cloud¶
首先,注册并登录到 Google Cloud。
服务账户¶
云存储桶¶
在 Google Cloud 控制台中打开导航侧边栏,然后前往
。遵循`存储桶命名准则 <https://cloud.google.com/storage/docs/buckets?_gl=1*h4hwrv*_ga*MTcwNDM2NDE1Ny4xNzQzNzUxOTEy*_ga_WH2QY8WWF5*MTc0Mzc2NDMyOS4zLjEuMTc0Mzc2NDMyOS42MC4wLjA.#naming>`_ 输入存储桶名称,并将其记下,因为在 配置 Odoo 时会用到它。
根据需要配置存储桶,完成后点击 创建。
点击 )按钮,然后选择 编辑访问权限。
点击 添加主账号,并在 新主账号 字段中粘贴服务账户的电子邮件。
在 云存储 部分下,选择 存储管理员 作为 角色,然后点击 保存。
Odoo 配置¶
安装 云存储 Google 模块。
打开 设置 应用,并在导航侧边栏中选择 云存储。
选择 Google 云存储 作为 新附件的云存储提供商。
输入 之前设置 的 Google 存储桶名称。
点击 Google 服务账户密钥 旁边的 上传您的文件,并选择 下载的 JSON 文件。
为要存储在 Google Cloud 上的附件设置 最小文件大小(字节)。
Microsoft Azure¶
首先,注册并登录到 Microsoft Azure。
应用注册¶
在 Microsoft Azure 门户上,搜索并打开 应用注册 服务。
点击 新注册,输入应用程序 名称,在 支持的帐户类型 下选择 任何组织目录中的帐户(任何 Microsoft Entra ID 租户 - 多租户),然后点击 注册 。
记下 应用程序(客户端)ID 和 目录(租户)ID,因为在 配置 Odoo 时会用到它们。
点击 客户端凭据 旁边的 添加证书或机密,点击 新建客户端机密,然后点击 添加。
重要
为安全起见,将 过期时间 字段保留为`180 天(6 个月)`或选择更短的过期时间间隔。在密钥过期前,必须添加一个新的客户端密钥,并使用新值更新 Odoo 配置。
复制客户端密钥的 值 并安全地存储它。在 配置 Odoo 时会用到它。
存储账户¶
搜索 存储账户 服务,打开它,然后点击 创建。
点击 资源组 字段下方的 新建,输入一个 名称,然后点击 确定。
输入一个唯一的 存储帐户名称 并将其记下,因为在 配置 Odoo 时会用到它。
根据需要配置存储帐户,完成后,点击 审阅 + 创建,然后点击 创建。
容器¶
打开您的存储帐户资源(例如,通过搜索其名称),然后在导航侧边栏的 数据存储 下选择 容器。
输入一个 名称,将其记下,因为在 配置 Odoo 时会用到它,然后点击 创建。
资源共享¶
在存储帐户的导航侧边栏中,于 设置 下选择 资源共享(CORS)。
创建第一条 CORS Blob 服务规则:
允许的来源:
*
允许的方法:
GET
允许的标头:
Content-Type
公开的标头:
Content-Type
最长时间:
0
创建第二条 CORS Blob 服务规则并点击 保存:
允许的来源:
*
允许的方法:
PUT
允许的标头:
content-type,x-ms-blob-type
公开的标头:
content-type,x-ms-blob-type
最长时间:
0
角色分配¶
自定义角色¶
注解
此步骤为**可选**。但是,移除`删除`权限可以防止任何设法访问云存储凭据的人删除文件。
打开您的订阅资源(例如,通过搜索其名称),在导航侧边栏中选择 访问控制 (IAM),点击 添加 并选择 添加自定义角色。
选择 JSON 选项卡并点击 编辑。复制下面的代码,在
assignableScopes
下添加您的subscription-id
,如果需要可以更改roleName`(`自定义角色
),然后粘贴代码并点击 保存。
{
"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": []
}
]
}
}