Microsoft Graph SDK:在一个批处理请求中将执行多少个步骤



目前,我正在使用MS Graph SDK在一些业务逻辑之后从一个文件夹检索和移动消息到另一个文件夹。为了移动消息/电子邮件,我使用了批处理请求功能。通过尝试在批处理请求中移动6条消息,只有其中4条将被处理和移动。这2条消息留在源文件夹中。在我再次触发该过程之后,剩余的2条消息已被移动到目标文件夹。

以下是将请求步骤添加到批处理请求的代码(假设在idsOfMessagesToMove列表中有6个元素):
for (String idOfMessageToMove : idsOfMessagesToMove) {
MessageMoveRequest messageMoveRequest = this.graphServiceClient.users(EMAIL_ACCOUNT)
.mailFolders(MailboxFolderEnum.MAILBOX_FOLDER_INBOX.getFolderName()).messages(idOfMessageToMove)
.move(MessageMoveParameterSet.newBuilder().withDestinationId(mailFolderDestination.getFolderName())
.withDestinationId(mailFolderDestination.getFolderName()).build()).buildRequest();
messageMoveRequest.addHeader("Content-Type", "application/json");
batchRequestContent.addBatchRequestStep(messageMoveRequest, HttpMethod.POST, messageMoveRequest.body);
}

有人能确认在批处理请求中总是只执行4个步骤吗?如果不是,你知道为什么会发生这种情况吗?

提前感谢。

最好的,Ka-Ming

这里…这个链接提到了试图在同一个邮箱上执行操作的4个并发请求的限制,以及如果超过该限制,您将得到的并发错误:

邮箱并发限制问题

最新更新