云端储存空间

云存储集成允许将 沟通栏 和电子邮件附件存储在 Google Cloud 或 Microsoft Azure 平台上,而不是数据库的服务器上。

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

注解

  • 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 密钥

云存储空间bucket

  1. 在 Google Cloud 控制台中打开导航侧栏,然后转到 Cloud Storage ‣ Buckets ‣ Create。

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

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

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

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

  6. 在 Cloud Storage 部分下,选择 Storage Admin 作为 角色,然后点击 保存。

    向 Google Cloud 存储桶添加主账号

Odoo 配置

  1. 安装 Cloud Storage Google 模块。

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

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

  4. 输入 之前设置 的 Google 存储桶名称。

  5. 点击 Google Service Account Key 旁的 上传文件,然后选择 下载的 JSON 文件。

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

微软 Azure

首先,注册并登录 微软 Azure 。

应用程序注册

  1. 在微软 Azure 门户中,搜索 应用程序注册 服务并打开它。

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

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

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

    重要

    出于安全原因,请将 过期 字段保留为 180 days (6 months),或选择更短的过期时间间隔。在密码过期之前,必须添加新的客户端密码,并使用新值更新 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-Disposition

    • 公开的标头:Content-Type, Content-Disposition

    • 最长存留时间: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 Blobs Data Contributor 并点击 下一步。

    注解

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

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

  4. 点击 查看 + 分配 两次。

    将成员添加到容器
自定义角色

注解

此步骤是 可选的。但是,移除 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 上的附件设置 最小文件大小(字节)。