[アップデート] Amazon Quick のスペース・チャットエージェント・フローを API 経由で管理できるようになりました

[アップデート] Amazon Quick のスペース・チャットエージェント・フローを API 経由で管理できるようになりました

2026.06.03

いわさです。

Amazon Quick には、コンソール上で「スペース」「チャットエージェント」「フロー」「研究」「オートメーション」といった機能があります。
スペースはリソースをまとめたナレッジの集約先、チャットエージェントはスペースを活用した AI アシスタント、フローはワークフローの自動化を定義する機能です。

これらは今までコンソールからしか操作できず、外部のイベントをトリガーにリソースを管理したり、権限付与を自動化したい場合に手段がありませんでした。
先日のアップデートでオートメーションジョブを API から実行できるようになりましたが、スペースやエージェント、フローのライフサイクル管理についてはまだ API が提供されていない状態でした。

https://dev.classmethod.jp/articles/amazon-quick-automate-api-trigger/

先日のアップデートで、スペース・チャットエージェント・フローのパブリック API が追加されました。
コンソールの「スペース」「チャットエージェント」「フロー」の画面で行っていた作成・更新・削除・一覧取得などの操作が、API 経由でも行えるようになっています。
なお、「研究」や「オートメーション」のプロジェクト管理については今回の対象外です。

AWS CLI も対応済みです。

https://github.com/aws/aws-cli/commit/45883cb4b472892eb77c87ec9963cc1aef3cd1f2

今回こちらを確認してみたので紹介します。

AWS CLI で確認してみる

では早速 AWS CLI で各 API を試してみましょう。
今回使用した AWS CLI のバージョンは 2.34.58 です。

% aws --version
aws-cli/2.34.58 Python/3.14.5 Darwin/25.5.0 exe/arm64

スペースの操作

まず list-spaces で既存のスペース一覧を取得してみます。

% aws quicksight list-spaces \
    --aws-account-id 123456789012 \
    --profile quick-sandbox
{
    "SpaceSummaries": [
        {
            "spaceId": "9a05e524-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "spaceArn": "arn:aws:quicksight:ap-northeast-1:123456789012:space/9a05e524-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "name": "サンプルスペース",
            "description": "",
            "updatedAt": "2026-03-25T10:11:33.552000+09:00",
            "consumedSourceSize": 2380825,
            "consumedSourceDocCount": 1,
            "createdAt": "2026-03-25T10:10:24.076000+09:00",
            "resourcesCount": 0
        },
        ...
    ],
    "RequestId": "c5e3953f-328f-495f-ba8d-787c812ff224"
}

コンソールで作成済みのスペースが一覧で取得できています。
consumedSourceSizeconsumedSourceDocCount でスペース内のデータサイズやドキュメント数も確認できますね。
これまでコンソール上では各スペースの容量使用状況を横断的に把握する手段がなかったので、管理者にとってはこれだけでもかなり嬉しいのではないでしょうか。

次に create-space で新しいスペースを作成してみます。

% aws quicksight create-space \
    --aws-account-id 123456789012 \
    --space-id hoge-cli-test-space \
    --name "CLIテスト用スペース" \
    --description "AWS CLIから作成したテスト用スペース" \
    --profile quick-sandbox
{
    "spaceId": "hoge-cli-test-space",
    "spaceArn": "arn:aws:quicksight:ap-northeast-1:123456789012:space/hoge-cli-test-space",
    "RequestId": "87539c38-a8c3-4ada-9084-3fc17d2a9ade"
}

作成できました。
--space-id は任意の文字列を指定でき、--name で表示名、--description で説明を設定します。

describe-space で詳細を確認してみます。

% aws quicksight describe-space \
    --aws-account-id 123456789012 \
    --space-id hoge-cli-test-space \
    --profile quick-sandbox
{
    "spaceId": "hoge-cli-test-space",
    "spaceArn": "arn:aws:quicksight:ap-northeast-1:123456789012:space/hoge-cli-test-space",
    "Space": {
        "name": "CLIテスト用スペース",
        "description": "AWS CLIから作成したテスト用スペース",
        "resources": [],
        "createdAt": "2026-06-03T04:49:23.634000+09:00",
        "updatedAt": "2026-06-03T04:49:23.634000+09:00"
    },
    "RequestId": "2a6b7ebf-3030-4752-aa34-fa852645fb2e"
}

作成直後なので resources は空ですが、スペースの情報が正しく取得できています。

チャットエージェントの操作

list-agents でエージェント一覧を取得します。

% aws quicksight list-agents \
    --aws-account-id 123456789012 \
    --profile quick-sandbox
{
    "RequestId": "10d45a47-80d0-4645-84ae-fcf67fb4d714",
    "AgentSummaries": [
        {
            "Arn": "arn:aws:quicksight:ap-northeast-1:123456789012:agent/SYSTEM",
            "AgentId": "SYSTEM",
            "Name": "My Assistant",
            "Description": "Default generated system agent",
            "CreatedAt": "2026-03-25T08:39:04.538000+09:00",
            "UpdatedAt": "2026-03-25T08:39:04.538000+09:00"
        },
        {
            "Arn": "arn:aws:quicksight:ap-northeast-1:123456789012:agent/d04328ef-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "AgentId": "d04328ef-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "Name": "サンプルエージェント",
            "Description": "テスト用エージェント",
            "CreatedAt": "2026-03-25T10:13:43.732000+09:00",
            "UpdatedAt": "2026-03-25T10:13:43.732000+09:00"
        },
        ...
    ]
}

デフォルトのシステムエージェント(My Assistant)と、コンソールで作成済みのカスタムエージェントが確認できます。

create-agent でエージェントを CLI から作成してみます。
スペースの ARN を --spaces で指定することで、エージェントにスペースを紐付けることもできます。

% aws quicksight create-agent \
    --aws-account-id 123456789012 \
    --agent-id hoge-cli-test-agent \
    --name "CLIテストエージェント" \
    --description "AWS CLIから作成したテスト用エージェント" \
    --spaces "arn:aws:quicksight:ap-northeast-1:123456789012:space/hoge-cli-test-space" \
    --starter-prompts "こんにちは" "テストしてください" \
    --welcome-message "CLIから作成したエージェントです。" \
    --agent-lifecycle PUBLISHED \
    --profile quick-sandbox
{
    "Arn": "arn:aws:quicksight:ap-northeast-1:123456789012:agent/hoge-cli-test-agent",
    "AgentId": "hoge-cli-test-agent",
    "AgentStatus": "ACTIVE",
    "AgentName": "CLIテストエージェント",
    "RequestId": "d0c45a4a-7811-4a2d-bf83-41c0247b092b"
}

エージェントが作成され、ステータスが ACTIVE になりました。
--agent-lifecycle には PREVIEWPUBLISHED が指定可能で、PUBLISHED にするとすぐに利用可能な状態になります。
--starter-prompts でユーザーに表示する会話の開始プロンプト(最大3つ)、--welcome-message でウェルカムメッセージも設定できます。

なお、--custom-prompt-input パラメータを使うとカスタムプロンプト(Identity、Tone、ResponseLength、OutputStyle、CustomInstructions)も設定できるようです。
コンソールでエージェント作成時に設定するあのプロンプト構成を、API からも指定できるということですね。

フローの操作

list-flows でフロー一覧を取得します。

% aws quicksight list-flows \
    --aws-account-id 123456789012 \
    --profile quick-sandbox
{
    "FlowSummaryList": [
        {
            "Arn": "arn:aws:quicksight:ap-northeast-1:123456789012:flow/fecee01e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "FlowId": "fecee01e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "Name": "サンプルフロー",
            "Description": "テスト用のフローです。",
            "CreatedTime": "2026-05-25T16:43:18+09:00",
            "LastUpdatedTime": "2026-05-25T16:43:18+09:00",
            "PublishState": "DRAFT",
            "RunCount": 0,
            "UserCount": 1
        },
        ...
    ],
    "Status": 200,
    "RequestId": "a886495a-e135-4910-8999-ab78a127167f"
}

フロー一覧には PublishState(DRAFT / PUBLISHED)、RunCount(実行回数)、UserCount(利用ユーザー数)も含まれており、運用状況を把握するのに便利です。

なお、create-flow では --flow-definition パラメータにフロー定義の JSON を渡す必要があります。
公式ドキュメントによると、フロー定義のフォーマットは内部形式であり変更される可能性があるため、DescribeFlow から取得した定義をベースに利用することが推奨されているとのこと。

Always derive or depend on the flow definition from the DescribeFlow operation to ensure you are working with the latest format.

https://docs.aws.amazon.com/cli/latest/reference/quicksight/create-flow.html

リソースの削除

作成したリソースは delete-agentdelete-space で削除できます。

% aws quicksight delete-agent \
    --aws-account-id 123456789012 \
    --agent-id hoge-cli-test-agent \
    --profile quick-sandbox
{
    "RequestId": "61ae0d08-bbe9-42a3-a9bd-d624b6146973"
}
% aws quicksight delete-space \
    --aws-account-id 123456789012 \
    --space-id hoge-cli-test-space \
    --profile quick-sandbox

削除もシンプルに実行できました。

さいごに

本日は Amazon Quick のスペース・チャットエージェント・フローのパブリック API が追加されたので AWS CLI で確認してみました。

コンソールからしか操作できなかったこれらの機能が API 経由で管理できるようになったことで、イベント駆動のアーキテクチャに Quick のリソース管理を組み込めるようになりました。
個人的には list-spaces で各スペースの容量やドキュメント数を横断的に取得できるのが良いなと思いました。管理者がスペースの利用状況を把握・監視できるようになるのは大きいですね。
あとは権限系の API(UpdateSpacePermissions、UpdateAgentPermissions)もあるので、ユーザー追加時に自動で権限付与するような運用も組めそうです。

一方で、オートメーションのプロジェクト管理 API はまだ追加されていないので、こちらも今後出てくると嬉しいかも。アップデートに期待したいところです。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事