
egemenyavuz/rest-transformrest-transform是一个微服务镜像,主要功能是调用指定URL(支持可选负载)并将请求结果存储在可配置的属性中。该服务可灵活用作数据转换(transform)或数据接收端(sink),适用于需要通过HTTP请求与外部系统集成的数据处理场景。
| ENDPOINT | METHOD(S) | 描述 |
|---|---|---|
/transform | POST | 用作转换服务的端点,通常配合http_transform使用 |
/sink | POST | 用作数据接收端的端点 |
| 名称 | 描述 |
|---|---|
service_config_property | 实体中用于指定个性化执行参数的属性,会覆盖对应的环境变量 |
path | 目标URL的路径部分,该值会追加到基础URL后形成最终请求URL |
注:
service_config_property若指定,其值必须指向输入实体中的一个字典,字典字段需为环境变量的子集。
| 配置名称 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
AUTHORIZATION | 请求目标URL时的授权配置,支持多种认证方式(详见下方授权配置说明) | 否 | None |
LOG_LEVEL | 日志级别 | 否 | 'INFO' |
PORT | 服务监听端口 | 否 | 5001 |
DO_STREAM | 是否流式返回转换结果(流式处理更快但始终返回200状态码) | 否 | true |
DO_VERIFY_SSL | 是否启用SSL验证 | 否 | false |
METHOD * | 调用目标URL的HTTP方法 | 否 | 'GET' |
PROPERTY * | 存储转换结果的属性名称 | 否 | 'response' |
PAYLOAD_PROPERTY_FOR_TRANSFORM_REQUEST * | 包含发送到URL的负载数据的属性名称 | 否 | 'payload' |
URL * | 提供转换数据的目标系统URL(基础URL) | 是 | n/a |
HEADERS * | 发送到目标URL的请求头(JSON格式) | 否 | n/a |
TOLERABLE_STATUS_CODES * | 可容忍的HTTP状态码正则模式(仅适用于/transform端点),匹配时不抛出错误,结果格式为`{"transform_succeeded": true | false, "message": "<错误信息>", "status_code": <状态码>}` | 否 |
SERVICE_CONFIG_PROPERTY | 指向输入实体中服务配置属性的键名 | 否 | 'service_config' |
注:标有
*的配置可通过实体级定制(通过service_config_property环境变量或查询参数)覆盖。
AUTHORIZATION 配置支持以下几种认证方式:
json"AUTHORIZATION": null
json"AUTHORIZATION": { "type": "basic", "basic": ["用户名", "密码"] }
json"AUTHORIZATION": { "type": "oauth2", "oauth2": { "client_id": "OAuth2客户端ID", "client_secret": "OAuth2客户端密钥", "token_url": "OAuth2令牌获取URL" } }
json{ "_id": "my-rest-transform-system", "type": "system:microservice", "docker": { "environment": { "HEADERS": { "Accept": "application/json; version=2", "Authorization": "token my-travis-token" }, "URL": "[***]", "DO_STREAM": false, "PROPERTY": "mytransformresponse", "TOLERABLE_STATUS_CODES": "404|400" }, "image": "sesamcommunity/sesam-rest-transform", "port": 5001 } }
json{ "_id": "my-transform-pipe", "type": "pipe", "source": { "type": "dataset", "dataset": "my-source" }, "transform": [{ "type": "dtl", "rules": { "default": [ ["copy", "_id"], ["add", "id", "_S._id"] ] } }, { "type": "http", "system": "my-rest-transform-system", "url": "/transform?path=/mypath/to/myresource?myid={{ id }}" }, { "type": "dtl", "rules": { "default": [ ["copy", "_id"], ["if", ["eq", "_S.mytransformresponse.transform_succeeded", false], ["comment", "可选:在此处或后续管道中处理容忍的错误"], ["add", "details", "_S.mytransformresponse"] ] ] } }] }
以下组合在上述示例场景中效果等效:
| URL(环境变量) | PATH(查询参数) | 实体(部分负载) | 说明 |
|---|---|---|---|
| [***] | /mypath/to/myresource?myid={{ id }} | ..."id":10... | 最通用的用法,path参数包含完整路径和查询参数 |
| [***] | myresource?myid={{ id }} | ..."id":10 ... | 基础URL包含部分路径,path补充剩余部分 |
| [***]{{ id }} | (空) | ..."id":10... | 最不灵活的用法,URL包含完整路径和参数 |
| [***]{{ _my_full_path}} | (空) | ..."_my_full_path":"mypath/to/myresource?myid=10"... | 最灵活的用法,路径由实体属性动态提供 |




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务