Azure Cosmos DB Python SDK:使用检查点从变更Feed中查询项目?

时间:2019-03-07 09:05:31

标签: python-3.x azure-cosmosdb

CosmosDB的新手...请说明一下

@Matias Quaranta-感谢您提供示例

从官方样本中看来,可以从开始或在特定时间点查询变更Feed。

options [“ startFromBeginning”] = True 要么 options [“ startTime”] =时间

QueryItemsChangeFeed方法还支持哪些其他选项? 是否支持从分区中的特定检查点查询?

2 个答案:

答案 0 :(得分:0)

很高兴样品很有用。从理论上讲,“变更检查”中不存在“检查点”的概念。基本上,“检查点”是您存储每次执行后最后处理的批处理或连续性,以防进程停止。

当该过程再次开始时,您可以使用存储的延续并使用它。

这就是Change Feed Processor Library和我们的Azure Cosmos DB Trigger for Azure Functions内部为您所做的事情。

要在python中传递延续,可以使用import Document, { Head, Main, NextScript } from 'next/document' import { ServerStyleSheet, injectGlobal } from 'styled-components' import styledNormalize from 'styled-normalize' import flush from 'styled-jsx/server' injectGlobal` ${styledNormalize} ` export default class MyDocument extends Document { static getInitialProps({ renderPage }) { const sheet = new ServerStyleSheet() const page = renderPage(App => props => sheet.collectStyles(<App {...props} />) ) const styleTags = sheet.getStyleElement() const styles = flush() return { ...page, styleTags, styles } } render() { return ( <html> <Head> {this.props.styleTags} </Head> <body> <Main /> <NextScript /> </body> </html> ) } } ,并且应该能够从import Document, { Head, Main, NextScript } from 'next/document' import { ServerStyleSheet, injectGlobal } from 'styled-components' import styledNormalize from 'styled-normalize' import flush from 'styled-jsx/server' injectGlobal` ${styledNormalize} ` export default class MyDocument extends Document { static async getInitialProps(ctx) { const sheet = new ServerStyleSheet() const page = ctx.renderPage(App => props => sheet.collectStyles(<App {...props} />) ) const initialProps = await Document.getInitialProps(ctx) const styleTags = sheet.getStyleElement() const styles = flush() return { ...initialProps, ...page, styles, styleTags } } render() { return ( <html> <Head> {this.props.styleTags} </Head> <body> <Main /> <NextScript /> </body> </html> ) } } 的响应标头中获取它们。

答案 1 :(得分:0)

请参考示例代码ReadFeedForTime,我尝试了选项[“ startTime”]。但这不起作用,响应与从Beginning开始的文档列表相同。