如何在 AzureStorageCheckpointLeaseManager 中提供容器的完整路径 class
How to provide the complete path of the container in AzureStorageCheckpointLeaseManager class
我正在使用 Azure python SDK 的 EPH (EventProcessorHost) class 从 eventhub 接收事件。
它实际上使用 AzureStorageCheckpointLeaseManager
在存储帐户中进行检查点和分区。但是我看不到在哪里可以写存储帐户的完整路径。喜欢它直接在存储帐户中的指定容器内创建文件。我想给出容器内的完整路径。我在哪里可以这样做?
这是我的研究:
在AzureStorageCheckpointLeaseManager
中,有一个参数storage_blob_prefix
,应该用来设置blob前缀(意思是checkpoint 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 创建目录可以很好地工作。
我正在使用 Azure python SDK 的 EPH (EventProcessorHost) class 从 eventhub 接收事件。
它实际上使用 AzureStorageCheckpointLeaseManager
在存储帐户中进行检查点和分区。但是我看不到在哪里可以写存储帐户的完整路径。喜欢它直接在存储帐户中的指定容器内创建文件。我想给出容器内的完整路径。我在哪里可以这样做?
这是我的研究:
在AzureStorageCheckpointLeaseManager
中,有一个参数storage_blob_prefix
,应该用来设置blob前缀(意思是checkpoint 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 创建目录可以很好地工作。