다음을 통해 공유


Device Update for IoT Hub 오류 코드

이 문서에서는 다양한 디바이스 업데이트 구성 요소에 대한 오류 코드 표를 제공합니다.

오류 코드를 발생시킬 수 있는 두 가지 기본 클라이언트 쪽 구성 요소(디바이스 업데이트 에이전트 및 배달 최적화 에이전트)가 있습니다. 오류 코드는 Device Update 콘텐츠 서비스에서도 제공됩니다.

Device Update 에이전트

ResultCode 및 ExtendedResultCode

Device Update for IoT Hub Core PnP 인터페이스는 실패를 진단하는 데 사용할 수 있는 ResultCodeExtendedResultCode(을)를 보고합니다. 디바이스 업데이트 핵심 PnP 인터페이스에 대한 자세한 내용은 디바이스 업데이트 및 플러그 앤 플레이를 참조하세요. 디바이스 업데이트 에이전트 ResultCode 및 ExtendedResultCodes의 기본 의미에 대한 자세한 내용은 디바이스 업데이트 GitHub 리포지토리를 참조하세요.

ResultCode는 일반 상태 코드이며 ExtendedResultCode는 인코딩된 오류 정보가 있는 정수입니다.

ExtendedResultCode는 PnP 인터페이스에서 부호 있는 정수로 나타납니다. ExtendedResultCode을(를) 디코딩하려면 부호 있는 정수를 부호 없는 16진수로 변환합니다. ExtendedResultCode의 처음 4바이트만 사용되며 FFFFFFFF 형식입니다. 여기서 첫 번째 니블은 기능 코드이고 나머지 비트는 오류 코드입니다.

기능 코드

기능 코드 설명
D DO SDK에서 발생한 오류
E 오류 코드는 errno임

예시:

ExtendedResultCode-536870781인 경우

-536870781의 부호 없는 16진수 표현은 FFFFFFFF E0000083입니다.

무시 기능 코드 오류 코드
FFFFFFFF E 0000083

16진수 0x83은(는) 10진수로 131(이)며 ENOLCK에 대한 errno 값입니다.

배달 최적화 에이전트

다음 표에는 디바이스 업데이트 클라이언트의 DO(배달 최적화) 구성 요소와 관련된 오류 코드가 나열되어 있습니다. DO 구성 요소는 IoT 디바이스에 업데이트 콘텐츠를 다운로드하는 작업을 담당합니다.

API 호출에 대한 응답으로 throw된 예외를 검사하여 DO 오류 코드를 가져올 수 있습니다. 모든 DO 오류 코드는 0x80D0 접두사로 식별할 수 있습니다.

오류 코드 문자열 오류 Type 설명
0x80D01001L OM_E_NO_SERVICE 해당 없음 배달 최적화에서 서비스를 제공할 수 없음
0x80D02002L DO_E_DOWNLOAD_NO_PROGRESS 다운로드 작업 배달 최적화: 파일 다운로드가 정의된 기간 내에 진행되지 않았음
0x80D02011L DO_E_UNKNOWN_PROPERTY_ID 다운로드 작업 알 수 없는 속성 ID를 사용하여 호출된 SetProperty() 또는 GetProperty()
0x80D02012L DO_E_READ_ONLY_PROPERTY 다운로드 작업 읽기 전용 속성에서 SetProperty()를 호출할 수 없음
0x80D02013L DO_E_INVALID_STATE 다운로드 작업 요청한 작업은 현재 작업 상태에서 허용되지 않습니다. 작업이 취소되었거나 전송이 완료되었을 수 있습니다. 이제 읽기 전용 상태입니다.
0x80D02018L DO_E_FILE_DOWNLOADSINK_UNSPECIFIED 다운로드 작업 다운로드 싱크(로컬 파일 또는 스트림 인터페이스)를 지정하지 않았으므로 다운로드를 시작할 수 없음
0x80D02200L DO_E_DOWNLOAD_NO_URI IDODownload 인터페이스 URI를 제공하지 않고 다운로드 시작됨
0x80D03805L DO_E_BLOCKED_BY_NO_NETWORK 일시적인 장애 네트워크 연결 손실로 인해 다운로드 일시 중지됨
   0 00 00000     Total 4 bytes (32 bits)
   - -- -----
   | |  |
   | |  |
   | |  +---------  Error code (20 bits)
   | |
   | +------------- Component/Area code (8 bits)
   |
   +--------------- Facility code (4 bits) 

코드 구문 분석에 관한 자세한 내용은 디바이스 업데이트 에이전트 결과 코드 및 확장된 결과 코드 또는 사용자 지정 콘텐츠 처리기 구현을 참조하세요.

디바이스 업데이트 콘텐츠 서비스

다음 표에는 디바이스 업데이트 서비스의 콘텐츠 서비스 구성 요소와 관련된 오류 코드가 나열되어 있습니다. 콘텐츠 서비스 구성 요소는 업데이트 콘텐츠 가져오기를 담당합니다. 프록시 업데이트 가져오기에 대한 다른 문제 해결 정보도 사용할 수 있습니다.

오류 코드 문자열 오류 다음 단계
UpdateAlreadyExists ID가 동일한 업데이트가 이미 있습니다. 아직 이 Device Update for IoT Hub 인스턴스로 가져오지 않은 업데이트를 가져오고 있는지 확인합니다.
DuplicateContentImport 동일한 콘텐츠를 동시에 여러 번 가져왔습니다. 아직 이 Device Update for IoT Hub 인스턴스로 가져오지 않은 업데이트를 가져오고 있는지 확인합니다.
CannotProcessImportManifest 가져오기 매니페스트를 처리하는 동안 오류가 발생했습니다. 적절한 매니페스트 서식 가져오기에 대한 개념 가져오기업데이트 가져오기 설명서를 참조하세요.
CannotDownload 가져오기 매니페스트를 다운로드할 수 없습니다. 매니페스트 파일 가져오기에 대한 URL이 여전히 유효한지 확인합니다.
CannotParse 가져오기 매니페스트를 구분 분석할 수 없습니다. 업데이트 가져오기 설명서에 정의된 스키마에 대해 가져오기 매니페스트의 정확성을 확인합니다.
UnsupportedVersion 매니페스트 스키마 버전 가져오기는 지원되지 않습니다. 가져오기 매니페스트가 업데이트 가져오기 설명서에 정의된 최신 스키마를 사용하고 있는지 확인합니다.
한도 초과로 인해 업데이트를 가져오는 동안 오류가 발생했습니다. 추가 업데이트 공급자를 가져올 수 없습니다. Device Update for IoT Hub 인스턴스에서 허용되는 서로 다른 공급자의 수 제한에 도달했습니다. 인스턴스에서 일부 업데이트를 삭제하고 다시 시도하세요.
한도 초과로 인해 업데이트를 가져오는 동안 오류가 발생했습니다. 지정한 공급자에 대한 추가 업데이트 이름을 가져올 수 없습니다. Device Update for IoT Hub 인스턴스에서 하나의 공급자에 허용되는 서로 다른 이름의 수 제한에 도달했습니다. 인스턴스에서 일부 업데이트를 삭제하고 다시 시도하세요.
한도 초과로 인해 업데이트를 가져오는 동안 오류가 발생했습니다. 지정한 공급자 및 이름에 대한 추가 업데이트 버전을 가져올 수 없습니다. Device Update for IoT Hub 인스턴스에서 하나의 공급자와 이름에 허용되는 서로 다른 버전의 수 제한에 도달했습니다. 인스턴스에서 해당 이름을 가진 일부 업데이트를 삭제하고 다시 시도하세요.
한도 초과로 인해 업데이트를 가져오는 동안 오류가 발생했습니다. 지정된 호환성 수준의 추가 업데이트 공급자를 가져올 수 없습니다.

or

지정된 호환성 수준의 추가 업데이트 이름을 가져올 수 없습니다.

or

지정된 호환성 수준의 추가 업데이트 버전을 가져올 수 없습니다.
가져오기 매니페스트에서 호환성 속성을 정의하는 경우 Device Update for IoT Hub는 지정된 호환성 속성 집합에 대한 단일 공급자 및 이름 조합을 지원한다는 점에 유의하세요. 둘 이상의 공급자/이름 조합으로 동일한 호환성 속성을 사용하려고 하면 이러한 오류가 표시됩니다. 이 문제를 해결하려면 지정된 디바이스에 대한 모든 업데이트가 (호환성 속성에서 정의한 대로) 동일한 공급자와 이름을 사용하는지 확인합니다.
CannotProcessUpdateFile 원본 파일을 처리하는 동안 오류가 발생했습니다.
ContentFileCannotDownload 원본 파일을 다운로드할 수 없습니다. 업데이트 파일의 URL이 여전히 유효한지 확인합니다.
SourceFileMalwareDetected 가져오는 파일에서 알려진 맬웨어 서명이 탐지되었습니다. Device Update for IoT Hub는 여러 가지 메커니즘을 사용하여 가져온 콘텐츠에서 맬웨어를 검사합니다. 알려진 맬웨어 서명이 식별되면 가져오기에 실패하고 고유한 오류 메시지가 반환됩니다. 오류 메시지에는 맬웨어 서명의 설명과 서명이 탐지된 각 파일의 파일 해시가 포함됩니다. 파일 해시를 사용하여 플래그가 지정되는 정확한 파일을 찾고 맬웨어 서명의 설명을 사용하여 해당 파일에 맬웨어가 있는지 확인할 수 있습니다.

가져오는 파일에서 맬웨어를 제거한 후 가져오기 프로세스를 다시 시작할 수 있습니다.
SourceFilePendingMalwareAnalysis 가져오는 파일에서 맬웨어가 있음을 나타낼 수 있는 서명이 탐지되었습니다. Device Update for IoT Hub는 여러 가지 메커니즘을 사용하여 가져온 콘텐츠에서 맬웨어를 검사합니다. 알려진 맬웨어와 정확히 일치하지 않더라도 검사 서명에 맬웨어 특성이 있는 경우 가져오기가 실패합니다. 이 경우 고유한 오류 메시지가 반환됩니다. 오류 메시지에는 의심스러운 맬웨어 서명의 설명과 서명이 탐지된 각 파일의 파일 해시가 포함됩니다. 파일 해시를 사용하여 플래그가 지정되는 정확한 파일을 찾고 맬웨어 서명의 설명을 사용하여 해당 파일에 맬웨어가 있는지 확인할 수 있습니다.

가져오는 파일에서 맬웨어를 제거한 후 가져오기 프로세스를 다시 시작할 수 있습니다. 파일에 맬웨어가 없다고 확신하는데 이 오류가 계속 표시되는 경우에는 Microsoft 지원 프로세스에 문의하세요.

다음 단계

디바이스 업데이트 관련 문제 해결