Kubernetes中经过python api访问IPFS服务

IPFS是一个分布式的全球一致性(参见 HT与分布式一致性 )文件系统,结合了BT、P2P、DHT等的优点。以前的帖子中,介绍了将IPFS部署到Kubernetes集群,以及经过portforward开放IPFS服务的方法。目前IPFS已经提供了python api,能够访问集群中的IPFS服务。python

基础服务准备

安装ipfsapi库

pip install ipfsapi

访问IPFS服务

# 引用ipfsapi
import ipfsapi

# 链接到IPFS管理服务

# 若是是集群外运行,但与集群在同一台主机。
# api为返回的客户端对象,能够使用help(api)查看其接口。
# api = ipfsapi.connect('127.0.0.1', 5001)

# 若是是在集群的pod运行,使用内部域名访问服务。
# 我在Kubernetes中的Jupyter上运行,链接成功。
api = ipfsapi.connect('ipfs2-ipfs.ipfs2', 5001)

# 获取peers的列表。
# api.swarm_peers()返回Dict对象,Key为Peers,value为列表。
PeerList = api.swarm_peers()["Peers"]

# 显示Peers的总数,会根据网络随时变化。
len(PeerList)

# 显示所有Peer的列表。
print(PeerList)

显示部分Peers的信息:网络

for i in range(3):
    print(PeerList[i])

输出以下:tcp

{'Addr': '/ip4/1.24.210.4/tcp/4001', 'Peer': 'QmZgbW9VNA4EJoxuReUmXZNszHqurheeqNQvZ671kdbYLg', 'Latency': '', 'Muxer': '', 'Streams': None}
{'Addr': '/ip4/100.34.210.63/tcp/39733', 'Peer': 'QmPRa5sovWPGhSDuEGU2cgfws5ra91bD89xTWmArJxickp', 'Latency': '', 'Muxer': '', 'Streams': None}
{'Addr': '/ip4/100.38.242.117/tcp/10238', 'Peer': 'QmXdgmKZYNmybYY33J7UFTuqFdvndEbWY2PdDcHuteqvyj', 'Latency': '', 'Muxer': '', 'Streams': None}

能够经过上面的方式查看IPFS支持的各类信息,包括添加文件、下载文件等等。分布式

调试完成后,能够写入脚本,进一步放到按期任务中调度执行(参见 ubernetes Jobs - 运行处理任务指南 )。spa

相关文章
相关标签/搜索