← Hyperdrive (Postgres & MySQL) / hyperdrive / configuration
Локальная разработка
Hyperdrive можно использовать при локальной разработке и тестировании Workers. Wrangler, интерфейс командной строки для Workers, предоставляет два варианта локальной разработки:
wrangler dev(по умолчанию): запускает код вашего Worker локально на вашем компьютере. Вы настраиваетеlocalConnectionStringдля прямого подключения к базе данных (локальной или удалённой). В этом режиме кеширование запросов Hyperdrive не действует.wrangler dev --remote: Запускает ваш Worker в сети Cloudflare с использованием развернутой конфигурации Hyperdrive. Это удобно для тестирования с включенными пулом подключений и кэшированием запросов Hyperdrive.
Используйте wrangler dev
По умолчанию wrangler dev запускает код Worker локально на вашем компьютере. Чтобы подключиться к базе данных во время локальной разработки, настройте localConnectionString который указывает напрямую на вашу базу данных.
localConnectionString работает как с локальными, так и с удаленными базами данных:
- Локальные базы данных: Подключение к экземпляру базы данных, работающему на вашем компьютере (например,
postgres://user:password@localhost:5432/database) - Удалённые базы данных: Прямое подключение к удаленным базам данных по TLS (например,
postgres://user:[email protected]:5432/database?sslmode=requireилиmysql://user:[email protected]:3306/database?sslMode=required). При необходимости вы должны указать режим SSL/TLS.
Настройка с помощью переменной окружения
Рекомендуемый подход: использовать переменную окружения, чтобы не сохранять учётные данные в системе контроля версий:
# Your configured Hyperdrive binding is "HYPERDRIVE"
export CLOUDFLARE_HYPERDRIVE_LOCAL_CONNECTION_STRING_HYPERDRIVE="postgres://user:password@your-database-host:5432/database"
npx wrangler devФормат переменной окружения: CLOUDFLARE_HYPERDRIVE_LOCAL_CONNECTION_STRING_<BINDING_NAME>, где <BINDING_NAME> это имя привязки, назначенной вашему Hyperdrive в конфигурационный файл Wrangler.
Чтобы удалить переменную окружения: unset CLOUDFLARE_HYPERDRIVE_LOCAL_CONNECTION_STRING_<BINDING_NAME>
Например, чтобы задать строку подключения для локальной базы данных:
export CLOUDFLARE_HYPERDRIVE_LOCAL_CONNECTION_STRING_HYPERDRIVE="postgres://user:password@localhost:5432/databasename"
npx wrangler devНастройка в конфигурационном файле Wrangler
Также можно задать localConnectionString в вашем конфигурационный файл Wrangler:
{
"hyperdrive": [
{
"binding": "HYPERDRIVE",
"id": "c020574a-5623-407b-be0c-cd192bab9545",
"localConnectionString": "postgres://user:password@localhost:5432/databasename"
}
]
}[[hyperdrive]]
binding = "HYPERDRIVE"
id = "c020574a-5623-407b-be0c-cd192bab9545"
localConnectionString = "postgres://user:password@localhost:5432/databasename"Если одновременно заданы переменная окружения и localConnectionString заданы в конфигурационном файле Wrangler, приоритет получает переменная окружения.
Используйте wrangler dev --remote
Когда вы выполняете wrangler dev --remote, ваш Worker выполняется в сети Cloudflare и использует развернутую конфигурацию Hyperdrive. Это означает:
- Код Worker выполняется в продакшн-среде Cloudflare, а не локально
- Пул подключений и кеширование запросов Hyperdrive активны
- Вы подключаетесь к базе данных, указанной в конфигурации Hyperdrive (созданной с помощью
wrangler hyperdrive create) - Изменения, сделанные в течение сессии, взаимодействуют с удалёнными ресурсами
Этот режим удобен, чтобы перед развёртыванием проверить, как ваш Worker ведёт себя с включёнными функциями Hyperdrive.
Настройте привязку Hyperdrive в wrangler.jsonc:
{
"hyperdrive": [
{
"binding": "HYPERDRIVE",
"id": "your-hyperdrive-id",
},
],
}[[hyperdrive]]
binding = "HYPERDRIVE"
id = "your-hyperdrive-id"Чтобы запустить сеанс удалённой разработки:
npx wrangler dev --remoteСм. wrangler dev документация чтобы узнать больше о настройке локальной сессии разработки.
Дополнительные материалы
- Используйте
wrangler devчтобы запускать Worker и Hyperdrive локально и отлаживать проблемы перед развёртыванием. - Узнайте как работает Hyperdrive.
- Узнайте, как настроить кеширование запросов в Hyperdrive.