Отправка информации о рабочем процессе в настраиваемый соединитель

Мне нужна помощь с отправкой информации о рабочем процессе в заголовке / теле вызовов на настраиваемый коннектор. Я пытаюсь загрузить раскрывающийся список в одном из параметров приложения логики, используя значения, возвращенные из вызова API. Конечная точка API требует базовой информации рабочего процесса, такой как группа ресурсов и имя рабочего процесса, которые обычно доступны в заголовках HTTP-запросов при выполнении приложения логики.

Обычно, когда я использую @{workflow().name} в json приложения логики, он заменяется именем рабочего процесса. В случае настраиваемого коннектора синтаксис WDL передается как есть без каких-либо преобразований.

Вот упрощенный swagger json со всеми соответствующими разделами.

{
    "swagger": "2.0",
    "info": {
        "title": "{{dynamicHostName}}",
        "version": "1.0.0"
    },
    "host": "{{dynamicHostName}}",
    "basePath": "/",
    "schemes": [
        "https"
    ],
    "paths": {
        "/sftpsource": {
            "post": {
                "operationId": "SftpSource",
                "summary": "Sftp as source system",
                "description": "Use Sftp as source system",
                "produces": [
                    "application/json"
                ],
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "hostName": {
                                    "type": "string",
                                    "x-ms-summary": "Host Name",
                                    "x-ms-visibility": "advanced"
                                },
                                "portNumber": {
                                    "type": "string",
                                    "x-ms-summary": "Port Number",
                                    "x-ms-visibility": "advanced"
                                },
                                "userName": {
                                    "type": "string",
                                    "x-ms-summary": "User Name",
                                    "x-ms-visibility": "advanced"
                                },
                                "password": {
                                    "type": "string",
                                    "x-ms-summary": "Password",
                                    "x-ms-visibility": "advanced"
                                },
                                "filePath": {
                                    "type": "string",
                                    "x-ms-summary": "File Path"
                                },
                                "system": {
                                    "type": "string",
                                    "x-ms-visibility": "advanced",
                                    "x-ms-summary": "System",
                                    "x-ms-dynamic-values": {
                                        "operationId": "GetTaggedSystems",
                                        "parameters": {
                                            "workflow-name": "@{workflow().name}"
                                        },
                                        "value-path": "systemId",
                                        "value-title": "systemName"
                                    }
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request is queued"
                    },
                    "500": {
                        "description": "Server Error"
                    }
                }
            }
        },
        "/taggedSystems" : {
            "get": {
                "operationId": "GetTaggedSystems",
                "summary": "Tagged Systems",
                "x-ms-visibility": "advanced",
                "description": "Get all systems tagged to this flow",
                "parameters": [
                    {
                        "name": "workflow-name",
                        "in": "header",
                        "required": true,
                        "type":  "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TaggedSystems"
                        }
                    },
                    "202": {
                        "description": "Work is still in progress"
                    },
                    "500": {
                        "description": "An error occured while trying to fetch tagged systems."
                    }
                }
            }
        }
    },
    "definitions": {
        "TaggedSystems": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "systemId": {
                        "type": "string"
                    },
                    "systemName": {
                        "type": "string"
                    }
                },
                "required": [
                    "systemId",
                    "systemName"
                ]
            }
        }
    }
}

person Karthikeyan    schedule 11.02.2018    source источник


Ответы (1)


У вас может быть внутренний параметр, определенный как заголовок / тело, куда вы можете передавать динамические выражения того, что вам нужно, из среды рабочего процесса во время выполнения потока.

Для получения полной информации о потоке вы можете передать @{workflow()} в качестве внутреннего параметра.

Надеюсь, это поможет.

person Sandeep Menon    schedule 24.01.2019