Google Cloud Functions - вторая по популярности платформа для бессерверного исполнения. Подобно AWS Lambda, он не имеет состояния, а именно вам необходимо получить доступ к внешним ресурсам для чтения или записи состояния ваших приложений. В этом посте мы представим Redis как базу данных для ваших функций Google Cloud.
В этом руководстве показано, как создать бессерверный API с Redis в облачных функциях Google. API просто подсчитает просмотры страниц и отобразит их в формате JSON.
См. Демонстрацию: https://us-central1-functions-317005.cloudfunctions.net/helloGET
См. Код: https://github.com/upstash/examples/tree/master/using-google-cloud-functions
- Бессерверные вычисления: Google Cloud Functions (Node.js)
- Бессерверное хранилище данных: Redis через Upstash
- Инструмент развертывания: gcloud
Предпосылки
- Учетная запись GCP для функций Google Cloud.
- Установите Google Cloud SDK.
- Учетная запись Upstash для бессерверного Redis.
Шаг 1. Инициируйте проект
Создайте папку, затем запустите npm init
внутри папки.
Шаг 2. Установите клиент Redis
Наша единственная зависимость - это клиент Redis. Установить go-redis через npm install ioredis
Шаг 3. Создайте базу данных Redis
Создайте базу данных Redis из консоли Upstash. Выберите GCP US-Central-1 в качестве региона. Уровень бесплатного пользования должен быть достаточным. Это довольно просто, но если вам нужна помощь, ознакомьтесь с руководством по началу работы. На странице сведений о базе данных нажмите кнопку Подключить. На следующем шаге вам потребуются конечная точка и пароль.
Шаг 4: Код функции
Создайте index.js, как показано ниже:
var Redis = require("ioredis"); if (typeof client === 'undefined') { var client = new Redis("REPLACE_YOUR_UPSTASH_REDIS_URL"); } exports.helloGET = async(req, res) => { let count = await client.incr("counter"); res.send('Page view:' + count); };
Замените “REPLACE_YOUR_UPSTASH_REDIS_URL”
URL-адресом ioredis вашей базы данных.
Код просто увеличивает счетчик в базе данных Redis и возвращает его значение в формате json.
Шаг 5: развертывание
Теперь мы готовы развернуть наш API. Развернуть через:
gcloud functions deploy helloGET \ --runtime nodejs14 --trigger-http --allow-unauthenticated
Вы увидите URL-адрес вашей облачной функции. Щелкните URL-адрес, чтобы проверить, правильно ли он работает.
httpsTrigger: securityLevel: SECURE_OPTIONAL url: https://us-central1-functions-317005.cloudfunctions.net/helloGET
В случае возникновения проблемы вы можете проверить журналы своей облачной функции в консоли GCP, как показано ниже.
Первоначально опубликовано на https://docs.upstash.com.
Больше контента на plainenglish.io