Membuat permintaan - AWS SDK for Kotlin

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

Membuat permintaan

Gunakan klien layanan untuk membuat permintaan ke Layanan AWS. AWS SDK for Kotlin Menyediakan Domain Specific Languages (DSLs) mengikuti pola pembuat type-safe untuk membuat permintaan. Struktur permintaan bersarang juga dapat diakses melalui permintaan mereka DSLs.

Contoh berikut menunjukkan cara membuat input operasi CreateTable Amazon DynamoDB:

val ddb = DynamoDbClient.fromEnvironment() val req = CreateTableRequest { tableName = name keySchema = listOf( KeySchemaElement { attributeName = "year" keyType = KeyType.Hash }, KeySchemaElement { attributeName = "title" keyType = KeyType.Range } ) attributeDefinitions = listOf( AttributeDefinition { attributeName = "year" attributeType = ScalarAttributeType.N }, AttributeDefinition { attributeName = "title" attributeType = ScalarAttributeType.S } ) // You can configure the `provisionedThroughput` member // by using the `ProvisionedThroughput.Builder` directly: provisionedThroughput { readCapacityUnits = 10 writeCapacityUnits = 10 } } val resp = ddb.createTable(req)

Antarmuka layanan DSL kelebihan beban

Setiap operasi non-streaming pada antarmuka klien layanan memiliki kelebihan DSL sehingga Anda tidak perlu membuat permintaan terpisah.

Contoh pembuatan bucket Amazon Simple Storage Service (Amazon S3) dengan fungsi overloaded:

s3Client.createBucket { // this: CreateBucketRequest.Builder bucket = newBucketName }

Ini setara dengan:

val request = CreateBucketRequest { // this: CreateBucketRequest.Builder bucket = newBucketName } s3client.createBucket(request)

Permintaan tanpa input yang diperlukan

Operasi yang tidak memiliki input yang diperlukan dapat dipanggil tanpa harus melewati objek permintaan. Hal ini sering dimungkinkan dengan operasi tipe daftar, seperti operasi Amazon listBuckets S3 API.

Misalnya, tiga pernyataan berikut ini setara:

s3Client.listBuckets(ListBucketsRequest { // Construct the request object directly. }) s3Client.listBuckets { // DSL builder without explicitly setting any arguments. } s3Client.listBuckets()