asset compute 확장성 문제 해결

다음은 AEM Assets용 사용자 지정 Asset compute 작업자를 개발 및 배포할 때 발생할 수 있는 일반적인 문제와 오류 및 해결 방법에 대한 색인입니다.

개발 develop

렌디션이 부분적으로 그려지거나 손상되었습니다. rendition-returned-partially-drawn-or-corrupt

  • 오류: 렌디션이 잘못 렌더링되거나(이미지의 경우) 손상되어 열 수 없습니다.

    렌디션이 부분적으로 그려졌습니다

  • 원인: 렌디션을 rendition.path에 완전히 쓰기 전에 작업자의 renditionCallback 함수를 종료하는 중입니다.

  • 해결 방법: 사용자 지정 작업자 코드를 검토하고 await을(를) 사용하여 모든 비동기 호출이 동기화되는지 확인하십시오.

개발 도구 development-tool

asset compute 프로젝트에 Console.json 파일 누락 missing-console-json

  • 오류: 오류: 비동기 setupAssetCompute(.../node_modules/@adobe/asset-compute-devtool/src/assetComputeDevTool.js:XX:YY)에 유효성 검사(.../node_modules/@adobe/asset-compute-client/lib/integrationConfiguration.js:XX:YY)에 필요한 파일이 없습니다.

  • 원인: console.json 파일이 Asset compute 프로젝트의 루트에 없습니다.

  • 해결 방법: Adobe I/O 프로젝트에서 새 console.json 다운로드

    1. console.adobe.io에서 Asset compute 프로젝트가 사용하도록 구성된 Adobe I/O 프로젝트를 엽니다
    2. 오른쪽 상단에서 다운로드 단추를 탭합니다.
    3. 파일 이름 console.json을(를) 사용하여 다운로드한 파일을 Asset compute 프로젝트의 루트에 저장합니다

manifest.yml의 잘못된 YAML 들여쓰기 incorrect-yaml-indentation

  • 오류: YAMLException: aio app run 명령에서 표준 출력을 통해 X행, Y열에 있는 매핑 항목의 들여쓰기가 잘못되었습니다.
  • 원인: Yaml 파일은 공백이 흰색이어서 들여쓰기가 잘못되었을 수 있습니다.
  • 해결 방법: manifest.yml을(를) 검토하고 들여쓰기가 모두 올바른지 확인하십시오.

memorySize 제한이 너무 낮게 설정되어 있습니다. memorysize-limit-is-set-too-low

  • 오류: 로컬 개발 서버 OpenWhskError: PUT https://adobeioruntime.net/api/v1/namespaces/xxx-xxx-xxx/actions/xxx-0.0.1/__secured_workeroverwrite=true에서 HTTP 400(잘못된 요청)을 반환했습니다. —> "요청 컨텐츠가 잘못되었습니다. 요구 사항이 실패했습니다. 메모리 64MB가 134217728 B의 허용 임계값 이하입니다."
  • 원인: manifest.yml의 작업자에 대한 memorySize 제한이 바이트 단위의 오류 메시지에서 보고한 대로 최소 허용 임계값 이하로 설정되었습니다.
  • 해결 방법: manifest.yml에서 memorySize 제한을 검토하고 모두 허용된 최소 임계값보다 큰지 확인하십시오.

private.key가 누락되어 개발 도구를 시작할 수 없습니다. missing-private-key

  • 오류: 로컬 개발 서버 오류: validatePrivateKeyFile에 필수 파일이 없습니다… (aio app run 명령에서 표준 출력 사용)
  • 원인: .env 파일의 ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH 값이 private.key을(를) 가리키지 않거나 현재 사용자가 private.key을(를) 읽을 수 없습니다.
  • 해결 방법: .env 파일의 ASSET_COMPUTE_PRIVATE_KEY_FILE_PATH 값을 검토하고 파일 시스템의 private.key에 대한 전체 절대 경로를 포함하는지 확인하십시오.

Source 파일 드롭다운이 잘못됨 source-files-dropdown-incorrect

Asset compute 개발 도구는 오래된 데이터를 가져오는 상태로 들어갈 수 있으며 잘못된 항목을 표시하는 Source 파일 드롭다운에서 가장 잘 보입니다.

  • 오류: Source 파일 드롭다운에 잘못된 항목이 표시됩니다.
  • 원인: 오래된 캐시된 브라우저 상태로 인해
  • 해결 방법: 브라우저에서 브라우저 탭의 "응용 프로그램 상태", 브라우저 캐시, 로컬 저장소 및 서비스 작업자를 완전히 지웁니다.

누락되었거나 잘못된 devToolToken 쿼리 매개 변수 missing-or-invalid-devtooltoken-query-parameter

  • 오류: Asset compute 개발 도구의 "승인되지 않은" 알림
  • 원인: devToolToken이(가) 없거나 잘못되었습니다.
  • 해결 방법: Asset compute 개발 도구 브라우저 창을 닫고 aio app run 명령을 통해 시작된 실행 중인 개발 도구 프로세스를 종료한 다음 aio app run을(를) 사용하여 개발 도구를 다시 시작합니다.

소스 파일을 제거할 수 없음 unable-to-remove-source-files

  • 오류: 개발 도구 UI에서 추가된 소스 파일을 제거할 방법이 없습니다.

  • 원인: 이 기능은 구현되지 않았습니다

  • 해결 방법: .env에 정의된 자격 증명을 사용하여 클라우드 저장소 공급자에 로그인합니다. 개발 도구(.env에도 지정됨)에서 사용하는 컨테이너를 찾아 source 폴더로 이동한 다음 원본 이미지를 삭제합니다. 삭제된 소스 파일이 개발 도구 "응용 프로그램 상태"에서 로컬로 캐시될 수 있으므로 드롭다운에 계속 표시되는 경우 Source 파일 드롭다운에 설명된 단계를 잘못해야 할 수 있습니다.

    Microsoft Azure Blob 저장소

테스트 test

테스트 실행 중에 생성된 렌디션 없음 test-no-rendition-generated

  • 오류: 실패: 생성된 렌디션이 없습니다.

  • 원인: JavaScript 구문 오류와 같은 예기치 않은 오류로 인해 작업자가 렌디션을 생성하지 못했습니다.

  • 해결 방법: /build/test-results/test-worker/test.log에서 테스트 실행의 test.log을(를) 검토하십시오. 이 파일에서 실패한 테스트 사례에 해당하는 섹션을 찾아 오류를 검토합니다.

    문제 해결 - 생성된 렌디션이 없음

테스트가 잘못된 렌디션을 생성하여 테스트 실패 tests-generates-incorrect-rendition

  • 오류: 오류: 렌디션 'rendition.xxx'가 예상과 다릅니다.

  • 원인: 작업자가 테스트 사례에 제공된 rendition.<extension>과(와) 다른 렌디션을 출력했습니다.

    • 예상 rendition.<extension> 파일이 테스트 사례에서 로컬로 생성된 렌디션과 정확히 동일한 방식으로 만들어지지 않은 경우 비트마다 차이가 있을 수 있으므로 테스트가 실패할 수 있습니다. 예를 들어 Asset compute 작업자가 API를 사용하여 대비를 변경하고, Adobe Photoshop CC의 대비를 조정하여 예상 결과를 만드는 경우 파일이 동일하게 표시될 수 있지만 비트의 사소한 변형이 다를 수 있습니다.
  • 해결 방법: /build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>(으)로 이동하여 테스트의 렌디션 출력을 검토하고 테스트 사례의 예상 렌디션 파일과 비교합니다. 정확한 예상 에셋을 만들려면 다음 중 하나를 수행하십시오.

    • 개발 도구를 사용하여 렌디션을 생성하고 올바른 렌디션인지 확인한 다음 이를 예상 렌디션 파일로 사용합니다
    • 또는 /build/test-worker/<worker-name>/<test-run-timestamp>/<test-case>/rendition.<extension>에서 테스트 생성 파일의 유효성을 검사하고 올바른 파일의 유효성을 검사한 다음 필요한 렌디션 파일로 사용하십시오

디버그

디버거가 연결되지 않음 debugger-does-not-attach

중단점이 일시 중단되지 않음 breakpoints-no-pausing

  • 오류: 디버그 가능한 개발 도구에서 Asset compute 작업자를 실행할 때 VS 코드가 중단점에서 일시 중지되지 않습니다.

VS 코드 디버거가 연결되지 않음 vs-code-debugger-not-attached

  • 원인: VS 코드 디버거가 중지/연결 해제되었습니다.
  • 해결 방법: VS 코드 디버거를 다시 시작하고 VS 코드 디버그 출력 콘솔(보기 > 디버그 콘솔)을 확인하여 연결되어 있는지 확인합니다.

작업자 실행이 시작된 후 연결된 VS 코드 디버거 vs-code-debugger-attached-after-worker-execution-began

  • 원인: 개발 도구에서 실행 ​을 탭하기 전에 VS 코드 디버거가 연결되지 않았습니다.
  • 해결 방법: VS 코드의 디버그 콘솔(보기 > 디버그 콘솔)을 검토하여 디버거가 연결되었는지 확인한 다음 개발 도구에서 Asset compute 작업자를 다시 실행하십시오.

디버깅하는 동안 작업자 시간 초과 worker-times-out-while-debugging

  • 오류: Debug Console 보고서 "작업이 -XXX밀리초 내에 시간 초과됩니다" 또는 Asset compute 개발 도구의 렌디션 미리 보기가 무기한 회전되거나
  • 원인: 디버깅하는 동안 manifest.yml에 정의된 작업자 시간 제한이 초과되었습니다.
  • 해결 방법: manifest.yml에서 작업자 시간 제한을 일시적으로 늘리거나 디버깅 활동을 가속화합니다.

디버거 프로세스를 종료할 수 없습니다. cannot-terminate-debugger-process

  • 명령줄에서 오류: Ctrl-C이(가) 디버거 프로세스(npx adobe-asset-compute devtool)를 종료하지 않습니다.

  • 원인: @adobe/aio-cli-plugin-asset-compute 1.3.x의 버그로 인해 Ctrl-C이(가) 종료 명령으로 인식되지 않습니다.

  • 해결 방법: @adobe/aio-cli-plugin-asset-compute을(를) 버전 1.4.1+로 업데이트합니다.

    code language-none
    $ aio update
    

    문제 해결 - aio 업데이트

배포 deploy

AEM의 에셋에서 사용자 정의 렌디션 누락 custom-rendition-missing-from-asset

  • 오류: 새 자산 및 다시 처리된 자산이 처리되었지만 사용자 지정 렌디션이 없습니다

처리 프로필이 상위 폴더에 적용되지 않음

  • 원인: 사용자 지정 작업자를 사용하는 처리 프로필이 있는 폴더에 자산이 없습니다.
  • 해결 방법: 자산의 상위 폴더에 처리 프로필 적용

처리 프로필이 하위 처리 프로필로 대체됨

  • 원인: 사용자 지정 작업자 처리 프로필이 적용된 폴더 아래에 자산이 있지만, 해당 폴더와 자산 사이에 고객 작업자를 사용하지 않는 다른 처리 프로필이 적용되었습니다.
  • 해결 방법: 두 처리 프로필을 결합 또는 조정하고 중간 처리 프로필을 제거합니다.

AEM에서 자산 처리 실패 asset-processing-fails

  • 오류: 에셋에 표시된 에셋 처리 실패 배지
  • 원인: 사용자 지정 작업자 실행에서 오류가 발생했습니다
  • 해결 방법: aio app logs을(를) 사용하여 Adobe I/O Runtime 활성화 디버깅에 대한 지침을 따르십시오.
recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69