云端储存空间

云存储集成可将 聊天记录 和电子邮件附件存储在 Google Cloud 或 Microsoft Azure 平台上,而不是数据库服务器中。

该模块可用于防止大型文件上传到数据库服务器或从数据库服务器下载,或在数据库需要更多数据存储空间时使用。

Note

  • Odoo 生成的文件(例如销售订单)以及文件管理/签署应用的文件始终存储在数据库服务器上。

  • 数据库的存储上限取决于其托管方案:

    • Odoo Online:100 GB

    • Odoo.sh:

      • 共享托管:512 GB

      • 专用托管:4 TB

    • 本地部署:受现有基础设施的限制。

Google Cloud云

首先,注册并登录到 Google Cloud 。

服务账号

  1. 在 Google Cloud 控制台打开导航侧栏,然后转到 IAM & 管理 ‣ 服务账号 ‣ 创建服务账号。

  2. 定义 服务账号名称 ,点击 创建并继续 ,然后点击 完成 。

    创建 Google Cloud 服务账号
  3. 记下该服务账号的 电子邮件 ,因为 配置云存储存储桶 时会用到。

  4. 点击 (操作) 按钮,然后选择 管理密钥 。

    访问“管理密钥”操作
  5. 转到 添加密钥 ‣ 创建新密钥 ,将 密钥类型 选择为 JSON ,然后点击 创建 。请安全保管下载的包含密钥的 JSON 文件。配置 Odoo 时会用到它。

    创建 Google Cloud 服务账号的 JSON 密钥

云存储存储桶

  1. 打开 Google Cloud 控制台上的导航侧边栏,然后转到 Cloud Storage ‣ 存储桶 ‣ 创建 。

  2. 按照 存储桶命名规范 输入存储桶名称,并记录下来,因为 配置 Odoo 时会用到。

  3. 按需配置存储桶,完成后点击 创建 。

    创建存储桶
  4. 点击 (更多操作) 按钮,然后选择 编辑访问权限 。

    访问 Google Cloud 存储桶的“编辑访问权限”操作
  5. 点击 添加主体 ,并将服务账号的电子邮件粘贴到 新主体 字段中。

  6. 在 Cloud Storage 部分下,将 角色 选择为 存储管理员 ,然后点击 保存 。

    向 Google Cloud 存储桶添加主体

Odoo 配置

  1. 安装 Cloud Storage Google 模块。

  2. 打开 设置 应用,并在导航侧边栏中选择 云存储 。

  3. 将 新附件的云存储提供商 选择为 Google Cloud Storage 。

  4. 在 Google 存储桶名称 中输入 先前设置 的名称。

  5. 点击 Google 服务账号密钥 旁的 上传文件 ,并选择 已下载的 JSON 文件 。

  6. 设置存储在 Google Cloud 上的附件的 最小文件大小(字节) 。

Microsoft Azure

首先,注册并登录 Microsoft Azure 。

应用注册

  1. 在 Microsoft Azure 门户中搜索 应用注册 服务并打开它。

  2. 点击 新注册 ,输入应用 名称 ,在 支持的账户类型 下选择 任何组织目录中的账户(任何 Microsoft Entra ID 租户 - 多租户) ,然后点击 注册 。

    注册 Microsoft Azure 应用
  3. 记下 应用程序(客户端)ID 和 目录(租户)ID ,因为 配置 Odoo 时会用到。

  4. 点击 客户端凭据 旁的 添加证书或机密 ,点击 新客户端机密 ,然后点击 添加 。

    Important

    出于安全原因,请将 过期 字段保留为 180 天(6 个月) 或选择更短的过期时间间隔。在机密过期之前,需要添加新的客户端机密,并用新值更新 Odoo 的配置 。

  5. 复制客户端机密的 值 并安全保管。配置 Odoo 时会用到它。

    向 Microsoft Azure 应用添加机密

存储账户

  1. 搜索 存储账户 服务,打开它,然后点击 创建 。

  2. 点击 资源组 字段下方的 新建 ,输入 名称 ,然后点击 确定 。

  3. 输入唯一的 存储账户名称 并记录下来,因为 配置 Odoo 时会用到。

  4. 按需配置存储账户,完成后点击 审阅 + 创建 ,然后点击 创建 。

    创建 Microsoft Azure 存储账户

容器

  1. 打开存储账户资源(例如通过搜索其名称),然后在导航侧边栏的 数据存储 下选择 容器 。

  2. 输入 名称 ,记录下来,因为 配置 Odoo 时会用到,然后点击 创建 。

    创建 Microsoft Azure 存储容器

资源共享

  1. 在存储账户导航侧边栏的 设置 下选择 资源共享(CORS) 。

  2. 创建第一条 CORS Blob 服务规则:

    • 允许的来源 : *

    • 允许的方法 : GET

    • 允许的标头 : Content-Type

    • 公开的标头 : Content-Type

    • 最长保留时间 : 0

  3. 创建第二条 CORS Blob 服务规则并点击 保存 :

    • 允许的来源 : *

    • 允许的方法 : PUT

    • 允许的标头 : content-type,x-ms-blob-type

    • 公开的标头 : content-type,x-ms-blob-type

    • 最长保留时间 : 0

    创建 Microsoft Azure 存储账户 CORS 规则

角色分配

  1. 在存储账户的导航侧边栏中选择 访问控制(IAM) ,然后点击 添加 并选择 添加角色分配 。

  2. 搜索 Storage Blob Data Contributor 并点击 下一步 。

    Note

    要移除不必要的 delete 权限,请创建 自定义角色 ,并改为搜索该自定义角色的名称。

  3. 点击 选择成员 ,输入 先前注册的应用 的名称,选中它,然后点击 选择 。

  4. 点击两次 审阅 + 分配 。

    向容器添加成员
自定义角色

Note

此步骤是 可选的 。不过,移除 delete 权限可以防止任何能够访问云存储凭据的人删除文件。

  1. 打开订阅资源(例如通过搜索其名称),在导航侧边栏中选择 访问控制(IAM) ,点击 添加 并选择 添加自定义角色 。

  2. 选择 JSON 选项卡并点击 编辑 。复制下面的代码,在 assignableScopes 下添加您的 subscription-id ,并按需更改 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 配置

  1. 安装 Cloud Storage Azure 模块。

  2. 打开 设置 应用,并在导航侧边栏中选择 云存储 。

  3. 将 新附件的云存储提供商 选择为 Azure Cloud Azure 。

  4. 输入:

  5. 设置存储在 Microsoft Azure 上的附件的 最小文件大小(字节) 。