#python #json #go #cloudflare #cloudflare-workers
#python #json #Вперед #cloudflare #cloudflare-рабочие
Вопрос:
Пишу bulk PUT
для CF Workers KV на Python и не могу понять, что здесь не так. Насколько я могу судить, мой JSON действителен.
Вот ошибка, которую я получаю
Ошибка
{ "result": null, "success": false, "errors": [ { "code": 10012, "message": "could not parse array of key/value objects from request body: 'could not unmarshal KVPair into intermediate struct: 'json: cannot unmarshal object into Go struct field kvPairJSON.value of type string''" } ], "messages": [] }
Полезная нагрузка
[{ “key”:“aals”, “value”:{ “sup”:{ “firo”:“aals”, “mean”:“aals”, “alpha”:[]}}}]
Код
response = requests.put(f"{CF_BASEURL}/bulk", headers=headers, data=json.dumps(payload))
Любые идеи приветствуются. Я уверен, что это важный момент…
Ответ №1:
Это бесполезное сообщение об ошибке, извините за это. Значения Workers KV представляют собой простые байты, которые при необходимости могут быть десериализованы в Worker (например, проанализированы как JSON). Я думаю, что то, что вы хотите сделать, это просто,
import json
payload = [{ "key": "aals", "value": json.dumps('{"sup": {"firo": "aals", "mean": "aals", "alpha": []}}')}]
Так что ваше значение кодируется как строка. И затем в вашем рабочем вы можете,
let jsonValue = KV_NAMESPACE.get("aals", "json");
Комментарии:
1. Спасибо! Это сделало свое дело. Да, не самая полезная ошибка =)