← Cloudflare Workers / workers / configuration
Метаданные составной загрузки
Если вы используете 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_modulestringобязательно- Имя части, содержащей точку входа модуля Worker, которая будет выполнена. Например,
main.js.
- Имя части, содержащей точку входа модуля Worker, которая будет выполнена. Например,
-
assetsobjectнеобязательно- Ресурс конфигурация Worker.
configobjectнеобязательно- html_handling определяет перенаправления и переписывание запросов для HTML-контента.
- not_found_handling определяет ответ в случае, если запрос не соответствует ни одному статическому ресурсу.
jwtполе предоставляет токен, авторизующий присоединение ресурсов к Worker.
-
keep_assetsbooleanнеобязательно- Определяет, нужно ли сохранять ресурсы из ранее загруженной версии Worker; используется вместо передачи токена завершения.
-
bindingsarray[object] необязательный- Bindings чтобы предоставить в Worker.
-
placementobjectнеобязательно- Smart Placement объект для Worker.
modeполе поддерживает толькоsmartдля автоматического размещения.
-
compatibility_datestringнеобязательно- Дата совместимости указывающая на целевую поддержку в среде выполнения Workers. Несовместимые с прошлыми версиями исправления среды выполнения, внесённые после этой даты, не затронут этот Worker. Настоятельно рекомендуется указать
compatibility_date, в противном случае при загрузке через API по умолчанию используется самая ранняя дата совместимости до вступления в силу каких-либо флагов (2021-11-02).
- Дата совместимости указывающая на целевую поддержку в среде выполнения Workers. Несовместимые с прошлыми версиями исправления среды выполнения, внесённые после этой даты, не затронут этот Worker. Настоятельно рекомендуется указать
-
compatibility_flagsarray[string] необязательный- Флаги совместимости которые включают или отключают определенные функции в среде выполнения Workers. Используются для включения будущих функций или для отказа от отдельных изменений, не входящих в
compatibility_date.
- Флаги совместимости которые включают или отключают определенные функции в среде выполнения Workers. Используются для включения будущих функций или для отказа от отдельных изменений, не входящих в
Дополнительные атрибуты: Workers Script Upload API
Для загрузки, развёрнутые сразу же, следующие дополнительный атрибуты настраиваются на верхнем уровне.
-
migrationsarray[object] необязательный- Миграции Durable Objects чтобы применить.
-
logpushbooleanнеобязательно- Указывает, Logpush включён для Worker.
-
tail_consumersarray[object] необязательный- Tail Workers который будет получать логи от подключённого Worker.
-
tagsarray[string] необязательный- Список строк, используемых как теги для этого Worker.
-
annotationsobjectнеобязательно- Объект аннотаций для версии Worker, созданной этой загрузкой. Также доступен в Version Upload API.
workers/messageзадаёт пользовательское сообщение для версии.workers/tagзадаёт пользовательский идентификатор версии.
Дополнительные атрибуты: Version Upload API
Для загрузки версий, следующие дополнительный атрибуты настраиваются на верхнем уровне.
annotationsobjectнеобязательно- Объект аннотаций, специфичный для версии Worker.
workers/messageзадаёт пользовательское сообщение для версии.workers/tagзадаёт пользовательский идентификатор версии.workers/aliasзадаёт пользовательский псевдоним для этой версии.
Bindings
Workers могут взаимодействовать с ресурсами 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>"
}
]
}