跳转到内容
搜索文档

多部分上传元数据

最后更新 查看 MarkdownAgent 设置

如果您直接使用 Workers Script Upload APIVersion Upload APImultipart/form-data 上传需要您指定 metadata 部分。此元数据以 JSON 格式定义 Worker 的配置,类似于 wrangler.toml 文件

示例 metadata

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

属性

以下属性可在顶层配置。

  • main_module stringrequired

    • 包含 Worker 模块入口点的部分名称,将被执行。例如 main.js
  • assets objectoptional

    • Worker 的资源(Asset) 配置。
    • config objectoptional
    • jwt 字段提供授权将资源附加到 Worker 的 token。
  • keep_assets booleanoptional

    • 指定是否应保留先前上传的 Worker 版本的资源;代替提供 completion token 使用。
  • bindings array[object] optional

  • placement objectoptional

  • compatibility_date stringoptional

    • 兼容日期(Compatibility Date),指示 Workers 运行时的目标支持。此日期之后的运行时向后不兼容修复不会影响此 Worker。强烈建议设置 compatibility_date,否则通过 API 上传时默认为任何标志生效之前的最旧兼容日期(2021-11-02)。
  • compatibility_flags array[string] optional

    • 兼容性标志(Compatibility Flags),启用或禁用 Workers 运行时中的某些功能。用于启用即将推出的功能,或选择加入或退出未包含在 compatibility_date 中的特定更改。

对于立即部署的上传,以下附加属性可在顶层配置。

  • migrations array[object] optional

  • logpush booleanoptional

    • 是否为 Worker 开启 Logpush
  • tail_consumers array[object] optional

  • tags array[string] optional

    • 用作此 Worker 标签的字符串列表。
  • annotations objectoptional

    • 此上传创建的 Worker 版本的注释对象。在 Version Upload API 上也可用。
    • workers/message 指定版本的自定义消息。
    • workers/tag 指定版本的自定义标识符。

附加属性:Version Upload API

对于版本上传,以下附加属性可在顶层配置。

  • annotations objectoptional
    • 特定于 Worker 版本的注释对象。
    • workers/message 指定版本的自定义消息。
    • workers/tag 指定版本的自定义标识符。
    • workers/alias 指定此版本的自定义别名。

绑定(Bindings)

Workers 可以使用绑定(binding) 与 Cloudflare Developer Platform 上的资源交互。请参阅以下 JSON 示例,了解如何在 metadata 部分添加绑定。

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

这篇文档对您有帮助吗?