使用 Amazonica 从 S3 获取对象时如何设置超时?

Veb*_*osa 3 clojure amazon-s3 amazon-web-services amazonica

我使用Amazonica从 S3 下载对象:

(require '[amazonica.aws.s3 :as s3])

(s3/get-object "my-bucket" "foo")
Run Code Online (Sandbox Code Playgroud)

但是,有时下载会挂起。如何设置超时时间?

Veb*_*osa 5

s3/get-object 也可以采用关键字参数:

(require '[amazonica.aws.s3 :as s3])

(s3/get-object :bucket-name "my-bucket" :key "foo")
Run Code Online (Sandbox Code Playgroud)

您可以为GetObjectRequest上的任何访问器添加其他关键字参数。在这种情况下,您希望SdkClientExecutionTimeout调用该方法,因此请执行以下操作:

(s3/get-object :bucket-name "my-bucket" :key "foo"
               :sdk-client-execution-timeout 10000)
Run Code Online (Sandbox Code Playgroud)