在 OAK Apps 和脚本中使用 Hub API 密钥
在 OAK Apps 和脚本中使用 Hub API 密钥
Hub API 密钥具有完整的团队管理员访问权限
请将 Hub API 密钥视为高度敏感的秘密。它们目前对您团队的资源拥有完整的管理员访问权限。了解更多。
- 需要从模型注册表中下载私有模型的未接入 Luxonis Hub 的设备
- 本地脚本
oakapp.toml、Python 源文件、JSON、YAML 或 shell 脚本。而是使用仅在运行时注入的模式,例如环境变量、.env 文件或 oakctl 登录流程。一般建议
- 切勿将 API 密钥直接提交到存储库(例如,git 下的
.toml、.json、.yaml或.py文件)。 - 优先使用环境变量或
.env文件(通过.gitignore排除在 git 之外)。 - 除非有特定的非 Hub 需求,否则不要将团队 API 密钥添加到已接入设备或 Hub 管理的 OAK App 工作流中。
- 如果确实需要密钥,请优先使用**
oakctl管理的身份验证**或本地运行时注入。 - 仅将
.env文件保留在本地,并避免共享它们。
模式和安全设置选项
独立模式
当您不需要手动传递密钥时
本地和设备端设置
选项 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()。