다음을 통해 공유


디바이스에서 클라우드로 파일 업로드

IoT Central을 사용하면 연결된 디바이스에서 클라우드 스토리지로 미디어 및 기타 파일을 업로드할 수 있습니다. IoT Central 애플리케이션에서 파일 업로드 기능을 구성한 다음, 디바이스 코드에서 파일 업로드를 구현합니다.

IoT Central 애플리케이션 내에서 디바이스에서 업로드한 파일을 관리하고 미리 볼 수도 있습니다.

IoT Central REST API를 사용하여 파일 업로드를 구성하는 방법을 알아보려면 파일 업로드 스토리지 계정 구성 추가를 참조하세요.

필수 조건

파일 업로드를 구성하려면 IoT Central 애플리케이션의 관리자여야 합니다.

업로드된 파일을 저장하려면 Azure 스토리지 계정 및 컨테이너가 필요합니다. 스토리지 계정 및 컨테이너가 없는 경우 Azure Portal에서 스토리지 계정을 만듭니다.

디바이스 파일 업로드 구성

디바이스 파일 업로드를 구성하려면 다음을 수행합니다.

  1. 애플리케이션의 애플리케이션 섹션으로 이동합니다.

  2. 디바이스 파일 스토리지를 선택합니다.

  3. 사용할 스토리지 계정 및 컨테이너를 선택합니다. 스토리지 계정이 애플리케이션과 다른 Azure 구독에 있는 경우 스토리지 계정 연결 문자열을 입력합니다.

  4. 필요한 경우 요청이 유효한 기간을 설정하는 업로드 시간 제한을 조정합니다. 1시간에서 24시간까지 설정할 수 있습니다.

  5. 사용자가 IoT Central에서 업로드된 파일을 보고 관리할 수 있도록 하려면 액세스 사용On으로 설정합니다.

  6. 저장을 선택합니다. 상태가 구성된 것으로 표시되면 디바이스가 파일을 업로드할 수 있습니다.

올바르게 구성된 파일 업로드를 보여 주는 스크린샷

디바이스 파일 업로드 사용 안 함

IoT Central 애플리케이션에서 디바이스 파일 업로드를 해제하려면 다음을 수행합니다.

  1. 애플리케이션의 애플리케이션 섹션으로 이동합니다.

  2. 디바이스 파일 스토리지를 선택합니다.

  3. 삭제를 선택합니다.

업로드된 파일에 대한 액세스 제어

역할 및 권한을 사용하여 업로드된 파일을 보고 삭제할 수 있는 사용자를 제어합니다. 자세히 알아보려면 IoT Central 애플리케이션의 사용자 및 역할 관리 > 관리 디바이스를 참조하세요.

디바이스에서 파일 업로드

IoT Central은 IoT Hub의 파일 업로드 기능을 사용하여 디바이스에서 파일을 업로드할 수 있도록 합니다. 디바이스에서 파일을 업로드하는 방법을 보여 주는 샘플 코드는 IoT Central 파일 업로드 디바이스 샘플을 참조하세요.

업로드된 파일 보기 및 관리

파일 업로드 구성에서 파일에 대한 액세스를 켜면 올바른 권한이 있는 사용자는 업로드된 파일을 보고 삭제할 수 있습니다.

중요합니다

디바이스와 연결된 Blob 컨테이너 폴더의 모든 파일은 디바이스가 업로드하지 않은 파일을 포함하여 해당 디바이스의 파일 보기에 표시됩니다.

업로드된 파일을 보고 삭제하려면 디바이스의 파일 보기로 이동합니다. 이 페이지에서 업로드된 파일의 썸네일을 보고 갤러리와 목록 보기 간에 전환할 수 있습니다. 각 파일에는 다운로드하거나 삭제하는 옵션이 있습니다.

업로드된 파일의 갤러리 보기를 보여 주는 스크린샷

Blob Storage에 업로드될 때 파일에 할당된 mime 형식에 따라 파일 형식이 결정됩니다. 기본 형식은 binary/octet-stream입니다.

파일 이름으로 필터링하고 표시할 열을 선택하여 목록 보기를 사용자 지정합니다.

파일 콘텐츠를 미리 보기하고 추가 정보를 얻으려면 선택합니다. IoT Central은 텍스트 및 이미지와 같은 일반적인 파일 형식의 미리 보기를 지원합니다.

텍스트 파일의 미리 보기를 보여 주는 스크린샷

파일 업로드 테스트

IoT Central 애플리케이션에서 파일 업로드를 구성 한 후 샘플 코드로 테스트합니다. 다음 명령을 사용하여 샘플 리포지토리를 로컬 컴퓨터의 적절한 위치에 복제하고 종속성을 설치합니다.

git clone https://github.com/azure-Samples/iot-central-file-upload-device
cd iotc-file-upload-device
npm i
npm build

디바이스 템플릿 만들기 및 모델 가져오기

파일 업로드를 테스트하려면 샘플 디바이스 애플리케이션을 실행합니다. 먼저 샘플 디바이스에 대한 디바이스 템플릿을 만듭니다.

  1. IoT Central UI에서 애플리케이션을 엽니다.

  2. 왼쪽 창에서 디바이스 템플릿 으로 이동한 다음 + 새로 만들기를 선택합니다.

  3. 템플릿 유형에 대한 IoT 디바이스 를 선택합니다.

  4. 사용자 지정 페이지에서 디바이스 템플릿에 대한 파일 업로드 디바이스 샘플과 같은 이름을 입력합니다.

  5. 검토 페이지에서 만들기를 선택합니다.

  6. 모델 가져오기를 선택하고 이전에 다운로드한 리포지토리의 폴더에서 iotc-file-upload-device\setup 모델 파일을 업로드합니다.

  7. 게시를 선택하여 디바이스 템플릿 만들기를 완료합니다.

디바이스 추가

Azure IoT Central 애플리케이션에 디바이스를 추가하려면:

  1. 왼쪽 창에서 디바이스 로 이동합니다.

  2. 이전에 만든 파일 업로드 디바이스 샘플 디바이스 템플릿을 선택합니다.

  3. + 새로 만들기를 선택한 다음 만들기를 선택합니다.

  4. 만든 디바이스 를 선택한 다음 연결을 선택합니다.

ID scope, Device IDPrimary key에 대한 값을 복사합니다. 이러한 값은 디바이스 샘플 코드에서 사용합니다.

샘플 코드 실행

VS Code에서 다운로드한 git 리포지토리를 엽니다. 프로젝트의 루트에 ".env" 파일을 만들고 이전에 복사한 값을 추가합니다. 파일은 다음 샘플처럼 귀하의 값으로 나타나야 합니다.

scopeId=<YOUR_SCOPE_ID>
deviceId=<YOUR_DEVICE_ID>
deviceKey=<YOUR_PRIMARY_KEY>
modelId=dtmi:IoTCentral:IotCentralFileUploadDevice;1

VS Code에서 다운로드한 git 리포지토리를 엽니다. 샘플을 실행하거나 디버그하려면 F5 키를 누릅니다. 터미널 창에 디바이스 등록이 표시되고 IoT Central에 연결됩니다.

Starting IoT Central device...
 > Machine: Windows_NT, 8 core, freemem=6674mb, totalmem=16157mb
Starting device registration...
DPS registration succeeded
Connecting the device...
IoT Central successfully connected device: 7z1xo26yd8
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}

샘플 프로젝트에는 datafile.json이라는 샘플 파일이 포함되어 있습니다. 이 파일은 IoT Central 애플리케이션에서 파일 업로드 명령을 사용할 때 업로드됩니다.

업로드를 테스트하려면 애플리케이션을 열고 사용자가 만든 디바이스를 선택합니다. 명령 탭을 선택하고 실행 단추를 선택합니다. 실행을 선택하면 IoT Central 애플리케이션이 디바이스에서 직접 메서드를 호출하여 파일을 업로드합니다. 이 직접 메서드는 /device.ts 파일의 샘플 코드에서 확인할 수 있습니다. 메서드 이름은 uploadFileCommand입니다. 업로드를 테스트하려면 애플리케이션을 열고 사용자가 만든 디바이스를 선택합니다. 명령 탭을 선택한 다음 실행 단추를 선택합니다. 실행을 선택하면 IoT Central에서 디바이스에서 직접 메서드를 호출하여 파일을 업로드합니다. /device.ts 파일의 샘플 코드에서 이 메서드를 볼 수 있습니다. 메서드 이름은 uploadFileCommand입니다.

원시 데이터 탭을 선택하여 파일 업로드 상태를 확인합니다.

파일 업로드를 확인하는 방법에 대한 UI를 보여 주는 스크린샷

REST API를 호출하여 스토리지 컨테이너에서 파일 업로드 상태를 확인할 수도 있습니다.