[이 항목은 시험판 설명서이므로 변경될 수 있습니다.]
이 문서에서는 Microsoft Dataverse에서 코드가 낮은 플러그 인을 사용할 때의 팁과 알려진 문제에 대해 설명합니다.
중요합니다
- 인스턴트 로우코드 플러그 인은 우선 순위가 낮아지고 기능으로 제공되지 않습니다. 인스턴트 로우코드 플러그 인은 함수로 대체됩니다. 추가 정보: Microsoft Dataverse의 함수(프리뷰)
- 미리 보기 기능입니다.
- 프리뷰 기능은 생산용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다. 이러한 기능은 공식 릴리스 전에 사용할 수 있으므로 고객은 조기에 액세스하고 피드백을 제공할 수 있습니다.
일반 런타임 문제 처리
런타임 플러그 인 문제가 발생하는 경우 코드가 낮은 플러그 인을 다시 편집합니다. 그런 다음 수식 표현의 인텔리센스 문제가 저코드 플러그인 편집기에 표시됩니다. 지침에 따라 표시되는 문제를 수정한 다음 플러그 인을 다시 저장합니다.
작업 후 패치를 사용할 때는 주의해야 합니다.
하위 코드 플러그 인 실행 시 사후 작업에서 사용할 Patch 때 이 오류가 발생할 수 있습니다. Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException 1[Microsoft.Xrm.Sdk.OrganizationServiceFault] This low-code plugin's execution was cancelled because the plugin logic caused an infinite loop. Correct the plugin logic and try again.
사후 작업 시나리오에서 Patch를 사용할 때는 무한 루프를 피하기 위해 신중해야 합니다.
Patch 작업은 새 트랜잭션을 시작합니다. 예를 들어, MyTable에 대한 업데이트 트리거가 Patch(MyTable, ThisRecord, ...)을 호출하면, 이 작업은 재귀적 업데이트 주기를 초래할 수 있습니다.
다음은 이 문제를 방지할 수 있는 작업의 몇 가지 예입니다.
Patch(CurrentTable, SomeOtherRecord, ... ) // For example, updating a manager's contact from a contact record.Patch(OtherTable, SomeOtherRecord, ... ) // Operations on a completely different table.
2분 시간 제한 처리
2분 이상 계속되는 작업의 경우 다음 오류가 발생할 수 있습니다.
Execution failed for PowerPlexPlugin: System.ServiceModel.FaultException1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Operation not allowed as plugin execution exceeded maximum allowed time (Fault Detail is equal to Exception details: limit your callbacks .. Create, Update)
Dataverse 하위 코드 플러그 인을 사용하는 경우 2분 제한 시간을 효과적으로 관리하는 것이 중요합니다.
- 플러그 인 내의
Patch작업 수 및Collect작업을 제한합니다. 특히 해당 테이블에 이미 등록된 다른 플러그 인이 있는 경우 플러그 인의 성능에 영향을 줄 수 있습니다. - 성능을 모니터링합니다. 플러그 인의 성능을 주시하고 Dataverse 내에서 추적 및 로깅 기능을 사용하여 실행 시간과 실패를 추적하는 것이 좋습니다. 이러한 지침에 따라 2분 시간 제한으로 인한 중단 없이 하위 코드 플러그 인이 Dataverse 환경 내에서 원활하게 실행되도록 할 수 있습니다. 추가 정보: 추적 및 로깅
APIM에서 수신된 실패한 응답
APIM(API Management)에서 반환할 수 있는 이 오류 메시지가 표시되면 플러그 인을 편집한 다음 다시 저장합니다. 저장하면 APIM 인증이 초기화되고 플러그 인이 성공적으로 실행되기 시작합니다.
Execution failed for PowerPlexPlugin: Failed response received from APIM; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" } Method: POST; RequestUri: https://canada-001.azure-apim.net/invoke; StatusCode: NotFound; ResponseContent: { "statusCode": 404, "message": "Resource not found" }; HeadersString: Headers - 'Access-Control-Allow-Methods': 'System.String[]'; 'Access-Control-Allow-Origin': 'System.String[]'; 'Access-Control-Max-Age': 'System.String[]'; 'Access-Control-Expose-Headers': 'System.String[]'; 'Date': 'System.String[]'; Access to APIM expires..edit and save the plugin