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

70 lines
3.5 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-26T14:40:36+00:00",
"source_file": "2-farm/lessons/5-migrate-application-to-the-cloud/assignment.md",
"language_code": "hk"
}
-->
# 添加手動繼電器控制
## 指示
無伺服器代碼可以由多種方式觸發,包括 HTTP 請求。你可以使用 HTTP 觸發器為你的繼電器控制添加手動覆蓋功能,讓使用者可以通過網絡請求開啟或關閉繼電器。
在這個任務中,你需要為你的 Functions App 添加兩個 HTTP 觸發器,用於開啟和關閉繼電器,並重用你在本課中學到的知識來向設備發送指令。
一些提示:
* 你可以使用以下命令為現有的 Functions App 添加 HTTP 觸發器:
```sh
func new --name <trigger name> --template "HTTP trigger"
```
`<trigger name>` 替換為你的 HTTP 觸發器的名稱。可以使用類似 `relay_on``relay_off` 的名稱。
* HTTP 觸發器可以設置訪問控制。默認情況下,它們需要在 URL 中傳遞特定於函數的 API 密鑰才能運行。對於這個任務,你可以移除這個限制,讓任何人都可以運行該函數。為此,更新 HTTP 觸發器的 `function.json` 文件中的 `authLevel` 設置為以下內容:
```json
"authLevel": "anonymous"
```
> 💁 你可以在 [Function access keys documentation](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 粘貼到瀏覽器中並按 `return`,或者在 VS Code 的終端窗口中 `Ctrl+點擊`macOS 上為 `Cmd+點擊`)鏈接以在默認瀏覽器中打開。這將運行觸發器。
> 💁 注意 URL 中包含 `/api`——HTTP 觸發器默認位於 `api` 子域中。
* 當你部署 Functions App 時HTTP 觸發器的 URL 將是:
`https://<functions app name>.azurewebsites.net/api/<trigger name>`
其中 `<functions app name>` 是你的 Functions App 的名稱,`<trigger name>` 是你的觸發器的名稱。
## 評分標準
| 評分標準 | 優秀 | 合格 | 需要改進 |
| -------- | --------- | -------- | ----------------- |
| 創建 HTTP 觸發器 | 創建了兩個觸發器來開啟和關閉繼電器,並使用了適當的名稱 | 創建了一個具有適當名稱的觸發器 | 未能創建任何觸發器 |
| 從 HTTP 觸發器控制繼電器 | 能夠將兩個觸發器連接到 IoT Hub 並適當地控制繼電器 | 能夠將一個觸發器連接到 IoT Hub 並適當地控制繼電器 | 未能將觸發器連接到 IoT Hub |
---
**免責聲明**
此文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解讀概不負責。