翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Command Line Interface (AWS CLI) を使用すると、複数の AWS のサービスをコマンドラインから制御したり、スクリプトで自動化したりできます。Amazon Keyspaces では、テーブルの作成など、データ定義言語 (DDL) の操作に AWS CLI を使用できます。さらに、インフラストラクチャアズコード (IaC) サービスやツール (AWS CloudFormation や Terraform など) を使用できます。
Amazon Keyspaces で AWS CLI を使用するには、事前にアクセスキー ID とシークレットアクセスキーを取得する必要があります。詳細については、「Amazon Keyspaces の AWS 認証情報の作成と設定」を参照してください。
AWS CLI で Amazon Keyspace 向けに使用できるすべてのコマンドの完全なリストについては、「AWS CLI コマンドリファレンス
AWS CLI のダウンロードと設定
AWS CLI は、https://aws.amazon.com/cli
-
「AWS CLI のインストールとAWS CLI の設定」の手順に従ってください。
Amazon Keyspaces での AWS CLI の使用
このコマンドラインは、Amazon Keyspaces オペレーション名の後にそのオペレーション用のパラメータが続く形式になっています。AWS CLI では、パラメータ値の短縮構文および JSON をサポートしています。以下の Amazon Keyspaces 例では、AWS CLI 省略構文を使用します。詳細については、「CLI での省略構文の使用AWS」を参照してください。
以下のコマンドは、catalog という名前のキースペースを作成します。
aws keyspaces create-keyspace --keyspace-name 'catalog'
このコマンドは、リソースの Amazon リソースネーム (ARN) を出力に返します。
{ "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/keyspace/catalog/" }
キースペースカタログが存在することは、以下のコマンドで確認できます。
aws keyspaces get-keyspace --keyspace-name 'catalog'
このコマンドの出力で、以下の値が返ります。
{ "keyspaceName": "catalog", "resourceArn": "arn:aws:cassandra:us-east-1:111222333444:/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:111222333444:/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: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": "" } }
複雑なスキーマがあるテーブルを作成する場合、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 を有効にした新しいテーブルを作成する方法を説明します。このサンプルを実行するには、Amazon Keyspaces がそのキーにアクセスできるように、カスタマーマネージドAWS KMSキーのリソース ARN を独自のキーに置き換える必要があります。
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'