Menggunakan AWS CLI - Amazon Keyspaces (untuk Apache Cassandra)

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

Menggunakan AWS CLI

Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk mengontrol beberapa layanan AWS dari baris perintah dan mengotomatiskan layanan tersebut melalui skrip. Dengan Amazon Keyspaces, Anda dapat menggunakanAWS CLI untuk operasi untuk bahasa definisi data (DDL), seperti membuat tabel. Selain itu, Anda dapat menggunakan infrastruktur sebagai kode (IAC) layanan dan alat-alat sepertiAWS CloudFormation dan Terraform.

Sebelum dapat menggunakanAWS CLI dengan Amazon Keyspaces, Anda harus mendapatkan access key ID dan secret access key key key key key key key key key key key key key key key key key key key key key key key key key key key key key key Untuk informasi selengkapnya, lihat Cara membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces.

Untuk daftar lengkap dari semua perintah yang tersedia untuk Amazon Keyspaces diAWS CLI, lihat ReferensiAWS CLI Perintah.

Mengunduh dan Mengonfigurasi AWS CLI

AWS CLITersedia dihttps://aws.amazon.com/cli. CLI berjalan di Windows, macOS, atau Linux. Setelah mengunduhAWS CLI, ikuti langkah ini untuk menginstal dan konfigurasinya:

MenggunakanAWS CLI dengan Amazon Keyspaces

Format baris perintah terdiri dari nama operasi Amazon Keyspaces diikuti oleh parameter untuk operasi tersebut. AWS CLI mendukung sintaks singkatan untuk nilai parameter, serta JSON. Contoh Amazon Keyspaces berikut menggunakan sintaksAWS CLI singkatan. Untuk informasi lebih lanjut, lihat Menggunakan sintaks singkatan denganAWS CLI.

Perintah berikut membuat keyspace dengan katalog nama.

aws keyspaces create-keyspace --keyspace-name 'catalog'

Perintah mengembalikan sumber daya Amazon Resource Name (ARN) dalam output.

{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }

Untuk mengonfirmasi bahwa katalog keyspace ada, Anda dapat menggunakan perintah berikut.

aws keyspaces get-keyspace --keyspace-name 'catalog'

Output dari perintah mengembalikan nilai-nilai berikut.

{ "keyspaceName": "catalog", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }

Perintah berikut membuat tabel dengan nama book_awards. Kunci partisi tabel terdiri dari kolomyear danaward dan kunci pengelompokan terdiri dari kolomcategory danrank, kedua kolom pengelompokan menggunakan urutan urutan menaik. (Agar mudah dibaca, perintah panjang di bagian ini dipecah menjadi baris terpisah.)

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int}, {name=category,type=text}, {name=author,type=text},{name=book_title,type=text},{name=publisher,type=text}], partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]'

Perintah ini menghasilkan output berikut ini.

{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/table/book_awards" }

Untuk mengonfirmasi metadata dan properti tabel, Anda dapat menggunakan perintah berikut ini.

aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'

Perintah ini mengembalikan output berikut.

{ "keyspaceName": "catalog", "tableName": "book_awards", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/table/book_awards", "creationTimestamp": 1645564368.628, "status": "ACTIVE", "schemaDefinition": { "allColumns": [ { "name": "year", "type": "int" }, { "name": "award", "type": "text" }, { "name": "category", "type": "text" }, { "name": "rank", "type": "int" }, { "name": "author", "type": "text" }, { "name": "book_title", "type": "text" }, { "name": "publisher", "type": "text" } ], "partitionKeys": [ { "name": "year" }, { "name": "award" } ], "clusteringKeys": [ { "name": "category", "orderBy": "ASC" }, { "name": "rank", "orderBy": "ASC" } ], "staticColumns": [] }, "capacitySpecification": { "throughputMode": "PAY_PER_REQUEST", "lastUpdateToPayPerRequestTimestamp": 1645564368.628 }, "encryptionSpecification": { "type": "AWS_OWNED_KMS_KEY" }, "pointInTimeRecovery": { "status": "DISABLED" }, "ttl": { "status": "ENABLED" }, "defaultTimeToLive": 0, "comment": { "message": "" } }

Saat membuat tabel dengan skema kompleks, akan sangat membantu untuk memuat definisi skema tabel dari file JSON. Berikut adalah contoh dari ini. Unduh contoh definisi skema file JSON dari schema_definition.zip dan ekstrakschema_definition.json, perhatikan path ke file. Dalam contoh ini, definisi skema file JSON terletak di direktori saat ini. Untuk opsi jalur file yang berbeda, lihat Cara memuat parameter dari file.

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' --schema-definition 'file://schema_definition.json'

Contoh berikut menunjukkan cara membuat tabel sederhana dengan nama MyTable dengan opsi tambahan. Perhatikan bahwa perintah dipecah menjadi baris terpisah untuk meningkatkan keterbacaan. Perintah ini menunjukkan cara membuat tabel dan:

  • mengatur mode kapasitas tabel

  • mengaktifkanoint-in-time pemulihan P untuk tabel

  • atur nilai Time to Live (TTL) default untuk tabel menjadi satu tahun

  • menambahkan dua tag untuk tabel

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --capacity-specification 'throughputMode=PROVISIONED,readCapacityUnits=5,writeCapacityUnits=5' --point-in-time-recovery 'status=ENABLED' --default-time-to-live '31536000' --tags 'key=env,value=test' 'key=dpt,value=sec'

Contoh ini menunjukkan cara membuat tabel baru yang menggunakan kunci yang dikelola pelanggan untuk enkripsi dan memiliki TTL diaktifkan untuk memungkinkan Anda mengatur tanggal kedaluwarsa untuk kolom dan baris. Untuk menjalankan sampel ini, Anda harus mengganti ARN sumber daya untuk kunci yang dikelola pelanggan denganAWS KMS kunci Anda sendiri dan memastikan Amazon Keyspaces memiliki akses ke sana.

aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' --encryption-specification 'type=CUSTOMER_MANAGED_KMS_KEY,kmsKeyIdentifier=arn:aws:kms:us-east-1:111222333444:key/11111111-2222-3333-4444-555555555555' --ttl 'status=ENABLED'