Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure IoT İşlemleri veri akışı grafikleri, uçta özel veri işleme için WebAssembly (WASM) modüllerini destekler. Veri akışı işlem hatlarınızın bir parçası olarak özel iş mantığı ve veri dönüştürmeleri dağıtabilirsiniz.
Önemli
Veri akışı grafikleri şu anda yalnızca MQTT, Kafka ve OpenTelemetry uç noktalarını desteklemektedir. Veri Gölü, Microsoft Fabric OneLake, Azure Veri Gezgini ve Yerel Depolama gibi diğer uç nokta türleri desteklenmez. Daha fazla bilgi için bkz. Bilinen sorunlar.
Önemli
Şu anda özel işleme için grafik tanımlarını destekleyen tek bağlayıcı HTTP/REST bağlayıcıdır.
Önkoşullar
- Kubernetes kümesinde dağıtılan Azure IoT İşlemleri örneği. Daha fazla bilgi için bkz. Deploy Azure IoT İşlemleri.
- Modülleri ve grafikleri çekmek istediğiniz kapsayıcı kayıt deposuna işaret eden bir kayıt uç noktası. Daha fazla bilgi için bkz. Kayıt defteri uç noktalarını yapılandırma. Kendi kayıt defterinizi ayarlamadan başlamak için, Genel kayıt
ghcr.iobaşlığı altında açıklanan genel örnek uç noktayı kullanın.
Kendi modüllerinizi ve graflarınızı Azure Container Registry (ACR) gibi özel bir kayıt defterine göndermek için şunları da yapmanız gerekir:
- WASM modüllerini ve grafiklerini depolamak için ACR gibi bir kapsayıcı kayıt defterine erişim.
- WASM modüllerini kayıt deposuna yüklemek için OCI Registry As Storage (ORAS) CLI aracı.
Genel Bakış
veri akışı grafları ve bağlayıcıları Azure IoT İşlemleri WASM modülleri, verileri uçta yüksek performans ve güvenlikle işlemenizi sağlar. WASM korumalı bir ortamda çalışır ve Rust ile Python destekler.
Genel kayıt defterinden önceden oluşturulmuş modülleri kullanma
Kullanmaya başlamanın en hızlı yolu, önceden oluşturulmuş örnek WASM modüllerini ve graf tanımlarını doğrudan genel GitHub Container Registry'den kullanmaktır. Bu yaklaşım için özel bir kayıt defteri, ORAS CLI veya herhangi bir çekme/gönderme adımı ayarlanması gerekmez.
Örnekleri kullanmak için, ghcr.io öğesini işaret eden public-ghcr adlı anonim bir kayıt defteri uç noktası oluşturun. Azure CLI ve Bicep seçenekleri için bkz. Genel kayıt defteri kullanma.
Mevcut örnek artefaktlar
public-ghcr kayıt defteri uç noktasını oluşturduktan sonra, veri akışı grafiklerinizde buna registryEndpointRef: public-ghcr kullanarak başvurun. Kayıt defteri uç noktasının ana bilgisayarı ghcr.io olduğundan, artefakt referanslarına depo yolu azure-samples/explore-iot-operations ekleyin. Aşağıdaki örnek modüller ve grafik tanımları kullanılabilir:
| Yapıt | Description |
|---|---|
azure-samples/explore-iot-operations/graph-simple:1.0.0 |
Basit sıcaklık dönüştürme grafı tanımı |
azure-samples/explore-iot-operations/graph-complex:1.0.0 |
Çok sensörlü işleme grafı tanımı |
azure-samples/explore-iot-operations/temperature:1.0.0 |
Sıcaklık dönüştürme modülü (Fahrenheit to Celsius) |
azure-samples/explore-iot-operations/window:1.0.0 |
Zamana dayalı pencereleme modülü |
azure-samples/explore-iot-operations/snapshot:1.0.0 |
Görüntü işleme ve nesne algılama modülü |
azure-samples/explore-iot-operations/format:1.0.0 |
Görüntü biçimi dönüştürme modülü |
azure-samples/explore-iot-operations/humidity:1.0.0 |
Nem veri işleme modülü |
azure-samples/explore-iot-operations/collection:1.0.0 |
Çok sensörlü veri toplama modülü |
azure-samples/explore-iot-operations/enrichment:1.0.0 |
Meta veri zenginleştirme modülü |
azure-samples/explore-iot-operations/filter:1.0.0 |
Veri filtreleme modülü |
Uyarı
Genel örnek graf tanımları, depo yolunu içeren azure-samples/explore-iot-operations modül başvurularını kullanır, örneğin azure-samples/explore-iot-operations/temperature:1.0.0. Kayıt defteri uç noktası konağı olduğundan bu ghcr.ioyol gereklidir. Artefaktları kendi kayıt deponuza kopyalarsanız, grafik tanımınızdaki modül başvurularının modül artefaktlarını yüklediğiniz yollarla eşleştiğinden emin olun.
Basit grafiği açık kayıt defteriyle kullanmak için bkz.: Örnek 1: Bir WASM modülüyle temel dağıtım ve public-ghcr kaydı defteri uç noktası adı olarak kullanın.
Özel kayıt defteri kullanma
Özel modüller kullanmanız gerekiyorsa veya örnek modüllerin kendi kopyalarını barındırmak istiyorsanız, Azure Container Registry (ACR) gibi özel bir kapsayıcı kayıt defteri ayarlayın.
Kapsayıcı kayıt defterini ayarlama
Azure IoT İşlemleri, WASM modüllerini ve grafik tanımlarını çekmek için bir kapsayıcı kayıt defteri gerektirir. Azure Container Registry (ACR) veya başka bir OCI uyumlu kayıt defteri kullanabilirsiniz. ACR örneği oluşturmak için bkz. Azure Container Registry dağıtma. Kayıt defteri var olduktan sonra, bunu işaret eden bir kayıt defteri uç noktası oluşturun. Bkz. Kayıt defteri uç noktası oluşturma.
ORAS CLI'yi yükleme
WASM modüllerini ve graf tanımlarını kapsayıcı kayıt defterinize göndermek için ORAS CLI'yi kullanın. Yükleme yönergeleri için bkz. ORAS'ı yükleme.
Genel kayıt defterinden örnek modülleri çekme
Önceden oluşturulmuş örnek modülleri kullanın:
# Pull sample modules and graphs
oras pull ghcr.io/azure-samples/explore-iot-operations/graph-simple:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/graph-complex:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/temperature:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/window:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/snapshot:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/format:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/humidity:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/collection:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/enrichment:1.0.0
oras pull ghcr.io/azure-samples/explore-iot-operations/filter:1.0.0
Modülleri kayıt defterinize gönderme
**
Örnek modülleri ve grafikleri aldıktan sonra bunları konteyner kayıt defterinize yükleyin.
<YOUR_ACR_NAME> değerini Azure Container Registry adıyla değiştirin.
Önemli
Operasyonlar deneyimi sayesinde yapıtlar, katman medya türüne göre değil, OCI yapılandırma medya türüne göre keşfedilir. Yapıtları bir kayıt defterine gönderdiğinizde, doğru medya türlerini ayarlamanız gerekir, aksi durumda yapıtlar işlem deneyimi kullanıcı arabiriminde görünmez:
| Yapıt türü | Gerekli OCI yapılandırma medya türü | Gerekli katman medya türü |
|---|---|---|
| Graf tanımı | application/vnd.microsoft.aio.graph.v1+yaml |
application/yaml |
| WASM modülü | application/vnd.module.wasm.content.layer.v1+wasm |
application/wasm |
Kayıt defterleri arasında yapıtları kopyalamak için CI/CD işlem hattı veya başka bir araç kullanıyorsanız, bu medya türlerini koruduğunu doğrulayın. Bazı araçlar aktarım sırasında yapıt meta verilerini kaldırır veya değiştirir ve bu da yapıtların işlem deneyiminden sessizce kaybolmasına neden olur. Daha fazla bilgi için Kayıt defteri artifakt gereksinimleri kısmına bakın.
Artefakt düzenini seçin
Grafları ve modülleri gönderdiğinizde kullandığınız artefakt adları, graf tanımı içinde ihtiyaç duyduğunuz modül referanslarını belirler. Kayıt defteri uç noktası ana bilgisayarı, yapıt yolu ve modül başvurusu arasındaki ilişki hakkında arka plan için Yapıt yolları ve grafik modülü başvuruları bölümüne bakın.
Azure örnek grafları için, artefaktları kendi kaydınıza kopyalarken örnek depo yolunu koruyun. Graf tanımları, bu yolu kullanan modüllere başvurur:
<YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/graph-simple:1.0.0
<YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/temperature:1.0.0
Veri akışı grafiğinde kullanın artifact: azure-samples/explore-iot-operations/graph-simple:1.0.0 . Graf tanımı module: "azure-samples/explore-iot-operations/temperature:1.0.0" kullanır.
Kendi grafikleriniz için düz bir düzen seçebilirsiniz:
<YOUR_ACR_NAME>.azurecr.io/graph-simple:1.0.0
<YOUR_ACR_NAME>.azurecr.io/temperature:1.0.0
Veri akışı grafiğinde artifact: graph-simple:1.0.0 ve grafik tanımının içinde module: "temperature:1.0.0" kullanın.
İsterseniz kendi iç içe düzeninizi de seçebilirsiniz:
<YOUR_ACR_NAME>.azurecr.io/factory/graphs/graph-simple:1.0.0
<YOUR_ACR_NAME>.azurecr.io/factory/graphs/temperature:1.0.0
Veri akışı grafiğinde artifact: factory/graphs/graph-simple:1.0.0 ve grafik tanımının içinde module: "factory/graphs/temperature:1.0.0" kullanın.
İşlemler deneyimi web kullanıcı arabiriminde grafiklerin ve modüllerin görünür olmasını sağlamak için, aşağıdaki örnekte gösterildiği gibi --config ve --artifact-type bayraklarını ekleyin.
# Log in to your ACR
az acr login --name <YOUR_ACR_NAME>
# Push modules to your registry
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/graph-simple:1.0.0 --config /dev/null:application/vnd.microsoft.aio.graph.v1+yaml graph-simple.yaml:application/yaml --disable-path-validation
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/graph-complex:1.0.0 --config /dev/null:application/vnd.microsoft.aio.graph.v1+yaml graph-complex.yaml:application/yaml --disable-path-validation
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/temperature:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm temperature.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/window:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm window.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/snapshot:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm snapshot.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/format:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm format.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/humidity:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm humidity.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/collection:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm collection.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/enrichment:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm enrichment.wasm:application/wasm
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/filter:1.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm filter.wasm:application/wasm
Tavsiye
Ayrıca kendi modüllerinizi göndererek özel grafikler oluşturabilirsiniz. Bkz . Özel veri akışı grafiklerini yapılandırma.
Çalışan bir grafikte modülü güncelleştirme
Çalışan bir grafikteki WASM modülünü, grafiği durdurmadan güncelleştirebilirsiniz. Bu, veri akışını durdurmadan bir işlecin mantığını güncelleştirmek istediğinizde kullanışlıdır. Örneğin, Azure örnek yapıt düzeninde sıcaklık dönüştürme modülünü 1.0.0 sürümünden 2.0.0 olarak güncelleştirmek için yeni sürümü aşağıdaki gibi karşıya yükleyin:
oras push <YOUR_ACR_NAME>.azurecr.io/azure-samples/explore-iot-operations/temperature:2.0.0 --artifact-type application/vnd.module.wasm.content.layer.v1+wasm temperature.wasm:application/wasm
Uyarı
Aynı etikete yeni içerik gönderirseniz (örneğin, üzerine yazarsanızazure-samples/explore-iot-operations/temperature:1.0.0), veri akışı grafiği ek yapılandırma olmadan güncelleştirilmiş modülü otomatik olarak alır. Ancak, yeni bir etikete (örneğin, azure-samples/explore-iot-operations/temperature:2.0.0) iterseniz, grafik tanımı YAML'yi yeni sürüme başvuracak şekilde güncelleştirmeniz ve grafik nesnesini yeniden göndermeniz gerekir.
Özel WASM modülleri geliştirme
Veri akışı grafikleriniz için özel veri işleme mantığı oluşturmak için Rust veya Python'da WebAssembly modülleri geliştirin. Özel modüller yerleşik işleçlerde bulunmayan özelleştirilmiş iş mantığı, veri dönüştürmeleri ve analizler uygulamanızı sağlar.
Şunları içeren kapsamlı geliştirme yönergeleri için:
- Geliştirme ortamınızı ayarlama
- Rust ve Python'da işleçler oluşturma
- Veri modelini ve arabirimleri anlama
- Modüllerinizi oluşturma ve test etme
Bkz . Veri akışı grafikleri için WebAssembly modülleri geliştirme.
Veri işleme iş akışlarınızı tanımlayan YAML graf tanımlarını oluşturma ve yapılandırma hakkında ayrıntılı bilgi için bkz. WebAssembly graf tanımlarını yapılandırma.
Kayıt defteri artefakt gereklilikleri
İşlem deneyimi, grafları ve modülleri bulmak ve görüntülemek için OCI yapı meta verilerini kullanır. Özel CI/CD işlem hatları oluştururken, kayıt defterleri arasında yapıtları kopyalarken veya kullanıcı arabirimindeki eksik yapıtlarla ilgili sorunları giderirken bu gereksinimleri anlamak önemlidir.
Artefakt keşfi nasıl gerçekleştirilir?
ORAS ile bir yapıtı kayıt defterine gönderdiğinizde, OCI bildirimi iki ilgili alan içerir:
- Yapılandırma medya türü: Bunun ne tür bir yapıt olduğunu tanımlar. İşlem deneyimi, grafikleri ve modülleri bulmak için bu alanda filtre uygular.
- Katman medya türü: Gerçek dosyanın (YAML veya WASM) içerik biçimini açıklar.
İşlem deneyimi, keşif için katman medya türü yerine yapılandırma medya türünü kullanır. Yapılandırma medya türü eksik veya yanlışsa, yapıt kayıt defterinde bulunur ancak kullanıcı arabiriminde görünmez.
Gerekli medya türleri
| Yapıt türü | Yapılandırma medya türü (--config veya --artifact-type) |
Katman medya türü |
|---|---|---|
| Graf tanımı | application/vnd.microsoft.aio.graph.v1+yaml |
application/yaml |
| WASM modülü | application/vnd.module.wasm.content.layer.v1+wasm |
application/wasm |
Grafik tanımları için yapılandırma medya türünü şu bayrakla --config geçirin:
oras push <REGISTRY>/my-graph:1.0.0 \
--config /dev/null:application/vnd.microsoft.aio.graph.v1+yaml \
graph.yaml:application/yaml \
--disable-path-validation
WASM modülleri için --artifact-type bayrağını kullanarak geçirin.
oras push <REGISTRY>/my-module:1.0.0 \
--artifact-type application/vnd.module.wasm.content.layer.v1+wasm \
module.wasm:application/wasm
CI/CD işlem hattında dikkat edilmesi gerekenler
Kayıt defterleri arasında yapıtları kopyalamak veya yükseltmek için otomatik işlem hatları kullanıyorsanız (örneğin, hazırlama kayıt defterinden üretim kayıt defterine), işlem hattının OCI yapıt meta verilerini koruduğunu doğrulayın. Bazı araçlar aktarım sırasında yapılandırma medya türünü kaldırır veya değiştirir ve bu da yapıtların işlem deneyiminden sessizce kaybolmasına neden olur.
Bir yapıtın aktarımdan sonra doğru meta veriye sahip olduğunu doğrulamak için bildirimini inceleyin:
oras manifest fetch <REGISTRY>/my-graph:1.0.0 | jq '{mediaType, configMediaType: .config.mediaType}'
Çıktı şunları göstermelidir:
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"configMediaType": "application/vnd.microsoft.aio.graph.v1+yaml"
}
Eğer configMediaType genel bir değer application/vnd.oci.empty.v1+json gibi gösteriyorsa, meta veri çıkarılır ve yapıtın doğru bayraklarla yeniden gönderilmesi gerekir.
İlgili içerik
- Rust ve Python'da işleç yazmak üzere WebAssembly modülleri geliştirin (uçtan uca hızlı başlangıç içerir)
- Grafik YAML yapısı ve yapılandırma parametreleri için WebAssembly graf tanımlarını yapılandırma
- DataflowGraph kaynak yapılandırması ve örnekleri için veri akışı graflarıyla WebAssembly kullanma
- IDE tabanlı geliştirme için VS Code uzantısıyla WASM modülleri oluşturma
- Kayıt defteri uç noktalarını yapılandırma