翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CLI を使用して Amazon Keyspaces に接続する
AWS Command Line Interface (AWS CLI) を使用して、コマンドラインから複数の AWS サービスを制御し、スクリプトを使用して自動化できます。Amazon Keyspaces では、テーブルの作成などのデータ定義言語 (DDL) オペレーション AWS CLI に を使用できます。さらに、Infrastructure as Code (IaC) サービスと、 AWS CloudFormation や Terraform などのツールを使用できます。
Amazon Keyspaces AWS CLI で を使用する前に、アクセスキー ID とシークレットアクセスキーを取得する必要があります。詳細については、「Amazon Keyspaces の AWS 認証情報の作成と設定」を参照してください。
で Amazon Keyspaces で使用できるすべてのコマンドの完全なリストについては AWS CLI、AWS CLI 「 コマンドリファレンス
AWS CLIのダウンロードと設定
AWS CLI は で入手できますhttps://aws.amazon.com/cli
-
「AWS CLIのインストールとAWS CLIの設定」の手順に従ってください。
Amazon Keyspaces AWS CLI での の使用
このコマンドラインは、Amazon Keyspaces オペレーション名の後にそのオペレーション用のパラメータが続く形式になっています。は、パラメータ値と JSON の短縮構文 AWS CLI をサポートしています。次の Amazon Keyspaces の例では、 AWS CLI 短縮構文を使用しています。詳細については、「 CLI での短縮構文の使用 AWS」を参照してください。
以下のコマンドは、catalog という名前のキースペースを作成します。
aws keyspaces create-keyspace --keyspace-name 'catalog'
このコマンドは、リソースの Amazon リソースネーム (ARN) を出力に返します。
{ "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/" }
キースペースカタログが存在することは、以下のコマンドで確認できます。
aws keyspaces get-keyspace --keyspace-name 'catalog'
このコマンドの出力で、以下の値が返ります。
{ "keyspaceName": "catalog", "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/" }
以下のコマンドで book_wards という名前のテーブルが作成されます。テーブルのパーティションキーは year
列と award
列で構成され、クラスタリングキーは category
列と rank
列で構成され、どちらのクラスタリング列も昇順でソートされます。(読みやすくするために、このセクションの長いコマンドは、複数の行に分かれています)。
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}]'
このコマンドで、次の出力が返ります。
{ "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards" }
テーブルのメタデータとプロパティは、以下のコマンドで確認します。
aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
このコマンドで、以下の出力が返ります。
{ "keyspaceName": "catalog", "tableName": "book_awards", "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/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": "" } }
複雑なスキーマがあるテーブルを作成する場合、JSON ファイルからテーブルのスキーマ定義を読み込むと便利です。次に例を示します。schema_definition.zip からスキーマ定義のサンプル JSON ファイルをダウンロードし、ファイルへのパスを書き留めて schema_definition.json
を抽出します。この例では、スキーマ定義 JSON ファイルは現在のディレクトリにあります。さまざまなファイルパスオプションについては、「ファイルからパラメーターを読み込む方法」を参照してください。
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' --schema-definition '
file://schema_definition.json
'
次の例は、myTable という名前でオプションを追加した単純なテーブルを作成する方法です。読みやすくするために、コマンドは別々の行に分かれているので注意してください。このコマンドでは、テーブルの作成方法と次の操作を示します。
テーブルのキャパシティモードを設定する
テーブルでポイントインタイムリカバリを有効にする
テーブルのデフォルト有効期限 (TTL) 値を 1 年に設定する
テーブルに 2 つのタグを追加する
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'
この例では、暗号化にカスタマーマネージドキーを使用し、列と行の有効期限を設定できるように TTL を有効にした新しいテーブルを作成する方法を説明します。このサンプルを実行するには、カスタマーマネージド AWS KMS キーのリソース ARN を独自のキーに置き換え、Amazon Keyspaces がそのキーにアクセスできることを確認する必要があります。
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:111122223333:key/11111111-2222-3333-4444-555555555555
' --ttl 'status=ENABLED'