az iot device

참고 항목

이 참조는 Azure CLI(버전 2.37.0 이상)에 대한 azure-iot 확장의 일부입니다. az iot device 명령을 처음 실행할 때 확장이 자동으로 설치됩니다. 확장 프로그램에 대해 자세히 알아보세요.

디바이스 시뮬레이션 및 디바이스-클라우드 또는 클라우드-디바이스 메시징 기능과 같은 기타 디바이스 중심 작업을 활용합니다.

명령

Name Description 형식 상태
az iot device c2d-message

클라우드-디바이스 메시징 명령.

내선 번호 GA
az iot device c2d-message abandon

클라우드-디바이스 메시지를 중단합니다.

내선 번호 GA
az iot device c2d-message complete

클라우드-디바이스 메시지를 완료합니다.

내선 번호 GA
az iot device c2d-message purge

대상 디바이스에 대한 클라우드-디바이스 메시지 큐를 제거합니다.

내선 번호 GA
az iot device c2d-message receive

클라우드-디바이스 메시지를 받습니다.

내선 번호 GA
az iot device c2d-message reject

클라우드-디바이스 메시지를 거부하거나 배달 취소합니다.

내선 번호 GA
az iot device c2d-message send

클라우드-디바이스 메시지를 보냅니다.

내선 번호 GA
az iot device registration

IoT Device Provisioning Service에 대한 IoT 디바이스 등록을 관리합니다.

내선 번호 미리 보기
az iot device registration create

IoT Device Provisioning Service에 IoT 디바이스를 등록합니다.

내선 번호 미리 보기
az iot device send-d2c-message

mqtt 디바이스-클라우드 메시지를 보냅니다.

내선 번호 GA
az iot device simulate

Azure IoT Hub에서 디바이스를 시뮬레이션합니다.

내선 번호 실험적
az iot device upload-file

미리 구성된 Blob Storage 컨테이너에 로컬 파일을 디바이스로 업로드합니다.

내선 번호 GA

az iot device send-d2c-message

mqtt 디바이스-클라우드 메시지를 보냅니다.

이 명령은 유니코드 문자열 또는 이진 형식의 사용자 지정 페이로드가 있는 메시지 전송을 지원합니다. 이진 파일을 보내려는 경우 데이터는 파일에서 가져와야 하며(통해 --data-file-path) 콘텐츠 형식을 으로 application/octet-stream설정해야 합니다.

참고: 이 명령은 SAS(대칭 키 인증) 기반 디바이스에 대해서만 작동합니다. 메시지 라우팅에서 메시지 본문에서 쿼리를 사용하도록 설정하려면 contentType 시스템 속성이 application/JSON이어야 하며 contentEncoding 시스템 속성은 해당 시스템 속성(UTF-8, UTF-16 또는 UTF-32)에서 지원하는 UTF 인코딩 값 중 하나여야 합니다. Azure Storage를 라우팅 엔드포인트로 사용할 때 콘텐츠 인코딩이 설정되지 않은 경우 IoT Hub는 기본 64로 인코딩된 형식으로 메시지를 씁니다. x509 인증 방법을 사용하는 경우 인증서 및 키 파일(필요한 경우 암호)을 제공해야 합니다.

az iot device send-d2c-message --device-id
                               [--certificate-file-path]
                               [--da]
                               [--data-file-path]
                               [--dtmi]
                               [--hub-name]
                               [--key]
                               [--key-file-path]
                               [--login]
                               [--mc]
                               [--pass]
                               [--properties]
                               [--resource-group]

예제

기본 사용법

az iot device send-d2c-message -n {iothub_name} -d {device_id}

'dtmi:com:example:Thermostat;의 모델 ID를 등록하는 디바이스에 대한 기본 사용 연결 시 1'

az iot device send-d2c-message -n {iothub_name} -d {device_id} --model-id 'dtmi:com:example:Thermostat;1'

x509 인증을 사용한 디바이스에 대한 기본 사용

az iot device send-d2c-message -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path}

키 파일에 암호가 있는 x509 인증을 사용하는 디바이스에 대한 기본 사용

az iot device send-d2c-message -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path} --pass {passphrase}

사용자 지정 데이터를 사용하는 기본 사용

az iot device send-d2c-message -n {iothub_name} -d {device_id} --data {message_body}

애플리케이션 속성 보내기

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props 'key0=value0;key1=value1'

시스템 속성 보내기(메시지 ID 및 상관 관계 ID)

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.mid=<id>;$.cid=<id>'

시스템 속성에서 콘텐츠 형식 및 콘텐츠 인코딩을 지정하여 사용자 지정 데이터 보내기

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=<content-type>;$.ce=<content-encoding>' --data {message_body}

시스템 속성에서 콘텐츠 인코딩을 지정하여 이진 형식으로 사용자 지정 데이터 보내기

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=application/octet-stream' --data-file-path {file_path}

시스템 속성에서 콘텐츠 형식 및 콘텐츠 인코딩을 지정하여 JSON 형식으로 사용자 지정 데이터 보내기

az iot device send-d2c-message -n {iothub_name} -d {device_id} --props '$.ct=application/json;$.ce=utf-8' --data-file-path {file_path}

필수 매개 변수

--device-id -d

대상 디바이스 ID입니다.

선택적 매개 변수

--certificate-file-path --cp

인증서 파일의 경로입니다.

--da --data

메시지 본문입니다. 텍스트 또는 원시 json을 제공합니다.

기본값: Ping from Az CLI IoT Extension
--data-file-path --dfp
미리 보기

메시지 본문 페이로드에 대한 파일 경로를 제공합니다. 페이로드를 이진 형식으로 보내야 하는 경우 콘텐츠 형식을 application/octet-stream으로 설정합니다.

--dtmi --model-id

허브에 연결할 때 디바이스가 보고하는 디지털 트윈 모델 ID입니다. 자세한 내용은 참조하세요 https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play .

--hub-name -n

IoT Hub 이름 또는 호스트 이름입니다. --login이 제공되지 않은 경우 필요합니다.

--key --symmetric-key

디바이스에 사용할 대칭 키입니다. 대칭 키 및 기타 디바이스 인증 인수가 제공되면 대칭 키가 우선합니다.

--key-file-path --kp

키 파일의 경로입니다.

--login -l

이 명령은 작업을 수행할 권한이 있는 엔터티 연결 문자열 지원합니다. "az login"을 통해 세션 로그인을 방지하는 데 사용합니다. 엔터티 연결 문자열 및 이름이 모두 제공되면 연결 문자열 우선 순위가 지정됩니다. --hub-name이 제공되지 않은 경우 필요합니다.

--mc --msg-count

IoT Hub로 보낼 디바이스 메시지 수입니다.

기본값: 1
--pass --passphrase

키 파일의 암호입니다.

--properties --props -p

다음과 같은 형식의 키-값 쌍의 메시지 속성 모음: a=b; c=d. mqtt 메시징의 경우 $.=value를 사용하여 시스템 속성을 보낼 수 있습니다. 예를 들어 $.cid=12345는 시스템 상관 관계 ID 속성을 설정합니다. 다른 시스템 속성 식별자 예로는 콘텐츠 형식의 경우 $.ct, 메시지 ID의 경우 $.mid, 콘텐츠 인코딩의 경우 $.ce가 있습니다.

--resource-group -g

리소스 그룹의 이름입니다. 를 사용하여 az configure --defaults group=<name>기본 그룹을 구성할 수 있습니다.

전역 매개 변수
--debug

로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.

--help -h

이 도움말 메시지를 표시하고 종료합니다.

--only-show-errors

경고를 표시하지 않고 오류만 표시합니다.

--output -o

출력 형식입니다.

허용되는 값: json, jsonc, none, table, tsv, yaml, yamlc
기본값: json
--query

JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.

--subscription

구독의 이름 또는 ID입니다. 를 사용하여 az account set -s NAME_OR_ID기본 구독을 구성할 수 있습니다.

--verbose

로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

az iot device simulate

실험적

이 명령은 실험적이며 개발 중입니다. 참조 및 지원 수준: https://aka.ms/CLI_refstatus

Azure IoT Hub에서 디바이스를 시뮬레이션합니다.

디바이스 시뮬레이션이 실행되는 동안 디바이스는 c2d(클라우드-디바이스) 메시지를 자동으로 수신하고 승인합니다. mqtt 시뮬레이션의 경우 완료 시 모든 c2d 메시지가 승인됩니다. http 시뮬레이션의 경우 c2d 승인은 완료, 거부 또는 포기할 수 있는 사용자 선택을 기반으로 합니다. mqtt 시뮬레이션은 응답 상태 코드 및 응답 페이로드에서 승인할 수 있는 직접 메서드 호출도 지원합니다. 참고: 기본적으로 명령은 content-type을 application/json으로 설정하고 콘텐츠 인코딩을 utf-8로 설정합니다. 재정의할 수 있습니다. 참고: x509 인증 방법을 사용하는 경우 인증서 및 키 파일(필요한 경우 암호)을 제공해야 합니다.

az iot device simulate --device-id
                       [--certificate-file-path]
                       [--da]
                       [--dtmi]
                       [--hub-name]
                       [--init-reported-properties]
                       [--key]
                       [--key-file-path]
                       [--login]
                       [--mc]
                       [--method-response-code]
                       [--method-response-payload]
                       [--mi]
                       [--pass]
                       [--properties]
                       [--proto {http, mqtt}]
                       [--receive-settle {abandon, complete, reject}]
                       [--resource-group]

예제

기본 사용량(mqtt)

az iot device simulate -n {iothub_name} -d {device_id}

'dtmi:com:example:Thermostat;의 모델 ID를 등록하는 디바이스에 대한 기본 사용 연결 시 1'(mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --model-id 'dtmi:com:example:Thermostat;1'

x509 인증을 사용한 디바이스의 기본 사용량(mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path}

키 파일에 암호가 있는 x509 인증(mqtt)이 있는 디바이스에 대한 기본 사용

az iot device simulate -n {iothub_name} -d {device_id} --cp {certificate_file_path} --kp {key_file_path} --pass {passphrase}

혼합 속성 보내기(mqtt)

az iot device simulate -n {iothub_name} -d {device_id} --properties "myprop=myvalue;$.ct=application/json"

직접 메서드 응답 상태 코드 및 직접 메서드 응답 페이로드를 원시 json으로 보내기(mqtt만 해당)

az iot device simulate -n {iothub_name} -d {device_id} --method-response-code 201 --method-response-payload '{"result":"Direct method successful"}'

직접 메서드 응답 상태 코드 및 직접 메서드 응답 페이로드를 로컬 파일 경로로 보내기(mqtt만 해당)

az iot device simulate -n {iothub_name} -d {device_id} --method-response-code 201 --method-response-payload '../my_direct_method_payload.json'

디바이스 쌍 reported 속성의 초기 상태를 대상 디바이스에 대한 원시 json으로 보내기(mqtt에만 해당)

az iot device simulate -n {iothub_name} -d {device_id} --init-reported-properties '{"reported_prop_1":"val_1", "reported_prop_2":val_2}'

디바이스 쌍 reported 속성의 초기 상태를 대상 디바이스의 로컬 파일 경로로 보내기(mqtt에만 해당)

az iot device simulate -n {iothub_name} -d {device_id} --init-reported-properties '../my_device_twin_reported_properties.json'

기본 사용량(http)

az iot device simulate -n {iothub_name} -d {device_id} --protocol http

혼합 속성 보내기(http)

az iot device simulate -n {iothub_name} -d {device_id} --protocol http --properties "iothub-app-myprop=myvalue;content-type=application/json;iothub-correlationid=12345"

메시지 간의 총 메시지 수 및 간격 선택

az iot device simulate -n {iothub_name} -d {device_id} --msg-count 1000 --msg-interval 5

c2d 메시지 거부(http에만 해당)

az iot device simulate -n {iothub_name} -d {device_id} --rs reject --protocol http

c2d 메시지 중단(http에만 해당)

az iot device simulate -n {iothub_name} -d {device_id} --rs abandon --protocol http

필수 매개 변수

--device-id -d

대상 디바이스 ID입니다.

선택적 매개 변수

--certificate-file-path --cp

인증서 파일의 경로입니다.

--da --data

메시지 본문입니다. 텍스트 또는 원시 json을 제공합니다.

기본값: Ping from Az CLI IoT Extension
--dtmi --model-id

허브에 연결할 때 디바이스가 보고하는 디지털 트윈 모델 ID입니다. 자세한 내용은 참조하세요 https://docs.microsoft.com/en-us/azure/iot-develop/overview-iot-plug-and-play .

--hub-name -n

IoT Hub 이름 또는 호스트 이름입니다. --login이 제공되지 않은 경우 필요합니다.

--init-reported-properties --irp

시뮬레이터를 실행할 때 대상 디바이스에 대해 보고된 쌍 속성의 초기 상태입니다. 선택적 매개 변수로, mqtt에 대해서만 지원됩니다.

--key --symmetric-key

디바이스에 사용할 대칭 키입니다. 대칭 키 및 기타 디바이스 인증 인수가 제공되면 대칭 키가 우선합니다.

--key-file-path --kp

키 파일의 경로입니다.

--login -l

이 명령은 작업을 수행할 권한이 있는 엔터티 연결 문자열 지원합니다. "az login"을 통해 세션 로그인을 방지하는 데 사용합니다. 엔터티 연결 문자열 및 이름이 모두 제공되면 연결 문자열 우선 순위가 지정됩니다. --hub-name이 제공되지 않은 경우 필요합니다.

--mc --msg-count

IoT Hub로 보낼 디바이스 메시지 수입니다.

기본값: 100
--method-response-code --mrc

디바이스에서 직접 메서드를 실행할 때 반환되는 상태 코드입니다. 선택적 매개 변수로, mqtt에 대해서만 지원됩니다.

--method-response-payload --mrp

직접 메서드가 디바이스에서 실행될 때 반환될 페이로드입니다. 파일 경로 또는 원시 json을 제공합니다. 선택적 매개 변수로, mqtt에 대해서만 지원됩니다.

--mi --msg-interval

디바이스-클라우드 메시지 간 지연 시간(초)입니다.

기본값: 3
--pass --passphrase

키 파일의 암호입니다.

--properties --props -p

다음과 같은 형식의 키-값 쌍의 메시지 속성 모음: a=b; c=d. mqtt 메시징의 경우 $.=value를 사용하여 시스템 속성을 보낼 수 있습니다. 예를 들어 $.cid=12345는 시스템 상관 관계 ID 속성을 설정합니다. 다른 시스템 속성 식별자 예로는 콘텐츠 형식의 경우 $.ct, 메시지 ID의 경우 $.mid, 콘텐츠 인코딩의 경우 $.ce가 있습니다. http 메시징의 경우 - 애플리케이션 속성은 iothub-app-=value(예: iothub-app-myprop=myvalue)를 사용하여 전송됩니다. 시스템 속성은 일반적으로 iothub-correlationid와 같은 iothub 접두사를 사용하지만 콘텐츠 형식 및 콘텐츠 인코딩과 같은 예외가 있습니다.

--proto --protocol

디바이스-클라우드 메시지 프로토콜을 나타냅니다.

허용되는 값: http, mqtt
기본값: mqtt
--receive-settle --rs

수신된 클라우드-디바이스 메시지를 해결하는 방법을 나타냅니다. HTTP에서만 지원됩니다.

허용되는 값: abandon, complete, reject
기본값: complete
--resource-group -g

리소스 그룹의 이름입니다. 를 사용하여 az configure --defaults group=<name>기본 그룹을 구성할 수 있습니다.

전역 매개 변수
--debug

로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.

--help -h

이 도움말 메시지를 표시하고 종료합니다.

--only-show-errors

경고를 표시하지 않고 오류만 표시합니다.

--output -o

출력 형식입니다.

허용되는 값: json, jsonc, none, table, tsv, yaml, yamlc
기본값: json
--query

JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.

--subscription

구독의 이름 또는 ID입니다. 를 사용하여 az account set -s NAME_OR_ID기본 구독을 구성할 수 있습니다.

--verbose

로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

az iot device upload-file

미리 구성된 Blob Storage 컨테이너에 로컬 파일을 디바이스로 업로드합니다.

az iot device upload-file --content-type
                          --device-id
                          --file-path
                          [--hub-name]
                          [--login]
                          [--resource-group]

필수 매개 변수

--content-type --ct

파일의 MIME 형식입니다.

--device-id -d

대상 디바이스 ID입니다.

--file-path --fp

업로드할 파일 경로입니다.

선택적 매개 변수

--hub-name -n

IoT Hub 이름 또는 호스트 이름입니다. --login이 제공되지 않은 경우 필요합니다.

--login -l

이 명령은 작업을 수행할 권한이 있는 엔터티 연결 문자열 지원합니다. "az login"을 통해 세션 로그인을 방지하는 데 사용합니다. 엔터티 연결 문자열 및 이름이 모두 제공되면 연결 문자열 우선 순위가 지정됩니다. --hub-name이 제공되지 않은 경우 필요합니다.

--resource-group -g

리소스 그룹의 이름입니다. 를 사용하여 az configure --defaults group=<name>기본 그룹을 구성할 수 있습니다.

전역 매개 변수
--debug

로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.

--help -h

이 도움말 메시지를 표시하고 종료합니다.

--only-show-errors

경고를 표시하지 않고 오류만 표시합니다.

--output -o

출력 형식입니다.

허용되는 값: json, jsonc, none, table, tsv, yaml, yamlc
기본값: json
--query

JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.

--subscription

구독의 이름 또는 ID입니다. 를 사용하여 az account set -s NAME_OR_ID기본 구독을 구성할 수 있습니다.

--verbose

로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.