在 OAK Apps 和脚本中使用 Hub API 密钥
Hub API 密钥拥有完整团队管理员权限
将 Hub API 密钥视为高机密性密钥。它们目前对您团队的资源拥有完整的管理员权限。查看更多.
- 未采用到 Luxonis Hub 且需要从 Models Registry 下载私有模型的设备
- 本地脚本
oakapp.toml、Python 源文件、JSON、YAML 或 shell 脚本。相反,使用仅运行时的注入模式,例如环境变量、.env 文件或 oakctl 登录流程。一般建议
- 切勿直接将 API 密钥提交 到仓库(例如 git 下的
.toml、.json、.yaml或.py文件)。 - 优先使用环境变量或
.env文件(通过.gitignore排除在 git 之外)。 - 除非有特定的非 Hub 需求,否则不要将团队 API 密钥添加到已采用设备或 Hub 管理的 OAK App 工作流中。
- 当确实需要密钥时,优先使用**
oakctl管理的身份验证**或本地运行时注入。 - 仅将
.env文件保留在本地,并避免共享。
模式和安全设置选项
Standalone Mode
何时无需手动传递密钥
本地和设备端设置
选项1 - 设备已采用
Command Line
1oakctl app run .选项2 - 覆盖密钥
DEPTHAI_HUB_API_KEY。在这种情况下,从本地的 .env 文件中加载值:Python
1import os
2from dotenv import load_dotenv
3
4load_dotenv(override=True)
5
6print(os.environ["DEPTHAI_HUB_API_KEY"]).env 文件中:Command Line
1cd <INSERT_PATH_TO_PROJECT>
2echo "DEPTHAI_HUB_API_KEY=<INSERT_YOUR_DEPTHAI_HUB_API_KEY>" > .env
3echo ".env" >> .gitignoreCommand Line
1oakctl app run .oakctl 将 .env 文件复制到设备上的应用环境中。您的应用仍需要自己的逻辑在运行时读取该值,例如使用 dotenv.load_dotenv()。