コンテンツにスキップ

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

Workers Script Upload API または Version Upload API を直接使用している場合、multipart/form-data アップロードでは metadata パートを指定する必要があります。このメタデータは、wrangler.toml file に類似した形式で、Worker の設定を JSON 形式で定義します。

サンプル 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
  • bindings array[object] 任意

    • Worker で公開するための Bindings
  • placement object 任意

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

    • Worker ランタイムでのターゲットサポートを示す Compatibility Date。この日以降のランタイムに対する後方互換性のない修正は、この Worker に影響を与えません。compatibility_date を設定することを強く推奨します。そうしないと、API 経由でのアップロード時に、フラグが有効になる前の最も古い互換性の日付(2021-11-02)にデフォルト設定されます。
  • compatibility_flags array[string] 任意

    • Worker ランタイムで特定の機能を有効または無効にする Compatibility Flags。今後の機能を有効にしたり、compatibility_date に含まれない特定の変更にオプトインまたはオプトアウトするために使用されます。
  • usage_model string 任意

    • 呼び出しに適用する使用モデル、許可される値は standard のみです。

即時デプロイされたアップロード のために、以下の 追加 属性がトップレベルで設定可能です。

  • migrations array[object] 任意

  • logpush boolean 任意

    • Worker に対して Logpush がオンになっているかどうか。
  • tail_consumers array[object] 任意

    • 添付された Worker からログを消費する Tail Workers
  • tags array[string] 任意

    • この Worker のタグとして使用する文字列のリスト。

追加属性: Version Upload API

バージョンアップロード のために、以下の 追加 属性がトップレベルで設定可能です。

  • annotations object 任意

    • Worker バージョンに特有のアノテーションオブジェクト。
    • workers/message はバージョンのカスタムメッセージを指定します。
    • workers/tag はバージョンのカスタム識別子を指定します。

Bindings

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>"
}
]
}