AI Page Discovery — I/O定義
概要
ホームページから公開ページを探索するか、サイトマップからURLを直接取得します。探索ではページのインポートやFigmaレイヤーの生成は行いません。ユーザーがパスツリーからURLを選択してからPage Importバッチを作成します。
入力
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| discovery_id | string | Yes | UUID形式のジョブID |
| organization_id | integer | Yes | 組織ID |
| project_id | integer | Yes | プロジェクトID |
| nonce | string | Yes | ジョブの識別値 |
| attempt | integer | Yes | 1 |
| url | string | Yes | 公開HTTP(S)ホームページまたは.xmlサイトマップURL |
| max_pages | integer | No | 1~1,000、デフォルト200 |
| max_depth | integer | No | 0~5、デフォルト3 |
| include_paths | string[] | No | 結果に含めるパスのプレフィックス |
| exclude_paths | string[] | No | 探索対象から除外するパスのプレフィックス |
| group_id | string | Yes | オリジンのSHA-256、FIFOメッセージグループ |
出力
S3の{organization_id}/{project_id}/page-discovery/{discovery_id}/にチェックポイントとプレビューを保存します。プレビューにはstatus(0処理中、1完了、2失敗)、pages(url、title、depth)、groups、warnings、truncated、updated_atを含みます。各グループにはID、ラベル、代表URL、メンバーURL、信頼度、分類理由を含みます。認証済みバックエンド経由で取得し、プラグインからS3を直接参照しません。共有のbatch、batch_itemを使用し、新しいテーブルやDocumentDBコレクションは追加しません。
処理
- URL、探索オプション、ジョブ識別値を検証します。
- ホームページの場合はrobots.txtと同一オリジンのリンクを探索します。
.xmlサイトマップの場合は、記載ページへアクセスせずにサイトマップとサイトマップインデックスのURLを取得します。 - プライベートIP、認証情報付きURL、非対応ポート、外部リダイレクト、操作用リンク、ダウンロードを除外します。接続先を検証済み公開IPに固定します。
- フラグメントとトラッキングパラメータを除去し、その他のクエリを維持します。
- 一定件数ごとに進捗を保存し、残りがあればSQSへ継続メッセージを送信します。同一オリジンはFIFOで直列化し、リクエスト間隔は1秒以上かつrobots.txtの指定に従います。
- 正確な親URLパスでページを分類します。分類ではページHTMLやAIを使用しません。
- URL選択用のプレビューを公開します。プラグインはURLをパスツリーで表示し、ページを自動選択しません。
実行時設定
| 変数 | 説明 |
|---|---|
| RESULT_BUCKET | チェックポイントとプレビューのS3バケット |
| DISCOVERY_QUEUE_URL | 継続用FIFOキュー |
| MAX_CHUNK_PAGES | 1回の実行で処理する最大件数、デフォルト10 |
制限
- JavaScriptナビゲーション、認証、フォーム送信、アセットのダウンロードは行いません。
- リダイレクトとサイトマップを含め、同一オリジンのみ対象です。
- 探索URLは最大1,000件、候補は1,000件、サイトマップは20件です。Page Importは選択したURL最大200件のままです。
- ホームページ探索ではrobots.txtの取得に失敗した場合に停止します。サイトマップURLの直接入力ではrobots.txtや記載ページへアクセスしません。