4
我試圖在我的應用程序中使用erlcloud存儲庫進行S3上傳。作爲測試,我試圖讓它通過iex
控制檯列出值:使用erlcloud列出S3存儲桶時發生超時錯誤
iex(4)> s3 = :erlcloud_s3.new("KEY_ID", "SECRET_KEY")
...
iex(5)> :erlcloud_s3.list_buckets(s3)
** (ErlangError) erlang error: {:aws_error, {:socket_error, :timeout}}
(erlcloud) src/erlcloud_s3.erl:909: :erlcloud_s3.s3_request/8
(erlcloud) src/erlcloud_s3.erl:893: :erlcloud_s3.s3_xml_request/8
(erlcloud) src/erlcloud_s3.erl:238: :erlcloud_s3.list_buckets/1
我檢查了inets
,ssl
和erlcoud
都開始了,我知道的憑據做工精細,因爲我用irb
中的Ruby庫以類似的方式測試了它們。
我試着用更長的超時時間對它進行配置,但無論我設置了多高,我仍然得到這個錯誤。
任何想法?或者我可以採取的方法來調試呢?
好吧,剛剛獲得了我見過的最糟糕的錯誤消息的獎項。謝謝:)你甚至想過如何嘗試? –
一般來說,在處理Erlang庫時,通過「strings」單引號。我說_strings_完全是因爲單引號傳遞了一個char列表,而雙引號傳遞了一個字符串,並且您通常希望將一個char列表傳遞給Erlang。 –
如上所述,使用erlang庫時通常會使用單引號。在這種情況下,相同的API先前在我的環境中使用默認配置(從環境變量獲取密鑰和祕密)。然後我可以找出這個錯誤情況和以前的工作情況之間的區別。 – parroty