実装前の準備
1. Notion API キーの取得
- 1. Notion Developers にアクセス
- 2. 「新しいインテグレーション」を作成
- 3. 生成されたシークレットキーを保存
- 4. 各Notionデータベースにインテグレーションを接続
2. LINE Notify トークンの取得
- 1. LINE Notify にアクセス
- 2. 「トークンを生成」をクリック
- 3. 通知対象のグループまたはトークを選択
- 4. 生成されたトークンを保存
3. Slack Bot トークンの取得
- 1. Slack API にアクセス
- 2. 新しいアプリを作成
- 3. 「Bot Token Scopes」に
chat:writeを追加 - 4. 「Install to Workspace」をクリック
- 5. Bot User OAuth Token を保存
4. Notionデータベースの構築
前回提案した4つのデータベースを作成します:
- • [M] 商品マスター
- • [A] 出品者マスター
- • [L] 出品管理
- • [S] 在庫・配送管理
各データベースのIDを確認し、環境変数に設定します。
AWS環境構築
1. EC2インスタンスの起動
推奨設定:
- • AMI: Ubuntu 22.04 LTS
- • インスタンスタイプ: t3.micro(無料枠対象)
- • ストレージ: 30GB以上
2. セキュリティグループの設定
インバウンドルール:
- • SSH(ポート22):自分のIPアドレスのみ
アウトバウンドルール:
- • すべて許可
3. インスタンスへのログイン
ssh -i your-key.pem ubuntu@your-instance-ip
デプロイ・テスト
環境変数の設定
EC2インスタンス上で、以下の環境変数を設定します:
# ~/.bashrcに以下を追加 export NOTION_API_KEY="your-notion-api-key" export SELLERS_DB_ID="your-sellers-db-id" export LISTINGS_DB_ID="your-listings-db-id" export INVENTORY_DB_ID="your-inventory-db-id" export PRODUCTS_DB_ID="your-products-db-id" export LINE_NOTIFY_TOKEN="your-line-notify-token" export SLACK_BOT_TOKEN="your-slack-bot-token" # 設定を反映 source ~/.bashrc
スクリプトのテスト実行
# EC2インスタンス上で実行 cd ~/mercari-automation source venv/bin/activate # 出品チェックのテスト python main_automation.py listing # 在庫チェックのテスト python main_automation.py inventory
トラブルシューティング
Seleniumがタイムアウトする
原因: Chromeのバージョンとchromedriversのバージョンが一致していない
対処法: chromedriver --version で確認し、バージョンを合わせてください。
Notion APIの認証エラー
原因: Notion API キーが正しく設定されていない
対処法: API キーが正しく設定されていることを確認し、Notionデータベースのアクセス権限を確認してください。
LINE/Slack通知が送信されない
原因: トークンが正しく設定されていない、または有効期限が切れている
対処法: トークンが正しく設定されていることを確認し、有効期限を確認してください。
すべてが正常に動作している場合
CloudWatch Logsでログを確認し、エラーがないことを確認してください。定期的にシステムの動作を監視することをお勧めします。