对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

Stream Processing 权限操作

权限操作定义了数据库用户或自定义角色可以在 Stream Processing 工作区中的流处理器上执行的操作。仅将用户需要的权限操作分配给该用户或自定义角色。

所有权限操作均适用于整个 Stream Processing 工作区。您无法将其作用范围限定为 Stream Processing 工作区内的单个命名处理器。所有操作仅在 Atlas Stream Processing 实例上有效。

具有atlasAdminreadWriteAnyDatabase 角色的用户可以执行所有流处理操作。具有readAnyDatabase 角色的用户可以执行只读子集。有关详细信息,请参阅内置角色摘要。

如果用户缺少对某个操作的所需权限,命令将返回 MongoServerError[Unauthorized]: not authorized: missing privilege for action <privilege-action> on resource <resource>

要创建具有特定 Atlas Stream Processing 权限操作的自定义角色,请参阅 添加自定义角色。

下表显示包含 Atlas Stream Processing 权限操作的内置角色。

内置角色
包含的权限操作

所有 Atlas Stream Processing 权限操作

getStreamProcessor, listStreamProcessors , streamProcessorStats , listStreamConnections

所有 Atlas Stream Processing 权限操作

createStreamProcessor

授权sp.createStreamProcessor() 方法,该方法定义一个新的已命名流处理器及其管道和选项。

分配此操作以允许用户在启动命名流处理器之前创建命名流处理器。

注意

Atlas Stream Processing 在创建时验证层级格式。Atlas Stream Processing 在启动处理器时实施最大层级大小,而不是在创建处理器时实施。

dropStreamProcessor

授权sp.processor.drop() 方法,该方法可永久删除已命名的流处理器。

将此操作分配给用户,以允许其删除 Stream Processing 处理器。具有此操作的用户可以删除 Stream Processing 工作区中的任何处理器。没有任何机制可以将此操作限制为特定的命名处理器。

getStreamProcessor

授权 getStreamProcessor 命令,该命令用于检索命名流处理器的状态和配置。结果包括名称、状态、管道、错误消息和最后状态变更时间。

分配此操作以允许用户检查特定流处理器的状态。

listStreamConnections

授权sp.listConnections() 方法,该方法列出流处理工作区连接注册表中的所有连接。根据连接类型,结果可能包括连接名称、类型、集群名称、项目ID、地区、引导服务器和存储帐户字段。

分配此操作以允许用户查看Stream Processing工作区中可用于流处理器的数据源和汇集器。

listStreamProcessors

授权 方法,该方法列出流处理工作区中的所有流处理器。结果可以包括 名称、sp.listStreamProcessors() ID、上次修改时间、状态、层级、错误消息、工作线程计数、管道、死信队列(DLQ)和上次状态更改时间。您可以传递过滤来缩小结果范围。

分配此操作以允许用户在 Stream Processing 工作区中发现所有 Stream Processing 处理器。驱动程序和工具也需要此操作来填充处理器列表。该命令返回 Stream Processing 工作区中的所有处理器。没有机制将可见性限制为特定的命名处理器。

modifyStreamProcessor

授权sp.processor.modify() 方法,该方法会修改现有的流处理器。

分配此操作允许用户更新流处理器的配置,而无需删除和重新创建。

processStreamProcessor

授权 processStreamProcessor 命令,该命令以一次性模式运行流处理管道,而不创建命名处理器。

将此操作分配给用户,以允许用户以一次性模式运行管道。

注意

要运行sp.process() mongosh方法,还要分配sampleStreamProcessor 权限动作。sp.process() 在内部使用示例机制,并且需要这两种特权。

sampleStreamProcessor

授权sp.processor.sample() 方法以及根本的startSampleStreamProcessorgetMoreSampleStreamProcessor 命令。使用startSampleStreamProcessor 在指定的运行的流处理器上启动采样会话。使用getMoreSampleStreamProcessor 检索下批处理结果。当5 batchSize为0 或被省略时,默认批处理大小为 。

将此操作分配给用户,以便允许用户预览运行中的流处理器的实时输出或对示例结果进行分页。采样会话附加到处理器的实时输出。处理器仅在运行时产生结果。

startStreamProcessor

授权sp.processor.start() 方法,该方法可启动或恢复已命名的流处理器。

分配此操作允许用户启动或恢复命名的流处理器。

stopStreamProcessor

授权sp.processor.stop() 方法,该方法可停止运行的命名流处理器。

分配此操作,以允许用户暂停或停止运行的流处理器。

streamProcessorStats

sp.processor.stats()授权getStreamProcessorStats 方法,该方法使用 命令检索流处理器的操作指标。当没有可用指标时, Atlas Stream Processing会忽略统计文档。通过verbose: true 以了解更多详情。详细模式不需要单独的权限。

分配此操作以允许用户监控流处理器的吞吐量、错误率或操作指标。