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>로 선택 |
fields | Record/Table source field → Flow input field의 명시적 key mapping |
row_key | Table 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는 이름을 추측하거나 열 순서로 맞추지 않고
fields와row_key로 명시합니다. - 같은 Report 원본을 서로 다른 Flow input에 재사용할 수 있습니다.
- 연결 작성은 계산 Run을 시작하지 않습니다.