You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/tr/2-farm/lessons/5-migrate-application-to-th.../assignment.md

70 lines
4.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "c24b6e4d90501c9199f2ceb6a648a337",
"translation_date": "2025-08-28T04:01:12+00:00",
"source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md",
"language_code": "tr"
}
-->
# Manuel Röle Kontrolü Ekle
## Talimatlar
Sunucusuz kod, HTTP istekleri de dahil olmak üzere birçok farklı şey tarafından tetiklenebilir. HTTP tetikleyicilerini kullanarak röle kontrolünü manuel olarak devre dışı bırakabilir veya etkinleştirebilirsiniz. Bu, bir web isteği aracılığıyla birinin röleyi açıp kapatmasına olanak tanır.
Bu görev için, cihazınıza komut göndermek için bu derste öğrendiklerinizi yeniden kullanarak, röleyi açıp kapatmak için Functions App'inize iki HTTP tetikleyici eklemeniz gerekiyor.
Bazı ipuçları:
* Mevcut Functions App'inize bir HTTP tetikleyici eklemek için aşağıdaki komutu kullanabilirsiniz:
```sh
func new --name <trigger name> --template "HTTP trigger"
```
`<trigger name>` kısmını HTTP tetikleyiciniz için bir adla değiştirin. Örneğin, `relay_on` ve `relay_off` gibi adlar kullanabilirsiniz.
* HTTP tetikleyiciler erişim kontrolüne sahip olabilir. Varsayılan olarak, çalıştırılabilmesi için URL ile birlikte işleve özgü bir API anahtarı geçirilmesi gerekir. Bu görev için, bu kısıtlamayı kaldırabilir ve herkesin işlevi çalıştırabilmesini sağlayabilirsiniz. Bunu yapmak için, HTTP tetikleyiciler için `function.json` dosyasındaki `authLevel` ayarını aşağıdaki şekilde güncelleyin:
```json
"authLevel": "anonymous"
```
> 💁 Bu erişim kontrolü hakkında daha fazla bilgiyi [Function access keys documentation](https://docs.microsoft.com/azure/azure-functions/functions-bindings-http-webhook-trigger?WT.mc_id=academic-17441-jabenn#authorization-keys) adresinde okuyabilirsiniz.
* HTTP tetikleyiciler varsayılan olarak GET ve POST isteklerini destekler. Bu, onları web tarayıcınızı kullanarak çağırabileceğiniz anlamına gelir - web tarayıcıları GET istekleri yapar.
Functions App'inizi yerel olarak çalıştırdığınızda, tetikleyicinin URL'sini göreceksiniz:
```output
Functions:
relay_off: [GET,POST] http://localhost:7071/api/relay_off
relay_on: [GET,POST] http://localhost:7071/api/relay_on
iot-hub-trigger: eventHubTrigger
```
URL'yi tarayıcınıza yapıştırın ve `enter` tuşuna basın veya VS Code'daki terminal penceresindeki bağlantıya `Ctrl+click` (macOS'ta `Cmd+click`) yaparak varsayılan tarayıcınızda açın. Bu, tetikleyiciyi çalıştıracaktır.
> 💁 URL'nin `/api` içerdiğine dikkat edin - HTTP tetikleyiciler varsayılan olarak `api` alt alanında bulunur.
* Functions App'i dağıttığınızda, HTTP tetikleyici URL'si şu şekilde olacaktır:
`https://<functions app name>.azurewebsites.net/api/<trigger name>`
Burada `<functions app name>` Functions App'inizin adı, `<trigger name>` ise tetikleyicinizin adıdır.
## Değerlendirme Kriterleri
| Kriter | Örnek Çalışma | Yeterli | Geliştirmeye Açık |
| -------- | --------- | -------- | ----------------- |
| HTTP tetikleyiciler oluşturma | Röleyi açıp kapatmak için uygun adlara sahip 2 tetikleyici oluşturuldu | Uygun bir ada sahip bir tetikleyici oluşturuldu | Hiçbir tetikleyici oluşturulamadı |
| HTTP tetikleyicilerden röleyi kontrol etme | Her iki tetikleyici de IoT Hub'a bağlanarak röleyi uygun şekilde kontrol edebildi | Bir tetikleyici IoT Hub'a bağlanarak röleyi uygun şekilde kontrol edebildi | Tetikleyiciler IoT Hub'a bağlanamadı |
---
**Feragatname**:
Bu belge, AI çeviri hizmeti [Co-op Translator](https://github.com/Azure/co-op-translator) kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.