Partilhar via


Agendar e transmitir trabalhos com a CLI do Azure

Use a CLI do Azure para agendar e controlar trabalhos que atualizam milhões de dispositivos. Use trabalhos para:

  • Atualizar as propriedades pretendidas
  • Atualizar tags
  • Invocar métodos diretos

Conceitualmente, um trabalho envolve uma dessas ações e rastreia o progresso da execução em relação a um conjunto de dispositivos. Uma consulta de gêmeo de dispositivo define o conjunto de dispositivos com os quais um trabalho interage. Por exemplo, um aplicativo back-end pode usar um trabalho para invocar um método de reinicialização em 10.000 dispositivos, especificado por uma consulta gêmea de dispositivo e agendado em um momento futuro. Esse aplicativo pode então acompanhar o progresso à medida que cada um desses dispositivos recebe e executa o método de reinicialização.

Para saber mais sobre como os trabalhos ajudam a gerenciar operações de gerenciamento de dispositivos em massa, consulte Agendar trabalhos em vários dispositivos.

Nota

Os recursos descritos neste artigo estão disponíveis somente na camada padrão do Hub IoT. Para obter mais informações sobre as camadas básica e padrão/gratuita do Hub IoT, consulte Escolha a camada certa do Hub IoT para sua solução.

Pré-requisitos

  • CLI do Azure. Você também pode executar os comandos neste artigo usando o Azure Cloud Shell, um shell interativo da CLI que é executado em seu navegador ou em um aplicativo como o Terminal do Windows. Se você usa o Cloud Shell, não precisa instalar nada. Se você preferir usar a CLI localmente, este artigo requer a CLI do Azure versão 2.36 ou posterior. Para localizar a versão instalada, execute az --version. Para instalar ou atualizar localmente a CLI do Azure, consulte Instalar a CLI do Azure.

  • Um hub IoT em sua assinatura do Azure. Se você ainda não tiver um hub, siga as etapas em Criar um hub IoT.

Agendar um trabalho para invocar um método direto

Você pode usar trabalhos para invocar um método direto em um ou mais dispositivos.

Use o comando az iot hub job create , substituindo os seguintes espaços reservados por seus valores correspondentes. O comando agenda um trabalho que chama um nome de método nos dispositivos de destino.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleDeviceMethod \
                      --method-name {MethodName} --method-payload {MethodPayload} \
                      --query-condition "{DeviceQuery}"
Marcador de Posição Value
{HubName} O nome do seu hub IoT.
{JobName} O nome do seu trabalho agendado. Os nomes de trabalho são exclusivos, portanto, escolha um nome de trabalho diferente cada vez que executar esse comando.
{MethodName} O nome do seu método direto.
{MethodPayload} Qualquer carga útil a fornecer ao método direto. Se não for necessária carga útil, utilize null.
{DeviceQuery} Uma consulta que define o dispositivo ou dispositivos a serem direcionados com o trabalho. Por exemplo, um trabalho de dispositivo único pode usar a seguinte condição de consulta: deviceId = 'myExampleDevice'.

Gorjeta

Ao agendar um comando job az iot hub job create que invoca um método direto, você deve especificar valores para os --method-name parâmetros opcionais e --method-payload opcionais. Para métodos diretos que não aceitam uma carga útil, especifique null o --method-payload parâmetro.

Agendar um trabalho para atualizar as propriedades gêmeas de um dispositivo

Você pode usar trabalhos para atualizar uma propriedade desejada de gêmeo de dispositivo.

Use o comando az iot hub job create , substituindo os seguintes espaços reservados por seus valores correspondentes. Neste exemplo, estamos agendando um trabalho para definir o valor da propriedade BuildingNo gêmea desejada como 45 para nosso dispositivo simulado.

az iot hub job create --hub-name {HubName} --job-id {JobName} \
                      --job-type scheduleUpdateTwin \
                      --twin-patch '{JSONTwinPatch}' \
                      --query-condition "{DeviceQuery}"
Marcador de Posição Value
{HubName} O nome do seu hub IoT.
{JobName} O nome do seu trabalho agendado. Os nomes de trabalho são exclusivos, portanto, escolha um nome de trabalho diferente cada vez que executar esse comando.
{JSONTwinPatch} O trecho JSON que você deseja usar para atualizar as propriedades desejadas do gêmeo do dispositivo. Por exemplo, {"properties":{"desired": {"BuildingNo": 45}}}.
{DeviceQuery} Uma consulta que define o dispositivo ou dispositivos a serem direcionados com o trabalho. Por exemplo, um trabalho de dispositivo único pode usar a seguinte condição de consulta: deviceId = 'myExampleDevice'.

Saiba como implementar trabalhos programaticamente usando os SDKs do Azure IoT: Agendar e transmitir trabalhos.