⛅
Cloudflare APIを使いたいあなたへ
この記事 is 何?
Cloudflare APIを使いたい人のために、実際に使ったAPIのリクエスト例を逆引きでメモしておきます。
Cloudflare APIとは?
Cloudflare APIは、Cloudflareの機能をプログラムで操作するためのインターフェースです。これにより、ユーザーは以下のようなタスクを自動化できます:
- DNS管理: ドメインのDNSレコードを作成、更新、削除。
- セキュリティ設定: ファイアウォールルールの設定やDDoS防御の調整。
- キャッシュ管理: キャッシュのパージや設定の変更。
- 分析データの取得: サイトのトラフィックやセキュリティイベントのレポートを取得。
- SSL証明書の管理: SSL/TLS証明書の設定や更新。
APIはRESTfulであり、HTTPリクエストを通じて操作します。JSON形式でデータを送受信し、APIトークンまたはAPIキーを使って認証します。
これにより、開発者はCloudflareの機能を統合し、効率的にウェブサイトのパフォーマンスとセキュリティを管理できます。
以下、Cloudflare API 逆引き例
Workers Scriptの情報を取得する
curl --request GET \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json'
スクリプトの内容を取得する
curl --request GET \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/content/v2 \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json'
Settingを取得する
curl --request GET \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/script-settings \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json'
curl --request GET \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/settings \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json'
cron設定を取得する
curl --request GET \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/schedules \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json'
Workersのスクリプトのコードを更新する
curl --request PUT \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name} \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/javascript' \
--data 'addEventListener('\''fetch'\'', (event) => event.respondWith(new Response('\''OK'\'')))'
cronスケジュール設定を更新する
curl --request PUT \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/schedules \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
--data '[{"cron": "*/30 * * * *"}]'
※formリクエストでもできる
curl --request PATCH \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/settings \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: multipart/form-data' \
--form settings='{"triggers":{"crons":["0 0 * * *"]}}'
*.workers.devのデフォルトドメインを有効化する
curl --request POST \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/subdomain \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json' \
-d '{"enabled":true}'
Workersの実行ログをtailするようなWebSocketURLを取得する
curl --request POST \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/tails \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json'
Workersのサブドメインを取得する
curl --request GET \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/subdomain \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: application/json'
環境変数を設定する
curl --request PATCH \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/settings \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: multipart/form-data' \
--form 'settings={ "bindings": [ { "name": "NEW_ENV_VAR4", "type": "plain_text", "text": "value4" } ] }'
secret環境変数を設定する
curl --request PATCH \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/scripts/{script_name}/settings \
--header 'Authorization: Bearer {auth_token}' \
--header 'Content-Type: multipart/form-data' \
--form 'settings={ "bindings": [ { "name": "MASKED_ENV_VAR2", "type": "secret_text", "text": "XXXXXX2" } ] }'
以上です!
使っていて増えたら増やすかもです!
よいCloudflareライフを!
Discussion