INTEGRITY Cloudflare Docs

Multipart upload metadata

If you're using the Workers Script Upload API or Version Upload API directly, multipart/form-data uploads require you to specify a metadata part. This metadata defines the Worker's configuration in JSON format, analogue to the wrangler.toml file.

Sample metadata

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

Attributes

The following attributes are configurable at the top-level.

Additional attributes: Workers Script Upload API

For immediately deployed uploads, the following additional attributes are configurable at the top-level.

Additional attributes: Version Upload API

For version uploads, the following additional attributes are configurable at the top-level.

Bindings

Workers can interact with resources on the Cloudflare Developer Platform using bindings. Refer to the JSON example below that shows how to add bindings in the metadata part.

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