Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

マルチパートアップロードのメタデータ

最終更新 Markdown で表示Agent セットアップ

Workers Script Upload API または Version Upload API を直接使う場合、multipart/form-data のアップロードでは metadata パートの指定が必要です。このメタデータは Worker の設定を JSON 形式で定義します。wrangler.toml ファイル に相当します。

metadata の例

{
	"main_module": "main.js",
	"bindings": [
		{
			"type": "plain_text",
			"name": "MESSAGE",
			"text": "Hello, world!"
		}
	],
	"compatibility_date": "2021-09-14"
}

属性

次の属性はトップレベルで設定できます。

  • main_module string 必須

    • 実行される Worker のモジュールエントリポイントを含むパート名です。例: main.js
  • assets object 任意

    • Worker の アセット 設定です。
    • config object 任意
      • html_handling は、HTML コンテンツへのリクエストのリダイレクトと書き換えを決めます。
      • not_found_handling は、リクエストが静的アセットに一致しないときのレスポンスを決めます。
    • jwt フィールドは、アセットを Worker に添付することを許可するトークンです。
  • keep_assets boolean 任意

    • 以前アップロードした Worker バージョンのアセットを保持するかどうかを指定します。完了トークンの代わりに使います。
  • bindings array[object] 任意

  • placement object 任意

    • Worker の Smart Placement オブジェクトです。
    • mode フィールドは、自動配置用の smart のみをサポートします。
  • compatibility_date string 任意

    • Workers ランタイムの対象サポートを示す Compatibility Date です。この日付より後に入った、後方互換性のないランタイム修正はこの Worker に影響しません。compatibility_date の設定を強く推奨します。API 経由のアップロードで未設定の場合、フラグが有効になる前の最も古い互換日(2021-11-02)がデフォルトになります。
  • compatibility_flags array[string] 任意

    • Workers ランタイムの特定機能を有効または無効にする Compatibility Flags です。今後の機能を有効にしたり、compatibility_date に含まれない個別の変更をオプトイン / オプトアウトしたりするときに使います。

すぐにデプロイするアップロード では、次の 追加 属性をトップレベルで設定できます。

  • migrations array[object] 任意

  • logpush boolean 任意

    • この Worker で Logpush を有効にするかどうかです。
  • tail_consumers array[object] 任意

    • 対象 Worker のログを消費する Tail Workers です。
  • tags array[string] 任意

    • この Worker のタグとして使う文字列のリストです。
  • annotations object 任意

    • このアップロードで作成される Worker バージョンのアノテーションオブジェクトです。Version Upload API でも利用できます。
    • workers/message は、バージョン用のカスタムメッセージを指定します。
    • workers/tag は、バージョン用のカスタム識別子を指定します。

追加属性: Version Upload API

バージョンアップロード では、次の 追加 属性をトップレベルで設定できます。

  • annotations object 任意
    • Worker バージョン固有のアノテーションオブジェクトです。
    • workers/message は、バージョン用のカスタムメッセージを指定します。
    • workers/tag は、バージョン用のカスタム識別子を指定します。
    • workers/alias は、このバージョン用のカスタムエイリアスを指定します。

バインディング

Workers は バインディング を使って、Cloudflare Developer Platform 上のリソースと連携できます。metadata パートにバインディングを追加する方法は、次の JSON 例を参照してください。

{
	"bindings": [
		{
			"type": "ai",
			"name": "<VARIABLE_NAME>"
		},
		{
			"type": "analytics_engine",
			"name": "<VARIABLE_NAME>",
			"dataset": "<DATASET>"
		},
		{
			"type": "assets",
			"name": "<VARIABLE_NAME>"
		},
		{
			"type": "browser_rendering",
			"name": "<VARIABLE_NAME>"
		},
		{
			"type": "d1",
			"name": "<VARIABLE_NAME>",
			"id": "<D1_ID>"
		},
		{
			"type": "durable_object_namespace",
			"name": "<VARIABLE_NAME>",
			"class_name": "<DO_CLASS_NAME>"
		},
		{
			"type": "hyperdrive",
			"name": "<VARIABLE_NAME>",
			"id": "<HYPERDRIVE_ID>"
		},
		{
			"type": "kv_namespace",
			"name": "<VARIABLE_NAME>",
			"namespace_id": "<KV_ID>"
		},
		{
			"type": "mtls_certificate",
			"name": "<VARIABLE_NAME>",
			"certificate_id": "<MTLS_CERTIFICATE_ID>"
		},
		{
			"type": "plain_text",
			"name": "<VARIABLE_NAME>",
			"text": "<VARIABLE_VALUE>"
		},
		{
			"type": "queue",
			"name": "<VARIABLE_NAME>",
			"queue_name": "<QUEUE_NAME>"
		},
		{
			"type": "r2_bucket",
			"name": "<VARIABLE_NAME>",
			"bucket_name": "<R2_BUCKET_NAME>"
		},
		{
			"type": "secret_text",
			"name": "<VARIABLE_NAME>",
			"text": "<SECRET_VALUE>"
		},
		{
			"type": "service",
			"name": "<VARIABLE_NAME>",
			"service": "<SERVICE_NAME>",
			"environment": "production"
		},
		{
			"type": "vectorize",
			"name": "<VARIABLE_NAME>",
			"index_name": "<INDEX_NAME>"
		},
		{
			"type": "version_metadata",
			"name": "<VARIABLE_NAME>"
		}
	]
}

役に立ちましたか?