如何使用会话 ID 和标记名称从 TSI 中提取值

How to pull values from TSI using session ID and tag name

我正在尝试使用 python 使用会话 ID、环境名称和标签名称从时间序列见解中提取值。 我想出的步骤如下。 我能够使用访问令牌获取会话,我可以使用访问令牌到达 TSI 环境,该环境具有我想要提取的标签值。

使用访问令牌获取会话

headers = {"Authorization": auth_token}
tsi_session = requests.Session()
tsi_session.params = params
tsi_session.headers.update(headers)

使用会话并访问 TSI 环境

tsi_environment = tsi_api_wrapper.get_tsi_environment(session=tsi_session, environment_name="some_name")
print(tsi_environment)

我能够获取环境属性。 在不使用客户端 ID 和客户端密码但仅使用上述输入的情况下获取特定标签的值的下一步是什么。

如有任何帮助,我们将不胜感激。

要调用 Azure TSI 的 REST API,您将始终需要提供 Azure AD JWT 令牌,并且始终首先需要检索令牌的身份进行身份验证。因此,无论是用户密码、客户端密码、证书等,总是需要某种秘密。 我看到你有一个授权令牌,很好。令牌的对象 ID 是应用程序的 ID 吗?我假设您正在寻找有关如何让您的 Web 应用程序促进交互式用户登录的示例,并且该应用程序将调用 TSI 作为下游 API?我相信您需要找到 python 等同于 this 样本。请注意,您的问题更多是关于获取身份验证令牌,而不是特定于 TSI 的问题,因此您可以考虑改为标记“azure-active-directory”。

这个用户列表是固定的,还是会动态变化?如果它是动态的,那么可能会有问题,因为令牌中的对象 ID 必须具有 TSI 环境的角色分配。在这种情况下,您可以改为让用户登录到应用程序,但应用程序本身可以转身并调用 TSI APIs 作为服务主体。 我发现这个 post 似乎适用于您的情况 https://towardsdatascience.com/how-to-secure-python-flask-web-apis-with-azure-ad-14b46b8abf22