Я пытаюсь использовать AWS SDK для доступа к моей корзине S3 и не могу понять, что я делаю неправильно.
Мой файл проекта Leiningen содержит зависимость от необходимого пакета CLJSJS:
[cljsjs/aws-sdk-js "2.94.0-0"]
Затем мне требуется пакет в моем пространстве имен:
(ns my-ns.s3
(:require [cljsjs.aws-sdk-js]))
Я устанавливаю учетные данные:
(js/AWS.config.update #js{:credentials {:accessKeyId "..."
:secretAccessKey "..."}})
Затем я запускаю его в REPL с помощью CIDER (Iя на самом деле оцениваю все это в CIDER, используя либо C-M-x
, либо C-c C-e
; еще не связал это ни с чем):
(let [client (new js/AWS.S3)]
(.listObjects client
#js{"Bucket" "my-bucket"}
(fn [err resp]
(if err
(js/console.error "so sad"
(js/JSON.stringify err))
(js/console.log "so happy" resp)))))
=> #object[Request [object Object]]
Все, что я получаю, это ссылка на #object
(и яне знаю что с этим делать).На консоль ничего не регистрируется, и сетевой запрос не отправляется.
Есть ли какие-либо указатели на то, что я здесь делаю неправильно, или документы, которые мне, возможно, понадобится просмотреть?
Подробностидля краткости опущено:
- Я довольно рано изучаю CLJS, изучаю JS в течение шести месяцев на работе и проработал CLJ на работе в течение последних нескольких лет, а Java - несколько лет спустя.что
- Приведенный выше код находится внутри проекта
re-frame
, хотя с остальным проектом я мало что сделал - . Ранее я мог по крайней мере получить ошибки CORS.для
.listBuckets
, но теперь этот вызов также ничего не делает - я не припоминаю, чтобы что-либо значимое изменилось