Operasi, permintaan, dan tanggapan berubah - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Operasi, permintaan, dan tanggapan berubah

Di v2.x SDK for Java, permintaan diteruskan ke operasi klien. Misalnya DynamoDbClient's PutItemRequest diteruskan ke DynamoDbClient.putItem operasi. Operasi ini mengembalikan respons dariLayanan AWS, seperti aPutItemResponse.

Versi 2.x dari SDK for Java memiliki perubahan berikut dari 1.x.

  • Operasi dengan beberapa halaman respons sekarang memiliki Paginator metode untuk iterasi secara otomatis atas semua item dalam respons.

  • Anda tidak dapat mengubah permintaan dan tanggapan.

  • Anda harus membuat permintaan dan tanggapan dengan metode pembangun statis alih-alih konstruktor. Misalnya, 1.x new PutItemRequest().withTableName(...) sekarangPutItemRequest.builder().tableName(...).build().

  • Operasi mendukung cara singkat untuk membuat permintaan:dynamoDbClient.putItem(request -> request.tableName(...)).

Operasi streaming

Operasi streaming seperti Amazon S3 getObject dan putObject metode sekarang mendukung non-blocking I/O. Akibatnya, permintaan dan respons PoJOS tidak lagi mengambil sebagai parameter. InputStream Sebagai gantinya, untuk permintaan sinkron objek permintaan menerimaRequestBody, yang merupakan aliran byte. Setara asinkron menerima sebuah. AsyncRequestBody

contoh putObjectoperasi Amazon S3 di 1.x
s3client.putObject(BUCKET, KEY, new File(file_path));
contoh putObjectoperasi Amazon S3 di 2.x
s3client.putObject(PutObjectRequest.builder() .bucket(BUCKET) .key(KEY) .build(), RequestBody.of(Paths.get("myfile.in")));

Secara paralel, objek respons streaming menerima a ResponseTransformer untuk klien sinkron dan untuk klien asinkron. AsyncResponseTransformer

contoh getObjectoperasi Amazon S3 di 1.x
S3Object o = s3.getObject(bucket, key); S3ObjectInputStream s3is = o.getObjectContent(); FileOutputStream fos = new FileOutputStream(new File(key));
contoh getObjectoperasi Amazon S3 di 2.x
s3client.getObject(GetObjectRequest.builder().bucket(bucket).key(key).build(), ResponseTransformer.toFile(Paths.get("key")));

Dalam SDK for Java 2.x, operasi respons streaming memiliki metode untuk memuat AsBytes respons ke dalam memori dan menyederhanakan konversi tipe dalam memori yang umum.