IoT hub'larında cihaz sağlamak için 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 bu ilke bir kayıtta ayarlanan ayırma ilkesi tarafından geçersiz kılınabilir. Ayırmaya 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ılmayacağı, cihazın sağladığı 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 sağlanır. Varsayılan olarak, bağlı IoT hub'ları aynı ayırma ağırlığı ayarına sahiptir, bu nedenle cihazlara sağlanan cihazlara sahip olma olasılıkları da aynı olur. 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 karma olarak kullanı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, ioT hub'ına cihaz atamak için Azure İşlevleri barındırılan özel bir web kancası kullanılarak gerçekleştirilir. DPS, cihaz ve kayıtla ilgili tüm bilgileri sağlayarak web kancanızı çağırır. Web kancanız, cihazı sağlamak için kullanılan IoT hub'ını ve ilk cihaz ikizini (isteğe bağlı) döndürür. Özel yükler cihaza ve cihazdan da geçirilebilir. Daha fazla bilgi edinmek için bkz . Özel ayırma ilkelerini anlama. DPS örneği varsayılan ilkesi olarak ayarlanamaz.

Dekont

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: karma, coğrafi bölge, statik ve özel.

Bağlı IoT hub'ında ayırmaya nasıl katıldığını denetleen iki ayar vardır:

  • Ayırma ağırlığı: Birden çok IoT hub'ı içeren ayırma ilkelerine katılırken IoT hub'ına sahip olacak ağırlığı ayarlar. 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 atanamaz. IoT hub'ı yine bir kayıtta seçilebilir, ancak ayırmaya katılmaz. Bir IoT hub'ını ayırmaya katılmadan 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 kaydın bir IoT hub'ı belirtmesi gerektiğini unutmayın.

Ö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. Zaten bir IoT hub'ına sağlanan cihazlar etkilenmez. Değişikliklerinizin bu cihazlara geriye 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.

Dekont

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 ayırma varsayılan ayırma ilkesi için 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. İlkeyi belirtmek için kullanırsınız --set properties.allocationPolicy . Ö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ğı REST API'sini, Resource Manager şablonlarını ve DPS Yönetim SDK'larını kullanarak varsayılan ayırma ilkesini ayarlamayı da destekler.

Kayıtlar için ayırma ilkesini ve IoT hub'larını ayarlama

Bireysel kayıtlar ve kayıt grupları, bir ayırma ilkesi ve geçerli olması gereken bağlı IoT hub'ları belirtebilir. Kayıt tarafından hiçbir ayırma ilkesi belirtilmezse, 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çilmezse 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 ayarlamak ve Azure portalındaki bir kayıtta IoT hub'ları'nı 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:

    Screenshot that shows the allocation policy and selected hubs settings on IoT hubs tab.

    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. Kaydın DPS örneğine eklenirken (veya bu örnekten silinirken) bağlı IoT hub'larını otomatik olarak kullanmasını sağlamak için 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'ına bağlanma hakkında ayrıntılı bilgi için bkz . IoT Hub'ı bağlama.

    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 özel ayırma ilkesi web kancası da belirtmeniz gerekir. Ayrıntılar için Bkz . Özel ayırma ilkelerini kullanma öğreticisi.

  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

Tek tek kayıtları veya kayıt gruplarını oluşturmak veya güncelleştirmek için az iot dps enrollment create, az iot dps enrollment-group create, az iot dps enrollment-group update Azure CLI komutlarını kullanın.

Ö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 Ayrı kayıt oluştur veya Güncelleştir ile Kayıt grubu OLUŞTURMA veya Güncelleştirme REST API'lerini ve DPS hizmet SDK'larını kullanarak kayıtta ayırma ilkesini ve seçilen IoT hub'larını ayarlamayı da destekler.

Ayırma davranışı

IoT hub'ı ile ayırma ilkeleri kullanılırken aşağıdaki davranışa 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ğinde varsayılan ilke ayarının değiştirilmesi, cihazların kayıt aracılığıyla sağlama şeklini değiştirir.

  • Azure portalında, kaydın ayırma ilkesi ayarı varsayılan ayırma 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 ilkesinde yapılan sonraki değişiklikler, cihazların kayıt aracılığıyla sağlama ş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.

    • Azure portalı ile kayıt, DPS örneğine bağlı tüm IoT hub'ları seçili olarak önceden doldurulur; kaydı kaydetmeden önce tüm IoT hub'larının seçimini kaldırın.

    Kayıtta hiçbir IoT hub'ı seçilmezse, DPS örneğine yeni bir IoT hub'ı bağlandığında ayırmaya katılır; ve DPS örneğinden kaldırılan bir IoT hub'ı için tam tersi.

  • Bir kayıtta IoT hub'ları belirtilirse, yeni bağlanan bir IoT hub'ını eklemek veya silinen bir IoT hub'ını ayırmadan kaldırmak için kayıt üzerindeki IoT hub'ları ayarının el ile veya program aracılığıyla güncelleştirilmiş olması 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