用途:在 Directus 中创建和审查扩展,包括 hooks、flows 与自定义逻辑,用于自动化事件、转换数据并暴露特定行为。核心是明确边界:哪些逻辑放 schema/policies,哪些做成扩展,避免扩展带来运维风险。
主要能力与用法:
- 决定实现位置:结构性校验、类型与限制放 schema/fields/constraints;可见/可编辑权限放 auth/permissions/policies;写入时的即时副作用放 hooks;由事件触发、需要重试和控制的较长自动化放 flows;需要独立契约时用自定义 endpoints。
- Hooks 规则:保证幂等(同一写入不重复产生效果);不在请求路径做重活,必要时快速入队;校验输入并对用户给出有用错误信息;始终处理错误而非吞掉,失败返回一致状态。
- Flows 规则:明确 trigger(事件、集合、状态);生成 correlation id 以追踪日志与重试;仅对瞬时错误做带退避的重试;防止重复事件(eventual delivery)。
- 转换与规范化:确定性转换放 hooks;随上下文变化的转换(如租户)从条目数据加配置推导;不要将密钥存于扩展,使用环境变量/密钥管理。
- 操作与安全:只记录必要日志,避免完整 PII;测试简单更新、带必填字段的创建、外部步骤失败、重试导致重复等场景;扩展不得绕过 authz。
- 与其他技能衔接:数据建模、认证权限、应用集成、文件/Assets 可参考相应技能。
完成标准:hooks/flows 确定且幂等;失败行为一致、不留下不一致数据;日志可追踪且不泄露密钥/PII。
限制:资料未提供具体安装命令、依赖版本、代码示例或平台收费信息,暂未提供。