Azure CLI ile işleri zamanlama ve yayınlama
Milyonlarca cihazı güncelleştiren işleri zamanlamak ve izlemek için Azure CLI'yi kullanın. İşleri kullanarak:
- İstenen özellikleri güncelleştirme
- Etiketleri güncelleştirme
- Doğrudan yöntemleri çağırma
Kavramsal olarak, bir iş bu eylemlerden birini sarmalar ve yürütmenin ilerleme durumunu bir cihaz kümesine göre izler. Cihaz ikizi sorgusu, bir işin etkileşim kurduğu cihaz kümesini tanımlar. Örneğin bir arka uç uygulaması, bir cihaz ikizi sorgusu tarafından belirtilen ve gelecekteki bir zamanda zamanlanan 10.000 cihazda yeniden başlatma yöntemini çağırmak için bir iş kullanabilir. Bu uygulama daha sonra bu cihazların her biri yeniden başlatma yöntemini alıp yürütürken ilerleme durumunu izleyebilir.
İşlerin toplu cihaz yönetimi işlemlerini yönetmeye nasıl yardımcı olduğu hakkında daha fazla bilgi edinmek için bkz . Birden çok cihazda iş zamanlama.
Not
Bu makalede açıklanan özellikler yalnızca IoT Hub'ın standart katmanında kullanılabilir. Temel ve standart/ücretsiz IoT Hub katmanları hakkında daha fazla bilgi için bkz. Çözümünüz için doğru IoT Hub katmanını seçme.
Önkoşullar
Azure CLI. Bu makaledeki komutları, tarayıcınızda veya Windows Terminali gibi bir uygulamada çalışan etkileşimli bir CLI kabuğu olan Azure Cloud Shell'i kullanarak da çalıştırabilirsiniz. Cloud Shell kullanıyorsanız herhangi bir şey yüklemeniz gerekmez. CLI'yi yerel olarak kullanmayı tercih ediyorsanız, bu makalede Azure CLI sürüm 2.36 veya üzeri gerekir. Yüklü sürümü bulmak için
az --version
komutunu çalıştırın. Azure CLI'yı yerel olarak yüklemek veya yükseltmek için bkz . Azure CLI'yi yükleme.Azure aboneliğinizde bir IoT hub'ı. Henüz bir hub'ına sahip değilseniz IoT hub'ı oluşturma makalesindeki adımları izleyebilirsiniz.
Doğrudan yöntem çağırmak için iş zamanlama
bir veya daha fazla cihazda doğrudan yöntem çağırmak için işleri kullanabilirsiniz.
aşağıdaki yer tutucuları karşılık gelen değerleriyle değiştirerek az iot hub job create komutunu kullanın. komutu, hedef cihazlarda yöntem adını çağıran bir iş zamanlar.
az iot hub job create --hub-name {HubName} --job-id {JobName} \
--job-type scheduleDeviceMethod \
--method-name {MethodName} --method-payload {MethodPayload} \
--query-condition "{DeviceQuery}"
Yer tutucu | Değer |
---|---|
{HubName} |
IoT hub'ınızın adı. |
{JobName} |
Zamanlanmış işinizin adı. İş adları benzersizdir, bu nedenle bu komutu her çalıştırdığınızda farklı bir iş adı seçin. |
{MethodName} |
Doğrudan yönteminizin adı. |
{MethodPayload} |
Doğrudan yönteme sağlanacak herhangi bir yük. Yük gerekmiyorsa kullanın null . |
{DeviceQuery} |
İşle hedeflenecek cihazı veya cihazları tanımlayan bir sorgu. Örneğin, tek bir cihaz işi şu sorgu koşulunu kullanabilir: deviceId = 'myExampleDevice' . |
İpucu
Doğrudan bir yöntem çağıran az iot hub job create komutunu zamanlarken, hem hem --method-payload
de --method-name
isteğe bağlı parametreler için değerler belirtmeniz gerekir. Yükü kabul etmeyen doğrudan yöntemler için parametresini --method-payload
belirtinnull
.
Cihaz ikizi özelliklerini güncelleştirmek için iş zamanlama
İstenen cihaz ikizi özelliğini güncelleştirmek için işleri kullanabilirsiniz.
aşağıdaki yer tutucuları karşılık gelen değerleriyle değiştirerek az iot hub job create komutunu kullanın. Bu örnekte, simülasyon cihazımız için istenen ikiz özelliğinin BuildingNo
değerini 45 olarak ayarlamak üzere bir iş zamanlıyoruz.
az iot hub job create --hub-name {HubName} --job-id {JobName} \
--job-type scheduleUpdateTwin \
--twin-patch '{JSONTwinPatch}' \
--query-condition "{DeviceQuery}"
Yer tutucu | Değer |
---|---|
{HubName} |
IoT hub'ınızın adı. |
{JobName} |
Zamanlanmış işinizin adı. İş adları benzersizdir, bu nedenle bu komutu her çalıştırdığınızda farklı bir iş adı seçin. |
{JSONTwinPatch} |
Cihaz ikizinin istenen özelliklerini güncelleştirmek için kullanmak istediğiniz JSON kod parçacığı. Örneğin, {"properties":{"desired": {"BuildingNo": 45}}} . |
{DeviceQuery} |
İşle hedeflenecek cihazı veya cihazları tanımlayan bir sorgu. Örneğin, tek bir cihaz işi şu sorgu koşulunu kullanabilir: deviceId = 'myExampleDevice' . |
İlgili içerik
Azure IoT SDK'larını kullanarak program aracılığıyla iş uygulamayı öğrenin: İşleri zamanlama ve yayınlama.