Azure Logic Apps에서 거래 파트너 간에 EDI 메시지를 일괄 처리 또는 그룹으로 교환
적용 대상: Azure Logic Apps(소비)
B2B(Business to Business) 시나리오에서 파트너는 그룹 또는 일괄 처리로 메시지를 교환하는 경우가 많습니다. Azure Logic Apps를 사용하여 일괄 처리 솔루션을 빌드할 때 거래 파트너에게 메시지를 보내고 해당 메시지를 일괄 처리로 함께 처리할 수 있습니다. 이 문서에서는 X12를 사용하여(예: "일괄 처리 발신자" 논리 앱 및 "일괄 처리 수신자" 논리 앱을 만들어) EDI 메시지를 일괄 처리할 수 있는 방법을 보여줍니다.
X12 메시지 일괄 처리는 다른 메시지 일괄 처리와 유사하게 작동합니다. 메시지를 일괄 처리로 수집하는 일괄 처리 트리거와 메시지를 일괄 처리로 보내는 일괄 처리 작업을 사용합니다. 또한 X12 일괄 처리는 메시지가 거래 업체 또는 다른 대상으로 이동하기 전에 X12 인코딩 단계를 포함합니다. 일괄 처리 트리거 및 작업에 대해 자세히 알아보려면 메시지 일괄 처리 프로세스를 참조하세요.
이 문서에서는 동일한 Azure 구독, Azure 지역 내에서 두 개의 논리 앱을 만들고, 이 특정 순서를 따라 일괄 처리 솔루션을 빌드합니다.
"일괄 처리 수신자" 논리 앱은 해당 메시지 해제 및 처리에 대해 지정된 조건을 충족할 때까지 메시지를 허용하고 일괄 처리로 수집합니다. 이 시나리오에서는 일괄 처리 수신자도 지정된 X12 계약 또는 파트너 ID를 사용하여 일괄 처리로 메시지를 인코딩합니다.
먼저 일괄 처리 수신자를 만들어 나중에 일괄 처리 발신자를 만들 때 일괄 처리 대상을 선택할 수 있도록 합니다.
“일괄 처리 발신자” 논리 앱 워크플로는 이전에 만든 일괄 처리 수신자에게 메시지를 보냅니다.
일괄 처리 수신기와 일괄 처리 보낸 사람 논리 앱 워크플로가 동일한 Azure 구독 및 Azure 지역을 사용하는지 확인합니다. 그렇지 않은 경우 서로 표시되지 않기 때문에 일괄 처리 발신자를 만들 때 일괄 처리 수신자를 선택할 수 없습니다.
필수 구성 요소
Azure 구독 구독이 없는 경우 무료 Azure 계정으로 시작할 수 있습니다.
논리 앱 워크플로를 만드는 방법에 대한 기본 지식. 자세한 내용은 다중 테넌트 Azure Logic Apps에서 사용량 논리 앱 워크플로 예제 만들기를 참조하세요.
Azure 구독에 연결되고 논리 앱에 연결된 기존 통합 계정.
통합 계정에서 둘 이상의 기존 파트너 각 파트너는 파트너의 속성에서 X12(표준 이동 통신 사업자 알파 코드) 한정자를 비즈니스 ID로 사용해야 합니다.
통합 계정에서 기존 X12 계약
Azure Portal 대신 Visual Studio를 사용하려면 Azure Logic Apps를 사용하도록 Visual Studio를 설정해야 합니다.
솔루션을 테스트하기 위해 HTTP 요청을 보낼 수 있는 도구를 설치하거나 사용합니다. 예를 들면 다음과 같습니다.
- Visual Studio Marketplace의 확장이 포함된 Visual Studio Code
- PowerShell Invoke-RestMethod
- Microsoft Edge - 네트워크 콘솔 도구
- Bruno
- curl
주의
자격 증명, 비밀, 액세스 토큰, API 키 및 기타 유사한 정보와 같은 중요한 데이터가 있는 시나리오의 경우 필요한 보안 기능으로 데이터를 보호하고, 오프라인 또는 로컬로 작동하며, 데이터를 클라우드에 동기화하지 않고, 온라인 계정에 로그인할 필요가 없는 도구를 사용해야 합니다. 이렇게 하면 중요한 데이터가 대중에게 노출되는 위험을 줄일 수 있습니다.
X12 일괄 처리 수신자 만들기
메시지를 일괄 처리로 보내려면 먼저 해당 일괄 처리가 해당 메시지를 보내는 대상으로 존재해야 합니다. 따라서 먼저 일괄 처리 트리거를 시작하는 "일괄 처리 수신자" 논리 앱을 만들어야 합니다. 이런 방식으로 "일괄 처리 발신자" 논리 앱을 만들 때 일괄 처리 수신자 논리 앱을 선택할 수 있습니다. 일괄 처리 수신자는 지정된 조건이 충족되어 해당 메시지를 해제하고 처리할 때까지 메시지 수집을 계속합니다. 일괄 처리 수신자는 일괄 처리 발신자에 대해 인식하고 있을 필요가 없지만, 일괄 처리 발신자는 메시지를 보내는 대상을 인식하고 있어야 합니다.
이 일괄 처리 수신자에 대한 일괄 처리 모드, 이름, 릴리스 기준, X12 계약 및 다른 설정을 지정합니다.
Azure Portal, Visual Studio 또는 Visual Studio Code에서 BatchX12Messages라는 이름의 논리 앱을 만듭니다.
워크플로 디자이너에서 논리 앱 워크플로를 시작하는 일괄 처리 트리거를 추가합니다.
일괄 처리 메시지라는 이름의 일괄 처리 트리거를 추가하려면 다음 일반 단계를 따릅니다.
일괄 처리 수신자 속성을 설정합니다.
속성 값 주의 일괄 처리 모드 인라인 일괄 처리 이름 TestBatch 인라인 일괄 처리 모드에서만 사용 가능 해제 조건 메시지 수 기반, 일정 기반 인라인 일괄 처리 모드에서만 사용 가능 메시지 수 10 메시지 수 기반 릴리스 기준에서만 사용 가능 간격 10 일정 기반 릴리스 기준에서만 사용 가능 빈도 분 일정 기반 릴리스 기준에서만 사용 가능 참고 항목
이 예제에서는 일괄 처리에 대한 파티션을 설정하지 않으므로 각 일괄 처리는 동일한 파티션 키를 사용합니다. 파티션에 대해 자세히 알아보려면 메시지 일괄 처리 프로세스를 참조하세요.
이제 각 일괄 처리를 인코딩하는 작업을 추가합니다.
다음 일반 단계에 따라 일괄 처리 인코딩 <모든 버전>이라는 이름의 X12 작업을 추가합니다.
이전에 통합 계정에 연결하지 않은 경우 지금 연결을 만듭니다. 연결 이름을 입력하고 원하는 통합 계정을 선택한 다음 만들기를 선택합니다.
일괄 처리 인코더 작업에 대해 이러한 속성을 설정합니다.
속성 설명 X12 계약 이름 목록을 열고, 기존 계약을 선택합니다. 목록이 비어 있으면 원하는 계약이 있는 통합 계정에 논리 앱을 연결했는지 확인합니다.
BatchName 이 상자 내부를 클릭하고, 동적 콘텐츠 목록이 나타나면 일괄 처리 이름 토큰을 선택합니다. PartitionName 이 상자 내부를 클릭하고, 동적 콘텐츠 목록이 나타나면 파티션 이름 토큰을 선택합니다. 아이템 항목 세부 정보 상자를 닫은 다음, 이 상자 내부를 클릭합니다. 동적 콘텐츠 목록이 나타나면 일괄 처리된 항목 토큰을 선택합니다. Items 상자의 경우:
논리 앱 워크플로 저장
Visual Studio를 사용하는 경우 일괄 처리 수신자 논리 앱을 Azure에 배포해야 합니다. 그렇지 않으면 일괄 처리 발신자를 만들 때 일괄 처리 수신자를 선택할 수 없습니다.
워크플로 테스트
일괄 처리 수신자가 예상대로 작동하는지 확인하기 위해 테스트 목적으로 HTTP 작업을 추가하고, 요청 Bin 서비스에 일괄 처리된 메시지를 보낼 수 있습니다.
HTTP라는 이름의 HTTP 작업을 추가하려면 다음 일반 단계를 따릅니다.
HTTP 작업에 대한 속성을 설정합니다.
속성 설명 방법 이 목록에서 POST를 선택합니다. URI 요청 bin에 대한 URI를 생성한 다음, 이 상자에 해당 URI를 입력합니다. 본문 이 상자 내부를 클릭하고, 동적 콘텐츠 목록이 열리면 섹션에 나타나는 본문 토큰, 계약 이름으로 일괄 처리 인코딩을 선택합니다. 본문 토큰이 없는 경우 계약 이름으로 일괄 처리 인코딩 옆의 자세히 보기를 선택합니다.
워크플로를 저장합니다.
일괄 처리 수신기 논리 앱은 다음 예와 같습니다.
X12 일괄 처리 발신자 만들기
이제 일괄 처리 수신자 논리 앱에 메시지를 보내는 하나 이상의 논리 앱을 만듭니다. 각 일괄 처리 발신자에서 일괄 처리 수신자 논리 앱 및 일괄 처리 이름, 메시지 콘텐츠 및 다른 설정을 지정합니다. 필요에 따라 해당 키가 있는 메시지를 수집하도록 일괄 처리를 하위 집합으로 나누는 고유한 파티션 키를 제공할 수 있습니다.
이미 일괄 처리 수신기를 만들었는지 확인합니다. 이렇게 하면 일괄 처리 보낸 사람을 만들 때 기존 일괄 처리 수신기를 대상 일괄 처리로 선택할 수 있습니다. 일괄 처리 수신자는 일괄 처리 발신자에 대해 인식하고 있을 필요가 없지만, 일괄 처리 발신자는 메시지를 보내는 위치를 인식하고 있어야 합니다.
일괄 처리 수신기와 일괄 처리 보낸 사람 논리 앱 워크플로가 동일한 Azure 구독 및 Azure 지역을 사용하는지 확인합니다. 그렇지 않은 경우 서로 표시되지 않기 때문에 일괄 처리 발신자를 만들 때 일괄 처리 수신자를 선택할 수 없습니다.
다음 이름으로 다른 논리 앱을 만듭니다. SendX12MessagesToBatch
다음 일반 단계에 따라 HTTP 요청이 수신될 때라는 요청 트리거를 추가합니다.
메시지를 일괄 처리 전송하기 위한 작업을 추가하려면 다음 일반 단계에 따라 일괄 트리거가 포함된 Logic Apps 워크플로 선택이라는 일괄 처리로 메시지 보내기 작업을 추가합니다.
이전에 만든 BatchX12Messages 논리 앱을 선택합니다.
Batch_messages - <your-batch-receiver>라는 BatchX12Messages 작업을 선택합니다.
일괄 처리 발신자의 속성을 설정합니다.
속성 설명 일괄 처리 이름 수신자 논리 앱에서 정의된 일괄 처리 이름입니다(이 예의 경우 "TestBatch"). 중요: 일괄 처리 이름은 런타임에 유효성이 검사되고 수신자 논리 앱에서 지정된 이름과 일치해야 합니다. 일괄 처리 이름을 변경하면 일괄 처리 발신자가 실패하게 됩니다.
메시지 콘텐츠 보내려는 메시지에 대한 콘텐츠입니다. 이 예에서는 본문 토큰입니다. 워크플로를 저장합니다.
일괄 처리 발신자 논리 앱은 다음 예와 같습니다.
워크플로 테스트
일괄 처리 솔루션을 테스트하려면 HTTP 요청 도구 및 해당 지침을 사용하여 일괄 처리 발신자 논리 앱 워크플로에 X12 메시지를 게시합니다. 곧 요청 bin에 10분 간격으로 또는 10개의 일괄 처리로 동일한 파티션 키가 있는 X12 메시지를 받기 시작합니다.