az iot edge deployment

참고 항목

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

대규모로 IoT Edge 배포를 관리합니다.

명령

Name Description 형식 상태
az iot edge deployment create

대상 IoT Hub에서 IoT Edge 배포를 만듭니다.

내선 번호 GA
az iot edge deployment delete

IoT Edge 배포를 삭제합니다.

내선 번호 GA
az iot edge deployment list

IoT Hub에서 IoT Edge 배포를 나열합니다.

내선 번호 GA
az iot edge deployment show

IoT Edge 배포의 세부 정보를 가져옵니다.

내선 번호 GA
az iot edge deployment show-metric

IoT Edge 배포에 정의된 대상 시스템 메트릭을 평가합니다.

내선 번호 GA
az iot edge deployment update

IoT Edge 배포의 지정된 속성을 업데이트합니다.

내선 번호 GA

az iot edge deployment create

대상 IoT Hub에서 IoT Edge 배포를 만듭니다.

배포 콘텐츠는 json이며 {"modulesContent":{...}} 형식입니다. 또는 {"content":{"modulesContent":{...}}}.

기본적으로 시스템 모듈 $edgeAgent 및 $edgeHub 속성은 IoT 확장과 함께 설치된 스키마에 대해 유효성을 검사합니다. 이 유효성 검사는 기본 배포를 위한 것입니다. 해당 스키마를 사용할 수 없거나 기본 배포 형식이 검색되지 않으면 이 단계를 건너뜁습니다. --no-validation 스위치를 사용하여 스키마 유효성 검사를 사용하지 않도록 설정할 수 있습니다.

에지 배포는 모듈에 properties.desired.*가 정의된 경우 계층화된 배포로 분류됩니다. 계층화된 배포를 대상으로 하는 모든 에지 디바이스에는 먼저 기본 배포가 적용되어야 합니다.

디바이스를 대상으로 하는 계층화된 배포는 해당 디바이스의 기본 배포보다 우선 순위가 더 높아야 합니다.

참고: 모듈 쌍의 properties.desired 필드가 계층화된 배포에서 설정된 경우 properties.desired는 우선 순위가 낮은 배포에서 해당 모듈에 대해 원하는 속성을 덮어씁니다.

az iot edge deployment create --content
                              --deployment-id
                              [--auth-type {key, login}]
                              [--cl]
                              [--cmq]
                              [--hub-name]
                              [--lab]
                              [--layered {false, true}]
                              [--login]
                              [--metrics]
                              [--no-validation {false, true}]
                              [--pri]
                              [--resource-group]
                              [--target-condition]

예제

'building 9'의 디바이스에 적용되고 환경이 '테스트'인 레이블(bash 구문 예제)을 사용하여 배포를 만듭니다.

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --labels '{"key0":"value0", "key1":"value1"}' --target-condition "tags.building=9 and tags.environment='test'" --priority 3

환경 'dev'로 태그가 지정된 디바이스에 적용되는 레이블(powershell 구문 예제)을 사용하여 배포를 만듭니다.

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --labels "{'key':'value'}" --target-condition "tags.environment='dev'"

환경 'dev'로 태그가 지정된 디바이스에 적용되는 계층화된 배포를 만듭니다. 인라인으로 정의된 사용자 메트릭 및 모듈 콘텐츠(powershell 구문 예제) 이는 properties.desired.*가 정의된 대로 계층화된 배포 형식입니다.

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content "{'modulesContent':{'`$edgeAgent':{
  'properties.desired.modules.mymodule0':{ }},'`$edgeHub':{'properties.desired.routes.myroute0':'FROM /messages/* INTO `$upstream'}}}"
--target-condition "tags.environment='dev'" --priority 10 --metrics "{'queries':{'mymetrik':'SELECT deviceId from devices where properties.reported.lastDesiredStatus.code = 200'}}"

'building 9' 및 환경 'test'의 디바이스에 적용되는 계층화된 배포를 만듭니다. 인라인으로 정의된 사용자 메트릭 및 모듈 콘텐츠(bash 구문 예제) 이는 properties.desired.*가 정의된 대로 계층화된 배포 형식입니다.

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content '{"modulesContent":{"$edgeAgent":{"properties.desired.modules.mymodule0":{ }},"$edgeHub":{"properties.desired.routes.myroute0":"FROM /messages/* INTO $upstream"}}}' --target-condition "tags.building=9 and tags.environment='test'" --metrics '{"queries":{"mymetrik":"SELECT deviceId from devices where properties.reported.lastDesiredStatus.code = 200"}}'

'빌드 9' 및 환경 '테스트'의 디바이스에 적용되는 배포를 만듭니다. 파일에서 정의된 사용자 메트릭 및 모듈 콘텐츠입니다.

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --target-condition "tags.building=9 and tags.environment='test'" --metrics ./metrics_content.json

레이블 및 메트릭의 셸에 구애받지 않는 입력을 사용하여 파일에서 정의가 지정된 배포를 만듭니다.

az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --target-condition "tags.building=9 and tags.environment='test'" --custom-labels key0=value0 key1=value1 --custom-metric-queries mymetric1="select deviceId from devices where tags.location='US'" mymetric2="select *"

필수 매개 변수

--content -k

IoT Edge 배포 콘텐츠입니다. 파일 경로 또는 원시 json을 제공합니다.

--deployment-id -d

대상 배포 이름입니다. 소문자와 다음 특수 문자가 허용됩니다. [-+%_*!'].

선택적 매개 변수

--auth-type

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

허용되는 값: key, login
기본값: key
--cl --custom-labels

--labels에 대한 대체 입력 스타일(공백으로 구분된 키=값 쌍)이며 나중에 바꾸기 위한 것입니다. 형식 예제: key1=value1 key2="this is my value".

--cmq --custom-metric-queries

--metrics에 대한 대체 입력 스타일(공백으로 구분된 키=값 쌍)이며 나중에 대체합니다. 형식 예제: metric1="tags.location='US'" metric2="select *"인 디바이스에서 deviceId를 선택합니다.

--hub-name -n

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

--lab --labels

대상 배포에 적용할 레이블의 맵입니다. '{"key0":"value0", "key1":"value1"}' 형식을 사용합니다. --label 대신 --custom-labels를 사용하는 것이 좋습니다.

--layered

계층화된 배포를 사용하면 기본 배포 위에 계층화할 $edgeAgent, $edgeHub 및 사용자 모듈에서 원하는 속성을 정의할 수 있습니다. 계층화된 배포에 지정된 속성은 기본 배포의 속성과 병합됩니다. 동일한 경로의 속성은 배포 우선 순위에 따라 덮어씁니다. 이 옵션은 --no-validation에 대한 별칭입니다.

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

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

--metrics -m

IoT Edge 배포 사용자 메트릭 정의 파일 경로 또는 원시 json을 제공합니다. 사용자 메트릭은 {"쿼리":{...}} 형식입니다. 또는 {"metrics":{"queries":{...}}}입니다. --metrics 대신 --custom-metric-queries를 사용하는 것이 좋습니다.

--no-validation

에지 배포를 만들기 위해 클라이언트 쪽 스키마 유효성 검사를 사용하지 않도록 설정합니다.

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

경쟁 규칙(가장 높은 승리)의 경우 배포 가중치입니다.

기본값: 0
--resource-group -g

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

--target-condition --tc -t

에지 배포가 적용되는 대상 조건입니다. 대상 조건이 없는 배포는 디바이스를 대상으로 하지 않습니다. "tags.environment='test'" 형식을 사용합니다.

전역 매개 변수
--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 edge deployment delete

IoT Edge 배포를 삭제합니다.

az iot edge deployment delete --deployment-id
                              [--auth-type {key, login}]
                              [--etag]
                              [--hub-name]
                              [--login]
                              [--resource-group]

필수 매개 변수

--deployment-id -d

대상 배포 이름입니다. 소문자와 다음 특수 문자가 허용됩니다. [-+%_*!'].

선택적 매개 변수

--auth-type

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

허용되는 값: key, login
기본값: key
--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 edge deployment list

IoT Hub에서 IoT Edge 배포를 나열합니다.

az iot edge deployment list [--auth-type {key, login}]
                            [--hub-name]
                            [--login]
                            [--resource-group]
                            [--top]

선택적 매개 변수

--auth-type

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

허용되는 값: key, login
기본값: key
--hub-name -n

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

--login -l

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

--resource-group -g

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

--top

반환할 최대 배포 수입니다. 기본적으로 모든 배포가 반환됩니다.

전역 매개 변수
--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 edge deployment show

IoT Edge 배포의 세부 정보를 가져옵니다.

az iot edge deployment show --deployment-id
                            [--auth-type {key, login}]
                            [--hub-name]
                            [--login]
                            [--resource-group]

필수 매개 변수

--deployment-id -d

대상 배포 이름입니다. 소문자와 다음 특수 문자가 허용됩니다. [-+%_*!'].

선택적 매개 변수

--auth-type

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

허용되는 값: key, login
기본값: key
--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 edge deployment show-metric

IoT Edge 배포에 정의된 대상 시스템 메트릭을 평가합니다.

az iot edge deployment show-metric --deployment-id
                                   --metric-id
                                   [--auth-type {key, login}]
                                   [--hub-name]
                                   [--login]
                                   [--metric-type {system, user}]
                                   [--resource-group]

예제

'appliedCount' 시스템 메트릭 평가

az iot edge deployment show-metric -m appliedCount -d {deployment_name} -n {iothub_name} --mt system

'myCustomMetric' 사용자 메트릭 평가

az iot edge deployment show-metric -m myCustomMetric -d {deployment_name} -n {iothub_name}

필수 매개 변수

--deployment-id -d

대상 배포 이름입니다. 소문자와 다음 특수 문자가 허용됩니다. [-+%_*!'].

--metric-id -m

평가를 위한 대상 메트릭입니다.

선택적 매개 변수

--auth-type

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

허용되는 값: key, login
기본값: key
--hub-name -n

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

--login -l

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

--metric-type --mt

메트릭을 조회하는 데 사용해야 하는 메트릭 컬렉션을 나타냅니다.

허용되는 값: system, user
기본값: user
--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 edge deployment update

IoT Edge 배포의 지정된 속성을 업데이트합니다.

배포를 업데이트하기 위해 --set 다음에 속성 할당을 사용합니다.

참고: IoT Edge 배포 콘텐츠는 변경할 수 없습니다. 업데이트할 수 있는 배포 속성은 '레이블', '메트릭', '우선 순위' 및 'targetCondition'입니다.

az iot edge deployment update --deployment-id
                              [--add]
                              [--auth-type {key, login}]
                              [--etag]
                              [--force-string]
                              [--hub-name]
                              [--login]
                              [--remove]
                              [--resource-group]
                              [--set]

예제

기존 에지 배포의 레이블 및 대상 조건 변경

az iot edge deployment update -d {deployment_name} -n {iothub_name} --set labels='{"purpose":"dev", "owners":"IoTEngineering"}' targetCondition='tags.building=9'

필수 매개 변수

--deployment-id -d

대상 배포 이름입니다. 소문자와 다음 특수 문자가 허용됩니다. [-+%_*!'].

선택적 매개 변수

--add

경로 및 키 값 쌍을 지정하여 개체 목록에 개체를 추가합니다. 예: --add property.listProperty <key=value, string or JSON string>

기본값: []
--auth-type

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

허용되는 값: key, login
기본값: key
--etag -e

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

--force-string

'set' 또는 'add'를 사용하는 경우 JSON으로 변환하는 대신 문자열 리터럴을 유지합니다.

기본값: False
--hub-name -n

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

--login -l

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

--remove

목록에서 속성 또는 요소를 제거합니다. 예: --remove property.list <indexToRemove> OR --remove propertyToRemove.

기본값: []
--resource-group -g

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

--set

설정할 속성 경로와 값을 지정하여 개체를 업데이트합니다. 예: --set property1.property2=<value>

기본값: []
전역 매개 변수
--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를 사용합니다.