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

相關文章
相關標籤/搜索