본문으로 건너뛰기

Report 값을 Flow input에 연결하기

용도

strength.bind(...)strength = report.connect_flow(...)로 받은 Connected Flow handle의 메서드입니다. Report에 작성한 value나 Table이 어느 Flow input으로 전달되는지 저장합니다. Flow 밖에서 연결할 수 있도록 flow.input(...)으로 만든 input만 선택할 수 있습니다.

Report Workbench에서 보이는 것

Report Workbench의 Use report input과 같은 작업입니다. 선택한 Report 원본, Flow public input, type, unit과 collection shape가 연결 편집기에 표시됩니다.

문법

python
strength.bind(
    mapping_key,
    source,
    *,
    to,
    fields=None,
    row_key=None,
)

예제

python
from pipelinexlab import px
from project_flows.girder_check import flow


report = px.Report("girder_report", title="Girder review")
basis = report.section("design_basis", title="Design basis")
report_span = basis.value("span", 12.0, unit="m")
strength = report.connect_flow("strength_check", flow)

strength.bind(
    "span_input",
    report_span,
    to=flow.inputs.span,
)

매개변수

이름설명
mapping_key이 connection에서 input mapping을 계속 찾는 stable lower_snake_case key
source.value(), .table(), .select() 또는 .attachment()가 반환한 Report 원본 handle
to값을 받을 Flow input. flow.inputs.<input_key>로 선택
fieldsRecord/Table source field → Flow input field의 명시적 key mapping
row_keyTable source row key → Flow input Record row key의 명시적 mapping

반환

호출 결과는 connection의 input 연결에 반영됩니다. Flow Run과 Result는 client.run(...)이 반환합니다.

규칙

  • source의 type, unit과 shape는 destination Flow input 계약과 호환되어야 합니다.
  • mapping_key는 해당 connection의 input/result mapping 전체에서 유일하며 label이나 배열 순서에서 자동 생성하지 않습니다.
  • 한 connection에서 같은 Flow input에는 Report 원본 하나를 연결합니다.
  • Record, List와 Table은 명시된 collection 값 하나로 전달합니다.
  • Record/Table field와 row key는 이름을 추측하거나 열 순서로 맞추지 않고 fieldsrow_key로 명시합니다.
  • 같은 Report 원본을 서로 다른 Flow input에 재사용할 수 있습니다.
  • 연결 작성은 계산 Run을 시작하지 않습니다.

다음 단계