我正在使用azure Graph api对azure Active directory用户和组执行创建删除操作。
以下是我使用的API
User : https://graph.microsoft.com/v1.0/users
Group : https://graph.microsoft.com/v1.0/groups
我正在使用PublicClientApplication和aqureToken方法为我的应用程序获取令牌,其中UserNamePasswordParameters+令牌使用acquireTokenSilently方法从缓存中获取。(MSAL4J库(
我正在连续运行应用程序大约50小时
但在40-45小时后,api为用户和组提供异常/响应,如:
Resource 'Random_ObjectID' does not exist or one of its queried reference-property objects are not present.
附加服务器端审核日志以供参考
有人能帮我做这个吗?
谢谢。
请检查错误的可能原因:
- 问题可能是由于请求占用时的节流很长时间,或者如果你试图频繁打补丁,可能如果您的客户端应用程序等待的时间不够长操作/复制完成
注意:首先,请确保组id和用户id有效,并且不是错误交换的,请检查在特定查询中是否需要使用它们。
-
此外,使用v1.0版本可能不支持某些api端点。在这种情况下,请与Beta版本核实。
-
请尝试
retry-after
逻辑以使重试时间呈指数增长如在Microsoft Graph节流g|Microsoft文档
此外,当存在许多用户对象时,使用where或filter对象有时可能会花费太多时间。
请检查通过包装Try and Catch块来处理错误并在不使用quey过滤器的情况下使用所执行的操作,如下所示:
try
{
//operations like Get-AzureAdUser -ObjectId $UPN rather using the query filters
}
catch(Exception ex)
{
throw ex;
}
在将对象传递给ObjectId参数的某些情况下,此错误很常见。相反,在传递ObjectId时尝试使用对象的DomainName。也请检查一下。
参考
- 身份验证-资源"此处的GUID值"不存在…-堆栈溢出
- Microsoft Graph的已知问题-Microsoft Graph | Microsoft文档