创建命名空间
创建命名空间有两种方式:显式创建和自动创建。通过这两种方式,您可以根据不同的需求灵活选择创建命名空间的方式。显式创建适用于需要严格控制的环境,而自动创建则适用于动态环境,减少了手动干预。
显式创建命名空间
通过 Dashboard 或 REST API,您可以手动显式创建命名空间。显式创建的命名空间可以被直接管理、编辑和删除。
使用场景:适用于您希望明确控制哪些命名空间存在,并且需要对命名空间进行精细管理的情况。
通过 Dashboard 显示创建命名空间
以下为在 Dashboard 中快速创建命名空间的步骤:
在 Dashboard 左侧菜单中点击管理 ->命名空间。
点击创建。在弹出的创建命名空间对话框中输入命名空间的名称。其余选项设置为默认值。有关如何配置最大会话数和速率限制,参考通过 Dashboard 配置和管理命名空间。
点击创建。您将看到新创建的命名空间出现在列表中。
通过 REST API 显示创建命名空间
在应用命名空间特定配置之前,必须使用 POST /mt/ns/<namespace>
API 显式创建命名空间。将 <namespace>
替换为所需的命名空间 ID,无需请求体。
自动创建命名空间
当客户端连接时,EMQX 可以通过提取客户端的 client_attrs.tns
属性自动创建命名空间。这种方式通常用于无需手动创建命名空间的场景,适用于大规模自动化的部署。
使用场景:这种方法最适用于客户端连接被信任的环境,并且需要自动为每个租户或客户端创建独立命名空间的情况。
注意
自动创建的命名空间无法在 Dashboard 中进行编辑操作。它们只能通过配置文件或者从客户端的元数据中自动生成。
注意
只有当 multi_tenancy.allow_only_managed_namespaces = false
时,才启用自动命名空间创建。