Docker部署的CKAN无法添加datapusher-plus,需实现XLSX数据入库
Docker化CKAN部署datapusher-plus插件实现XLSX数据存入Datastore方案
操作步骤
1. 配置CKAN容器,安装插件并修改配置
- 进入运行中的CKAN容器:
docker exec -it <你的CKAN容器名称> bash - 安装datapusher-plus包:
pip install datapusher-plus - 编辑CKAN配置文件(默认路径为
/etc/ckan/default/ckan.ini):- 在
ckan.plugins配置项末尾添加datapusher-plus,确保插件列表用空格分隔 - 确认
ckan.datapusher.url指向datapusher服务地址(通常为http://datapusher:8800/,根据你的docker-compose网络配置调整) - 添加XLSX格式支持:
ckan.datapusher.allowed_extensions = csv xls xlsx
- 在
2. 确保Datapusher服务支持XLSX解析
如果部署中使用独立的datapusher容器,需确保其支持XLSX文件处理:
- 方法一:替换datapusher镜像为datapusher-plus官方镜像:
修改docker-compose.yml中datapusher服务的image字段为dathere/datapusher-plus - 方法二:在现有datapusher容器中安装XLSX依赖:
docker exec -it <你的datapusher容器名称> bash pip install openpyxl
3. 重启服务生效
退出容器后,重启CKAN和datapusher服务:
docker-compose restart ckan datapusher
4. 验证功能
- 上传XLSX格式的资源到CKAN数据集
- 进入资源详情页,点击「导入到数据存储」按钮
- 等待处理完成后,即可在界面查看解析后的数据表,确认数据已成功存入Datastore
常见问题排查
- 网络连通性:检查CKAN容器与datapusher容器是否在同一docker网络,能否互相访问
- 依赖缺失:如果插件安装失败,手动安装依赖包
openpyxl、ckanapi - 配置错误:确认
ckan.ini中插件名称拼写正确,datapusher地址无误
内容的提问来源于stack exchange,提问作者Dimitri AIGLE
相关产品推荐
相关产品推荐

