如何关闭AWS S3客户端连接

vis*_*isc 4 java amazon-web-services

关闭aws s3客户端连接的协议是什么?

@Override
public boolean connect() {

    if (connected)
        return false;
    else
        s3Client = new AmazonS3Client(credentials);
    return true;
}

@Override
public boolean diconnect() {
    // what should take place here? 
    return false;
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 11

您不需要关闭"连接",因为在使用AmazonS3Client时不存在与S3的连续连接.

AWS java SDK将REST请求发送到S3,其中REST是无状态的,对于每个REST请求,它将使用用户凭据信息进行签名,因此它不需要长连接(例如会话等).

  • 在 aws-sdk v3 中不再如此。v3 `S3Client` 将保持与 S3 的保持活动连接,直到您调用 `.destroy()` (2认同)

Dav*_*erg 5

在文档中,有一个可选的方法称为“ shutdown

关闭此客户端对象,释放所有可能保持打开状态的资源。这是一个可选方法,不希望调用者调用它,但是如果他们想显式释放任何打开的资源,则可以调用它。客户端关闭后,不应再使用该客户端发出其他请求。

例如

@Override
public boolean disconnect() {
    s3Client.shutdown()
    return false;
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这是在“AmazonWebServiceClient”接口中定义的。如果您有“AmazonS3”实例(由“AmazonS3ClientBuilder”返回的接口),则此方法不可用。 (2认同)