az iot device c2d-message

참고 항목

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

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

명령

Name Description 형식 상태
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 c2d-message abandon

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

az iot device c2d-message abandon --device-id
                                  [--etag]
                                  [--hub-name]
                                  [--login]
                                  [--resource-group]

필수 매개 변수

--device-id -d

대상 디바이스 ID입니다.

선택적 매개 변수

--etag -e

리소스의 마지막 상태에 해당하는 Etag 또는 엔터티 태그입니다. etag가 제공되지 않으면 값 '*'이 사용됩니다.

--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를 사용합니다.

az iot device c2d-message complete

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

az iot device c2d-message complete --device-id
                                   [--etag]
                                   [--hub-name]
                                   [--login]
                                   [--resource-group]

필수 매개 변수

--device-id -d

대상 디바이스 ID입니다.

선택적 매개 변수

--etag -e

리소스의 마지막 상태에 해당하는 Etag 또는 엔터티 태그입니다. etag가 제공되지 않으면 값 '*'이 사용됩니다.

--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를 사용합니다.

az iot device c2d-message purge

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

az iot device c2d-message purge --device-id
                                [--hub-name]
                                [--login]
                                [--resource-group]

필수 매개 변수

--device-id -d

대상 디바이스 ID입니다.

선택적 매개 변수

--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를 사용합니다.

az iot device c2d-message receive

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

수신된 메시지 본문은 콘텐츠 인코딩이 'utf-8', 'utf-16' 또는 'utf-32'로 설정된 경우에만 디코딩됩니다. 콘텐츠 인코딩이 위 중 하나로 설정되지 않았거나 콘텐츠 인코딩이 위 중 하나로 설정된 경우에도 디코딩에 실패하는 경우 메시지 페이로드는 {{디코딩할 수 없는 페이로드}}로 표시됩니다.

참고: 메시지 ack 인수 [--complete, --reject, --abandon]만 수락됩니다.

az iot device c2d-message receive --device-id
                                  [--abandon {false, true}]
                                  [--complete {false, true}]
                                  [--hub-name]
                                  [--lock-timeout]
                                  [--login]
                                  [--reject {false, true}]
                                  [--resource-group]

예제

기본 사용법

az iot device c2d-message receive -d {device_id} -n {hub_name} -g {resource_group}

메시지를 수신하고 해당 메시지에 대한 잠금 시간 제한을 30초로 설정합니다.

az iot device c2d-message receive -d {device_id} -n {hub_name} -g {resource_group} --lt {30}

메시지를 받고 받은 후 '완료'로 처리합니다.

az iot device c2d-message receive -d {device_id} -n {hub_name} -g {resource_group} --complete

메시지를 받고 받은 후 거부합니다.

az iot device c2d-message receive -d {device_id} -n {hub_name} -g {resource_group} --reject

필수 매개 변수

--device-id -d

대상 디바이스 ID입니다.

선택적 매개 변수

--abandon

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

허용되는 값: false, true
기본값: False
--complete

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

허용되는 값: false, true
기본값: False
--hub-name -n

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

--lock-timeout --lt

메시지가 다른 수신 호출에 표시되지 않는 시간을 지정합니다.

기본값: 60
--login -l

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

--reject

수신 후 클라우드-디바이스 메시지를 거부합니다.

허용되는 값: false, true
기본값: False
--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 c2d-message reject

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

az iot device c2d-message reject --device-id
                                 [--etag]
                                 [--hub-name]
                                 [--login]
                                 [--resource-group]

필수 매개 변수

--device-id -d

대상 디바이스 ID입니다.

선택적 매개 변수

--etag -e

리소스의 마지막 상태에 해당하는 Etag 또는 엔터티 태그입니다. etag가 제공되지 않으면 값 '*'이 사용됩니다.

--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를 사용합니다.

az iot device c2d-message send

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

이 명령은 첫 번째 실행 시 종속 Cython 패키지(uamqp)를 사용하며 설치할 수 있습니다. https://github.com/Azure/azure-uamqp-python

참고: 콘텐츠 인코딩은 기본적으로 utf-8로 설정됩니다. 이 명령은 콘텐츠 인코딩 속성이 utf-8, utf-16 또는 utf-32인 경우 인코딩 작업으로 메시지 본문을 보냅니다. 콘텐츠 인코딩 값이 이러한 값 중 하나가 아니면 인코딩 작업을 수행하지 않고 속성이 계속 전송됩니다.

이진 메시지 본문을 보낼 때는 파일을 통해 --data-file-path콘텐츠를 제공해야 하며 콘텐츠 형식은 .로 설정 application/octet-stream해야 합니다.

az iot device c2d-message send --device-id
                               [--ack {full, negative, positive}]
                               [--auth-type {key, login}]
                               [--ce]
                               [--cid]
                               [--content-type]
                               [--da]
                               [--data-file-path]
                               [--expiry]
                               [--hub-name]
                               [--login]
                               [--message-id]
                               [--properties]
                               [--repair {false, true}]
                               [--resource-group]
                               [--uid]
                               [--wait {false, true}]
                               [--yes {false, true}]

예제

기본 메시지 본문의 기본 사용

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

사용자 지정 데이터 및 속성을 사용하여 클라우드-디바이스 메시지를 보냅니다.

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

C2D 메시지 보내기 및 디바이스 승인 대기

az iot device c2d-message send -d {device_id} -n {iothub_name} --ack full --wait

파일에서 이진 형식으로 C2D 메시지를 보냅니다.

az iot device c2d-message send -d {device_id} -n {iothub_name} --data-file-path {file_path} --content-type 'application/octet-stream'

파일에서 JSON 형식으로 C2D 메시지를 보냅니다.

az iot device c2d-message send -d {device_id} -n {iothub_name} --data-file-path {file_path} --content-type 'application/json'

필수 매개 변수

--device-id -d

대상 디바이스 ID입니다.

선택적 매개 변수

--ack

해당 메시지의 최종 상태에 대한 메시지별 피드백 배달을 요청합니다. ack 값에 대한 설명은 다음과 같습니다. 긍정: c2d 메시지가 완료된 상태에 도달하면 IoT Hub에서 피드백 메시지를 생성합니다. 부정: c2d 메시지가 배달 못 한 편지 상태에 도달하면 IoT Hub에서 피드백 메시지를 생성합니다. 전체: IoT Hub는 두 경우 모두 피드백 메시지를 생성합니다. 기본적으로 ack는 요청되지 않습니다.

허용되는 값: full, negative, positive
--auth-type

작업에서 정책 키를 자동으로 파생할지 아니면 현재 Azure AD 세션을 사용해야 하는지 여부를 나타냅니다. 인증 유형이 로그인되고 리소스 호스트 이름이 제공되면 필요한 경우가 아니면 리소스 조회를 건너뜁습니다. 를 사용하여 az configure --defaults iothub-data-auth-type=<auth-type-value>기본값을 구성할 수 있습니다.

허용되는 값: key, login
기본값: key
--ce --content-encoding

C2D 메시지 본문에 대한 인코딩입니다.

기본값: utf-8
--cid --correlation-id

C2D 메시지와 연결된 상관 관계 ID입니다.

--content-type --ct

C2D 메시지 본문의 콘텐츠 형식입니다.

--da --data

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

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

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

--expiry --expiry-time-utc

단위는 unix epoch 이후 밀리초입니다. 시간이 표시되지 않으면 기본 IoT Hub C2D 메시지 TTL이 사용됩니다.

--hub-name -n

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

--login -l

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

--message-id --mid

C2D 메시지 ID입니다. 메시지 ID가 제공되지 않으면 UUID가 생성됩니다.

--properties --props -p

다음과 같은 형식의 키-값 쌍의 메시지 속성 모음: a=b; c=d.

--repair -r

확장 버전과 호환되는 uamqp 종속성을 다시 설치합니다. 기본값: false입니다.

허용되는 값: false, true
기본값: False
--resource-group -g

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

--uid --user-id

C2D 메시지, 사용자 ID 속성입니다.

--wait -w

설정된 경우 디바이스 피드백이 수신될 때까지 c2d 보내기 작업이 차단됩니다.

허용되는 값: false, true
기본값: False
--yes -y

사용자 프롬프트를 건너뜁니다. 작업 수락을 나타냅니다. 자동화 시나리오에 주로 사용됩니다. 기본값: false입니다.

허용되는 값: false, true
기본값: False
전역 매개 변수
--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를 사용합니다.