我正在構建將文件存儲到FIWARE對象存儲中的應用程序。 我不太明白什麼是將文件存儲到存儲的正確方法。將數據存儲在FIWARE對象存儲中
下面從Object Storage - User and Programmers Guide採取的代碼Python代碼片段展示了2種方式做這件事的:
def store_text(token, auth, container_name, object_name, object_text):
headers = {"X-Auth-Token": token}
# 1. version
#body = '{"mimetype":"text/plain", "metadata":{}, "value" : "' + object_text + '"}'
# 2. version
body = object_text
url = auth + "/" + container_name + "/" + object_name
return swift_request('PUT', url, headers, body)
的1版混淆了我,因爲當我第一次看到的唯一的Node.js模塊(回購:fiware-object-storage)與Object Storage一起使用,似乎使用1.版本。由於該模塊正在調用舊的(v.1.1)API版本,而不是推測最新的(v.2.0),所以引用python示例時,不確定這是否是過時的版本。
當我與模塊打得比較,意識到它沒有工作,它的代碼是一團糟。所以我分叉了這個項目,很快就明白了,我將需要從頭開始重新編寫它,並將使用指南中提到的上述python示例作爲參考。 Link to my repo。
在寫這個時,唯一沒有實現的方法是對象存儲(PUT)和對象獲取(GET)。
有大約我送到[email protected]對象存儲一些另外的問題,但沒有聽到任何回來,要求他們在這裏。
沒有太多的編寫API庫的經驗。 我是否需要擔心驗證令牌過期?我認爲每次我們與存儲進行交互時都不需要進行新的身份驗證。當服務器啓動時(我們創建一個實例),它在內部保存它,認證應該發生一次。 我是否應該實施某種刷新令牌的機制?
租戶ID是否更改?從下面的引用假設獲得一個租戶我只是一次處理,然後你可以在配置中使用它來減少身份驗證呼叫。
有效令牌,需要訪問一個對象存儲。本節 描述瞭如何使用與OpenStack Keystone兼容的身份管理系統 獲取有效令牌。如果已知 用戶名,密碼和租戶詳細信息,則只需要步驟3是 。源
在認證過程中獲取的租戶應該怎麼選擇「右」之一,當?現在我只是採取第一個類似的例子代碼。
確實對象存儲容器只屬於一個區域嗎?只調用什麼版本2.
Renārs嗨,我是WireCloud的主要開發者,我是讀你的問題,因爲你所用的'fiware,wirecloud '標籤,但我沒有看到任何關係。我建議你刪除'fiware-wirecloud'標籤;-) –
對不起,現在修復它。 –