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/uk/2-farm/lessons/5-migrate-application-to-th.../assignment.md

70 lines
5.8 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-28T17:53:56+00:00",
"source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md",
"language_code": "uk"
}
-->
# Додати ручне управління реле
## Інструкції
Безсерверний код може бути викликаний багатьма різними способами, включаючи HTTP-запити. Ви можете використовувати HTTP-тригери, щоб додати ручне управління вашим реле, дозволяючи комусь увімкнути або вимкнути реле через веб-запит.
Для цього завдання вам потрібно додати два HTTP-тригери до вашого Functions App, щоб увімкнути та вимкнути реле, використовуючи те, що ви вже вивчили в цьому уроці для надсилання команд на пристрій.
Декілька підказок:
* Ви можете додати HTTP-тригер до вашого існуючого Functions App за допомогою наступної команди:
```sh
func new --name <trigger name> --template "HTTP trigger"
```
Замініть `<trigger name>` на назву вашого HTTP-тригера. Використовуйте щось на кшталт `relay_on` і `relay_off`.
* HTTP-тригери можуть мати контроль доступу. За замовчуванням вони вимагають функціонально-специфічний API-ключ, який потрібно передати разом із URL для виконання. Для цього завдання ви можете зняти це обмеження, щоб будь-хто міг виконати функцію. Для цього оновіть налаштування `authLevel` у файлі `function.json` для HTTP-тригерів на наступне:
```json
"authLevel": "anonymous"
```
> 💁 Ви можете дізнатися більше про цей контроль доступу в [документації про ключі доступу функцій](https://docs.microsoft.com/azure/azure-functions/functions-bindings-http-webhook-trigger?WT.mc_id=academic-17441-jabenn#authorization-keys).
* HTTP-тригери за замовчуванням підтримують запити GET і POST. Це означає, що ви можете викликати їх за допомогою вашого веб-браузера - веб-браузери виконують запити GET.
Коли ви запускаєте ваш Functions App локально, ви побачите URL тригера:
```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 у ваш браузер і натисніть `Enter`, або `Ctrl+клік` (`Cmd+клік` на macOS) на посиланні у вікні терміналу в VS Code, щоб відкрити його у вашому браузері за замовчуванням. Це виконає тригер.
> 💁 Зверніть увагу, що URL містить `/api` - HTTP-тригери за замовчуванням знаходяться в піддомені `api`.
* Коли ви розгорнете Functions App, URL HTTP-тригера буде:
`https://<functions app name>.azurewebsites.net/api/<trigger name>`
Де `<functions app name>` - це назва вашого Functions App, а `<trigger name>` - назва вашого тригера.
## Критерії оцінювання
| Критерій | Відмінно | Задовільно | Потребує покращення |
| -------- | -------- | ---------- | ------------------- |
| Створення HTTP-тригерів | Створено 2 тригери для увімкнення та вимкнення реле з відповідними назвами | Створено один тригер з відповідною назвою | Не вдалося створити жодного тригера |
| Управління реле через HTTP-тригери | Успішно підключено обидва тригери до IoT Hub і правильно керовано реле | Успішно підключено один тригер до IoT Hub і правильно керовано реле | Не вдалося підключити тригери до IoT Hub |
---
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.