我的Amazon S3客户端是同步还是异步?

时间:2014-02-14 11:21:23

标签: amazon-web-services amazon-s3

这是我的代码

import com.amazonaws.services.s3.AmazonS3;         import com.amazonaws.services.s3.AmazonS3Client;

    public class AwsS3Helper
    {
        private AmazonS3 s3Client;

        public AwsS3Helper()
        {
            try
            {
                AWSCredentials credentials = new PropertiesCredentials ....

                s3Client = new AmazonS3Client( credentials );

                s3Client.putObject(putObjectRequest);

我想知道的是,这是异步还是同步操作?我使用的是DynamoDB,它有2个不同的客户端,一个异步和一个同步,但我没有在Amazon SDK中看到任何其他S3Client

3 个答案:

答案 0 :(得分:5)

此声明来自文档指向同步操作。此外,它不会为结果的异步指示采取任何参数。

“Amazon S3从不存储部分对象;如果在此调用期间未抛出异常,则存储整个对象。” http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Client.html#putObject(com.amazonaws.services.s3.model.PutObjectRequest)

答案 1 :(得分:0)

答案 2 :(得分:0)

回答

它不是异步的,尽管SDK具有其他服务的异步客户端。 这也已在此处确认(https://github.com/aws/aws-sdk-java/issues/140

还请注意,在新版本的sdk(2.0)中,您具有s3的异步客户端 (https://github.com/aws/aws-sdk-java-v2)。