

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS CLI を使用して Amazon Keyspaces に接続する
<a name="access.cli"></a>

 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 認証情報の作成と設定](access.credentials.md)」を参照してください。

で Amazon Keyspaces で使用できるすべてのコマンドの完全なリストについては AWS CLI、[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html)」を参照してください。

**Topics**
+ [のダウンロードと設定 AWS CLI](#access.cli.installcli)
+ [Amazon Keyspaces AWS CLI での の使用](#access.cli.usingcli)

## のダウンロードと設定 AWS CLI
<a name="access.cli.installcli"></a>

 AWS CLI は で入手できます[https://aws.amazon.com/cli](https://aws.amazon.com/cli)。Windows、macOS、または Linux 上で実行できます。をダウンロードしたら AWS CLI、以下の手順に従ってインストールして設定します。

1. [AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)に移動します。

1. 「[AWS CLIのインストール](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)と[AWS CLIの設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」の手順に従ってください。

## Amazon Keyspaces AWS CLI での の使用
<a name="access.cli.usingcli"></a>

このコマンドラインは、Amazon Keyspaces オペレーション名の後にそのオペレーション用のパラメータが続く形式になっています。は、パラメータ値と JSON の短縮構文 AWS CLI をサポートしています。次の Amazon Keyspaces の例では、 AWS CLI 短縮構文を使用しています。詳細については、「 [CLI での短縮構文の使用 AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-shorthand.html)」を参照してください。

以下のコマンドは、*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\$1wards* という名前のテーブルが作成されます。テーブルのパーティションキーは `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\$1definition.zip](samples/schema_definition.zip) からスキーマ定義のサンプル JSON ファイルをダウンロードし、ファイルへのパスを書き留めて `schema_definition.json` を抽出します。この例では、スキーマ定義 JSON ファイルは現在のディレクトリにあります。さまざまなファイルパスオプションについては、「[ファイルからパラメーターを読み込む方法](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how)」を参照してください。

```
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'
```