IoT hub'larında cihaz dağıtımı sağlamak üzere ayırma ilkelerini kullanma

Azure IoT Hub Cihaz Sağlama Hizmeti (DPS), cihazları bir veya daha fazla IoT hub'ına nasıl atadığını belirleyen çeşitli yerleşik ayırma ilkelerini destekler. DPS ayrıca, IoT senaryonuz yerleşik ilkeler tarafından sağlanmayan işlevler gerektirdiğinde kendi ayırma ilkelerinizi oluşturmanıza ve kullanmanıza olanak tanıyan özel ayırma ilkeleri desteği içerir.

Bu makale, DPS ayırma ilkelerinin nasıl kullanılacağını ve yönetileceğini anlamanıza yardımcı olur.

Ayırma ilkelerini anlama

Ayırma ilkeleri, DPS'nin cihazları IoT hub'ına nasıl atadığını belirler. Her DPS örneğinin varsayılan ayırma ilkesi vardır, ancak bir kayıtta ayarlanan ayırma ilkesi varsayılan ayırma ilkesini geçersiz kılabilir. Ayırma sürecine yalnızca DPS örneğine bağlı IoT hub'ları katılabilir. Bağlı IoT hub'larının ayırmaya katılıp katılmadığı, cihaz aracılığıyla sağlanan kayıt ayarlarına bağlıdır.

DPS dört ayırma ilkesi destekler:

  • Eşit ağırlıklı dağıtım: Cihazlar bir IoT hub'ına ağırlıklı karma kullanılarak tanımlanır. Varsayılan olarak, bağlı IoT hub'ları aynı ayırma ağırlığı ayarına sahiptir, bu nedenle üzerlerine cihaz atanma olasılıkları eşittir. IoT hub'ının ayırma ağırlığı, atanma olasılığını artırmak veya azaltmak için ayarlanabilir. Eşit ağırlıklı dağıtım , bir DPS örneği için varsayılan ayırma ilkesidir. Cihazları yalnızca bir IoT hub'ına hazırlarsanız bu ilkeyi kullanmanızı öneririz.

  • En düşük gecikme süresi: Cihazlar IoT hub'ına cihaz için en düşük gecikme süresiyle sağlanır. Birden çok IoT hub'ı en düşük gecikme süresini sağlayacaksa, DPS cihazları yapılandırılan ayırma ağırlığına göre bu hub'lar arasında dağıtır.

  • Statik yapılandırma: Cihazlar, kayıtta belirtilmesi gereken tek bir IoT hub'ına sağlanır.

  • Özel (Azure İşlevi'ni kullanma): Özel ayırma ilkesi, cihazların IoT hub'ına nasıl atandığı üzerinde daha fazla denetim sağlar. Bu özel ayırma, cihazları bir IoT hub'ına atamak için Azure İşlevleri'nde barındırılan özel bir web kancası kullanılarak gerçekleştirilir. DPS, cihaz ve kayıtla ilgili tüm bilgileri sağlayarak webhook'unuzu çağırır. Webhook'unuz, cihazı sağlamak için kullanılan IoT hub'ını ve başlangıç cihaz ikizini (isteğe bağlı) geri döner. Özel yükler cihaza ve cihazdan da geçirilebilir. Daha fazla bilgi edinmek için bkz. Azure IoT Hub Cihazı Sağlama Hizmeti ile özel ayırma ilkelerini anlama. DPS örneği için varsayılan politika olarak ayarlanamaz.

Not

Yukarıdaki listede ayırma ilkelerinin adları Azure portalında gösterildiği gibi gösterilir. DPS REST API, Azure CLI ve DPS hizmet SDK'larını kullanarak ayırma ilkesini ayarlarken bunlar şu şekilde adlandırılır: hashlenmiş, coğrafi gecikme, statik ve özel.

Bağlı bir IoT hub'ında ayırma sürecine nasıl katıldığını denetleyen iki ayar vardır.

  • Ayırma ağırlığı: Birden çok IoT hub'ını içeren ayırma politikalarına katılacak olan IoT hub'ının ağırlığını belirler. Bir ile 1000 arasında bir değer olabilir. Varsayılan değer birdir (veya null).

    • Eşit ağırlıklı dağıtım ayırma ilkesiyle, daha yüksek ayırma ağırlığı değerlerine sahip IoT hub'larının daha düşük ağırlık değerlerine sahip olanlarla karşılaştırıldığında seçilme olasılığı daha yüksektir.

    • En düşük gecikme süresi ayırma ilkesiyle ayırma ağırlığı değeri, birden fazla IoT hub'ı en düşük gecikme süresi gereksinimini karşıladığında ioT hub'ının seçilme olasılığını etkiler.

    • Özel ayırma ilkesiyle, ayırma ağırlığı değerinin kullanılıp kullanılmadığı ve nasıl kullanıldığı web kancası mantığına bağlıdır.

  • Ayırma ilkesini uygula: IoT hub'larının ayırma ilkesine katılıp katılmadığını belirtir. Varsayılan değer Evet (true) değeridir. Hayır (yanlış) olarak ayarlanırsa cihazlar IoT hub'ına atanmamış olur. IoT hub hâlâ bir kayıtta seçilebilir, ancak ayırmaya katılmaz. Bir IoT hub'ını cihaz veya kaynak tahsisine katılımını geçici veya kalıcı olarak kaldırmak için bu ayarı kullanabilirsiniz; örneğin, izin verilen cihaz sayısına yaklaşıyorsa.

DPS örneğinizde IoT hub'larını bağlama ve yönetme hakkında daha fazla bilgi edinmek için bkz. IoT hub'larını bağlama ve yönetme.

Bir cihaz DPS aracılığıyla sağlandığında, hizmet onu aşağıdaki yönergelere göre bir IoT hub'ına atar:

  • Kayıt bir ayırma ilkesi belirtiyorsa, bu ilkeyi kullanın; aksi takdirde, DPS örneği için varsayılan ayırma ilkesini kullanın.

  • Kayıt bir veya daha fazla IoT hub'ı belirtiyorsa ayırma ilkesini bu IoT hub'larına uygulayın; aksi takdirde, ayırma ilkesini DPS örneğine bağlı tüm IoT hub'larına uygulayın. Ayırma ilkesi Statik yapılandırma ise, kayıt bir IoT hub'ı belirtmelidir .

Önemli

Bir ayırma ilkesini veya uygulandığı IoT hub'larını değiştirdiğinizde, değişiklikler yalnızca sonraki cihaz kayıtlarını etkiler. Bir IoT hub'ına önceden sağlanan cihazlar etkilenmez. Değişikliklerinizin bu cihazlara geçmişe dönük olarak uygulanmasını istiyorsanız, bunları yeniden sağlamanız gerekir. Daha fazla bilgi edinmek için, bkz Cihazları yeniden sağlama.

DPS örneği için varsayılan ayırma ilkesini ayarlama

DpS örneği için varsayılan ayırma ilkesi, bir kayıtta ayırma ilkesi belirtilmediğinde kullanılır. Varsayılan ayırma ilkesi için yalnızca eşit ağırlıklı dağıtım, En düşük gecikme süresi ve Statik yapılandırma desteklenir. Özel ayırma desteklenmez. Bir DPS örneği oluşturulduğunda, varsayılan ilkesi otomatik olarak Eşit ağırlıklı dağıtım olarak ayarlanır.

Not

Statik yapılandırmayı bir DPS örneği için varsayılan ayırma ilkesi olarak ayarlarsanız, varsayılan ilkeyi kullanan kayıtlarda bağlı bir IoT hub'ı belirtilmelidir.

Varsayılan ayırma ilkesini ayarlamak için Azure portalını kullanma

Azure portalında DPS örneği için varsayılan ayırma ilkesini ayarlamak için:

  1. DPS örneğinizin sol menüsünde Ayırma ilkesini yönet'i seçin.

  2. Ayarlamak istediğiniz ayırma ilkesinin düğmesini seçin: En düşük gecikme süresi, Eşit ağırlıklı dağıtım veya Statik yapılandırma. (Özel tahsis, varsayılan tahsis politikasında desteklenmez.)

  3. Kaydet'i seçin.

Varsayılan ayırma ilkesini ayarlamak için Azure CLI'yi kullanma

DPS örneği için varsayılan ayırma ilkesini ayarlamak için az iot dps update Azure CLI komutunu kullanın. --set properties.allocationPolicy öğesini kullanarak ilkeyi belirlersiniz. Örneğin, aşağıdaki komut ayırma ilkesini eşit ağırlıklı dağıtıma ayarlar (varsayılan):

az iot dps update --name MyExampleDps --set properties.allocationPolicy=hashed

DPS ayrıca DPS kaynağını oluşturma veya güncelleme REST API'sini, Resource Manager şablonlarını ve DPS Yönetim SDK'larını kullanarak varsayılan ayırma ilkesini ayarlamayı destekler.

Kayıtlar için ayırma politikası ve IoT hub'larını belirleme

Bireysel kayıtlar ve kayıt grupları, bir ayırma ilkesi ve geçerli olması gereken bağlı IoT hub'ları belirtebilir. Kayıt bir ayırma ilkesi belirtmezse DPS örneği için varsayılan ayırma ilkesi kullanılır.

Her iki durumda da aşağıdaki koşullar geçerlidir:

  • Eşit ağırlıklı dağıtım, En düşük gecikme süresi ve Özel ayırma ilkeleri için kayıt, hangi bağlı IoT hub'larının kullanılması gerektiğini belirtebilir. Kayıtta hiçbir IoT hub'ı seçilmediyse DPS örneğindeki tüm bağlı IoT hub'ları kullanılır.

  • Statik yapılandırma için kaydın bağlı IoT hub'ları listesinden tek bir IoT hub'ı belirtmesi gerekir.

Hem bireysel kayıtlar hem de kayıt grupları için, bir kayıt oluştururken veya güncelleştirirken uygulanacak bir ayırma ilkesi ve bağlı IoT hub'ları belirtebilirsiniz.

Azure portalını kullanarak kayıt ayırma ilkesini ve IoT hub'larını yönetme

Ayırma ilkesini belirlemek ve Azure portalındaki bir kayıtta IoT hub'ları seçmek için:

  1. DPS örneğinizin sol menüsünde Kayıtları yönet'i seçin.

  2. Kayıtları yönet sayfasında:

    • Yeni kayıt oluşturmak için Kayıt grupları veya Bireysel kayıtlar sekmesini ve ardından Kayıt grubu ekle veya Bireysel kayıt ekle'yi seçin.

    • Var olan bir kaydı güncelleştirmek için Kayıt Grupları veya Bireysel Kayıtlar sekmesinin altındaki listeden bu kaydı seçin.

  3. Kayıt Ekle sayfasında (oluşturmada) veya Kayıt ayrıntıları sayfasında (güncelleştirmede) IoT hub'ları sekmesini seçin. Bu sekmede, kayda uygulanmasını istediğiniz ayırma ilkesini ve kullanılması gereken IoT hub'larını seçebilirsiniz:

    IoT hubs sekmesinde ayırma ilkesini ve seçili hubs ayarlarını gösteren ekran görüntüsü.

    1. Açılan listeden cihazların atanabileceği IoT hub'larını seçin. Statik yapılandırma ayırma ilkesini seçerseniz, tek bir bağlantılı IoT hub'ı seçmekle sınırlı olursunuz. Diğer tüm ayırma ilkeleri için, tüm bağlı IoT hub'ları varsayılan olarak seçilir, ancak açılan listeyi kullanarak bu seçimi değiştirebilirsiniz. DPS örneğine eklenirken (veya bu örnekten silinirken) bağlı IoT hub'larını kullanmak için kaydı otomatik olarak yapmasını sağlamak amacıyla tüm IoT hub'larının seçimini kaldırın.

    2. İsteğe bağlı olarak, yeni bir IoT hub'ını DPS örneğine bağlamak ve seçilebilecek IoT hub'ları listesinde kullanılabilir hale getirmek için Yeni ioT hub'ını bağla düğmesini seçebilirsiniz. IoT hub'ı bağlama hakkında ayrıntılı bilgi için bkz. Bağlı IoT Hub'ı Ekleme.

    3. Kayda uygulamak istediğiniz ayırma ilkesini seçin. DPS örneği için varsayılan ayırma ilkesi varsayılan olarak seçilir. Özel ayırma için Azure İşlevleri'nde bir özel ayırma ilkesi web kancası da belirtmeniz gerekir. Daha fazla bilgi için bkz. Kılavuz: Cihaz Sağlama Hizmeti (DPS) ile özel ayırma ilkelerini kullanma.

  4. Kayıt için gereken diğer özellikleri ayarlayın ve ardından ayarlarınızı kaydedin.

Kayıt ayırma ilkesini ve IoT hub'larını yönetmek için Azure CLI'yi kullanma

Azure CLI'deki az iot dps enrollment create, az iot dps enrollment update, az iot dps enrollment-group create, az iot dps enrollment-group update komutlarını kullanarak bireysel kayıtları veya kayıt gruplarını oluşturun ya da güncelleyin.

Örneğin, aşağıdaki komut, DPS örneğinde ayarlanan varsayılan ayırma ilkesini ve DPS örneğine bağlı tüm IoT hub'larını kullanan bir simetrik anahtar kayıt grubu oluşturur:

az iot dps enrollment-group create --dps-name MyExampleDps --enrollment-id MyEnrollmentGroup 

Aşağıdaki komut aynı kayıt grubunu MyExampleHub ve MyExampleHub-2 adlı IoT hub'larıyla En düşük gecikme süresi ayırma ilkesini kullanacak şekilde güncelleştirir:

az iot dps enrollment-group update --dps-name MyExampleDps --enrollment-id MyEnrollmentGroup --allocation-policy geolatency --iot-hubs "MyExampleHub.azure-devices.net MyExampleHub-2.azure-devices.net"

DPS ayrıca Oluştur veya Güncelle ayrı kaydı ve Oluştur veya Güncelle kayıt grubunu REST API'lerini ve DPS hizmet SDK'larını kullanarak kayıtta ayırma ilkesini ve seçilen IoT hub'larını ayarlamayı destekler.

Ayırma davranışı

IoT hub ile kaynak ayırma politikaları kullanılırken aşağıdaki davranışlara dikkat edin:

  • Azure CLI, REST API ve DPS hizmet SDK'ları ile ayırma ilkesi olmayan kayıtlar oluşturabilirsiniz. Bu durumda DPS, bir cihaz kayıt aracılığıyla sağladığında DPS örneği için varsayılan ilkeyi kullanır. DPS örneğindeki varsayılan ilke ayarını değiştirmek, cihazların kayıtlama süreciyle sağlanma yöntemini değiştirir.

  • Azure portalında, kaydın tahsis ilkesi ayarı varsayılan tahsis ilkesiyle önceden doldurulur. Bu ayarı koruyabilir veya başka bir ilkeyle değiştirebilirsiniz, ancak kaydı kaydettiğinizde ayırma ilkesi kayıtta ayarlanır. Hizmet varsayılan ayırma politikasındaki sonraki değişiklikler, cihazların kayıt yoluyla sağlanma şeklini değiştirmez.

  • Eşit ağırlıklı dağıtım, En düşük gecikme süresi ve Özel ayırma ilkeleri için kaydı DPS örneğine bağlı tüm IoT hub'larını kullanacak şekilde yapılandırabilirsiniz:

    • Azure CLI ve DPS hizmet SDK'ları ile ioT hub'ları belirtmeden kaydı oluşturun.

    • tr-TR: Azure portalı ile, kayıt işlemi, DPS örneğine bağlı tüm IoT hub'ları seçili olarak otomatik bir şekilde önceden doldurulur; kaydı kaydetmeden önce bütün IoT hub'larının seçimini kaldırmayı unutmayın.

    Kayıt sırasında hiçbir IoT hub'ı seçilmediyse, DPS örneğine yeni bir IoT hub'ı bağlandığında dağıtım sürecine katılır; ve DPS örneğinden kaldırılan bir IoT hub'ı için tam tersi geçerlidir.

  • IoT hub'ları bir kayıtta belirtilmişse, yeni bağlanan bir IoT hub'ının kaynağa eklenmesi veya silinen bir IoT hub'ının tahsisattan kaldırılması için, kayıttaki IoT hub'ları ayarının el ile veya program aracılığıyla güncellenmesi gerekir.

  • Kayıt için kullanılan ayırma ilkesinin veya IoT hub'larının değiştirilmesi yalnızca bu kayıt aracılığıyla sonraki kayıtları etkiler. Değişikliklerin önceki kayıtları etkilemesini istiyorsanız, önceden kaydedilmiş tüm cihazları yeniden sağlamanız gerekir.

Sınırlamalar

Ayırma ilkeleri ve özel uç noktalarla çalışırken bazı sınırlamalar vardır. Daha fazla bilgi için bkz . Özel uç nokta sınırlamaları.

Sonraki adımlar