python - 如何在 AzureStorageCheckpointLeaseManager 类中提供容器的完整路径
问题描述
我正在使用 Azure python SDK 的 EPH (EventProcessorHost) 类来接收来自 eventthub 的事件。它实际上AzureStorageCheckpointLeaseManager
用于存储帐户中的检查点和分区。但是我看不到可以在哪里写入存储帐户的完整路径。就像它直接在存储帐户中的指定容器内创建文件一样。我想给出容器内的完整路径。我在哪里可以这样做?
解决方案
这是我的研究:
在AzureStorageCheckpointLeaseManager
中,有一个参数storage_blob_prefix
,应该用于设置 blob 前缀(表示检查点 blob 的目录)。但实际上它不起作用。
浏览源代码后azure_storage_checkpoint_manager.py
,我可以看到storage_blob_prefix实际上分配给了consumer_group_directory,但consumer_group_directory从未用于创建检查点的 blob。相反,它只是直接在容器内创建 blob。
所以解决方法是我们可以修改azure_storage_checkpoint_manager.py
, 通过使用lease_container_name + consumer_group_directory创建检查点 blob。我修改它并上传到github。按预期为检查点 blob 创建目录可以很好地工作。
推荐阅读
- android - document.exists() 从 firestore 返回 false
- dart - 如何在 Dart 2 中运行 Pub.build()
- arrays - 检查用户是否输入了正确的字符
- excel - VBA 使用 Like 运算符删除行
- reactjs - 为什么我的 thunk 在这个 fetch 语句中不起作用?
- xaml - 从 Xamarin 表单中的列表中删除项目
- c++ - 有没有办法使用类的私有枚举值作为模板参数?
- c# - 返回奇数 JSON 层次结构的集合导航属性
- amazon-web-services - AWS 弹性 IP 与公共 IP
- database - MongoDB:进行远程访问时“连接尝试失败”