EWS分页的默认大小为100。如果需要,可以全局更改此值:
import exchangelib.services
exchangelib.services.CHUNK_SIZE = 25
如果您正在处理非常小或非常大的项目,这可能不是一个合理的值。例如,如果要检索和保存带有大附件的电子邮件,可以根据每个查询集更改此值:
from exchangelib import Account
a = Account(...)
qs = a.inbox.all().only('mime_content')
qs.page_size = 5
for msg in qs.iterator():
with open('%s.eml' % msg.item_id, 'w') as f:
f.write(msg.mime_content)
最后,Account类上定义的批处理方法有一个可选的chunk_size参数,您可以使用该参数在获取、创建、更新或删除项目时设置非默认页面大小。
from exchangelib import Account, Message
a = Account(...)
huge_list_of_items = [Message(...) for i in range(10000)]
return_ids = a.bulk_create(folder=a.inbox, items=huge_list_of_items, chunk_size=5)