マルチパートアップロードメタデータ
Workers Script Upload API または Version Upload API を直接使用している場合、multipart/form-data アップロードでは metadata パートを指定する必要があります。このメタデータは、wrangler.toml file に類似した形式で、Worker の設定を JSON 形式で定義します。
{ "main_module": "main.js", "bindings": [ { "type": "plain_text", "name": "MESSAGE", "text": "Hello, world!" } ], "compatibility_date": "2021-09-14"}以下の属性は、トップレベルで設定可能です。
-
main_modulestring 必須- 実行される Worker のモジュールエントリポイントを含むパート名。例えば、
main.js。
- 実行される Worker のモジュールエントリポイントを含むパート名。例えば、
-
bindingsarray[object] 任意- Worker で公開するための Bindings。
-
placementobject 任意- Worker のための Smart placement オブジェクト。
modeフィールドは、自動配置のためにsmartのみをサポートします。
-
compatibility_datestring 任意- Worker ランタイムでのターゲットサポートを示す Compatibility Date。この日以降のランタイムに対する後方互換性のない修正は、この Worker に影響を与えません。
compatibility_dateを設定することを強く推奨します。そうしないと、API 経由でのアップロード時に、フラグが有効になる前の最も古い互換性の日付(2021-11-02)にデフォルト設定されます。
- Worker ランタイムでのターゲットサポートを示す Compatibility Date。この日以降のランタイムに対する後方互換性のない修正は、この Worker に影響を与えません。
-
compatibility_flagsarray[string] 任意- Worker ランタイムで特定の機能を有効または無効にする Compatibility Flags。今後の機能を有効にしたり、
compatibility_dateに含まれない特定の変更にオプトインまたはオプトアウトするために使用されます。
- Worker ランタイムで特定の機能を有効または無効にする Compatibility Flags。今後の機能を有効にしたり、
-
usage_modelstring 任意- 呼び出しに適用する使用モデル、許可される値は
standardのみです。
- 呼び出しに適用する使用モデル、許可される値は
即時デプロイされたアップロード のために、以下の 追加 属性がトップレベルで設定可能です。
-
migrationsarray[object] 任意 -
logpushboolean 任意- Worker に対して Logpush がオンになっているかどうか。
-
tail_consumersarray[object] 任意- 添付された Worker からログを消費する Tail Workers。
-
tagsarray[string] 任意- この Worker のタグとして使用する文字列のリスト。
追加属性: Version Upload API
バージョンアップロード のために、以下の 追加 属性がトップレベルで設定可能です。
-
annotationsobject 任意- Worker バージョンに特有のアノテーションオブジェクト。
workers/messageはバージョンのカスタムメッセージを指定します。workers/tagはバージョンのカスタム識別子を指定します。
Workers は bindings を使用して Cloudflare Developer Platform 上のリソースと対話できます。以下の JSON 例を参照して、metadata パートにバインディングを追加する方法を示します。
{ "bindings": [ { "type": "ai", "name": "<VARIABLE_NAME>" }, { "type": "analytics_engine", "name": "<VARIABLE_NAME>", "dataset": "<DATASET>" }, { "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": "tail_consumer", "service": "<WORKER_NAME>" }, { "type": "vectorize", "name": "<VARIABLE_NAME>", "index_name": "<INDEX_NAME>" }, { "type": "version_metadata", "name": "<VARIABLE_NAME>" } ]}