[英]Batch Requests into ArangoDB failing
我正在嘗試將成千上萬的記錄導入Arango。 我嘗試使用以下網址中介紹的Arango的批量/批量導入功能: https ://docs.arangodb.com/3.0/HTTP/BatchRequest/index.html結合使用PUT和POST請求來插入新記錄,或更新現有記錄(如果已存在)。 我的最終解決方案需要從Python腳本運行,大概使用pyArango。 我創建了一個示例HTTP請求
POST http://<arango_server>:8529/_db/myDB/_api/batch
看起來類似於以下內容:
Content-Type: multipart/form-data; boundary=P1X7QNCB
Content-Length: <calculated by python or REST Client>
Authorization: Basic <calculated by python requests session or REST Client>
--P1X7QNCB
Content-type: application/x-arango-batchpart
Content-Id: 1
POST /_api/document/model/foo HTTP/1.1
{"data": "bar"}
--P1X7QNCB
我無法在Arango中成功處理此問題。 我嘗試使用類似於以下內容的python(即使上面的代碼近似輸入有錯字,也會生成上述請求):
url = "/_api/document/" + collection + "/" + nodeKey + " HTTP/1.1"
postString = ("--P1X7QNCB\r\n"
"Content-type: application/x-arango-batchpart\r\n"
"Content-Id: " + str(counter) + "\r\n"
"\r\n"
"\r\n"
"PUT " + url+ "\r\n\r\n\r\n" + json.dumps(nodeData) + "\r\n")
batchHeaders = {"Content-Type": "multipart/form-data; boundary=P1X7QNCB"}
response = self.db.connection.session.post(self.db.URL + "/batch", data=postString, headers=batchHeaders)
並在我手動發布內容的地方使用REST客戶端。 在這兩種情況下,我都會收到以下響應:
{"error":true,"errorMessage":"invalid multipart message received","code":400,"errorNum":400}
並在arango日志文件中記錄以下內容:
WARNING received a corrupted multipart message
對於任何人來說,我做錯了什么是顯而易見的,還是我可以在哪里查找有關ArangoDB為什么拒絕請求的更多詳細信息?
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.