arrow_back

Cloud Run Functions: Qwik Start – командний рядок

Get access to 700+ labs and courses

Cloud Run Functions: Qwik Start – командний рядок

Lab 30 годин universal_currency_alt 1 кредит show_chart Початковий
info This lab may incorporate AI tools to support your learning.
Get access to 700+ labs and courses

GSP080

Логотип Google Cloud Self-Paced Labs

Огляд

Функція Cloud Run Functions – це фрагмент коду, який запускається у відповідь на подію, наприклад запит HTTP, повідомлення від сервісу обміну повідомленнями або завантаження файлу. Події в хмарі – це речі, що відбуваються в хмарному середовищі. Це можуть бути, наприклад, зміни в даних у базі даних, файли, додані в систему зберігання, або новий екземпляр віртуальної машини, що створюється.

Оскільки функції Cloud Run Functions залежать від подій, вони запускаються лише тоді, коли відбувається певна подія. Завдяки цьому вони чудово підходять для виконання швидких або періодичних завдань.

Наприклад, ви можете використовувати функцію Cloud Run Functions, щоб виконувати такі дії:

  • автоматично створювати зменшені копії для зображень, які завантажуються в Cloud Storage;
  • надсилати сповіщення на телефон користувача, коли в Pub/Sub надходить нове повідомлення;
  • обробляти дані з бази даних Cloud Firestore і створювати звіт.

Ви можете написати код будь-якою мовою, яка підтримує Node.js, а також розгорнути свій код у хмарі за кілька кліків. Після розгортання функції Cloud Run Functions вона автоматично запускатиметься у відповідь на події.

Під час цього практичного заняття ви навчитеся створювати, розгортати й тестувати функцію Cloud Run Functions за допомогою консолі Google Cloud.

Під час цього практичного заняття ви навчитеся створювати, розгортати й тестувати функцію Cloud Run Functions за допомогою командного рядка Google Cloud Shell.

Завдання

  • Створити функцію Cloud Run Functions
  • Розгорнути й протестувати функцію Cloud Run Functions
  • Переглянути журнали

Налаштування

Перш ніж натиснути кнопку Start Lab (Почати практичну роботу)

Ознайомтеся з наведеними нижче вказівками. На виконання практичного заняття відводиться обмежений час, і його не можна призупинити. Щойно ви натиснете Почати заняття, з’явиться таймер, який показуватиме, скільки часу для роботи з ресурсами Google Cloud у вас залишилося.

Ви зможете виконати практичне заняття в дійсному робочому хмарному середовищі (не в симуляції або демонстраційному середовищі). Для цього на час практичного заняття вам надаються тимчасові облікові дані для реєстрації і входу в Google Cloud.

Для цього практичного заняття потрібно мати:

  • стандартний вебпереглядач, наприклад Chrome (рекомендовано);
Примітка. Виконуйте практичне заняття в анонімному вікні вебпереглядача (рекомендовано). Так ви уникнете додаткової плати, що може стягуватися з вашого особистого облікового запису внаслідок його помилкового використання замість облікового запису для навчання.
  • достатню кількість часу, оскільки почавши практичне заняття, ви не зможете призупинити його.
Примітка. Для виконання цього практичного заняття використовуйте лише обліковий запис для навчання, оскільки з іншого облікового запису Google Cloud може стягуватися плата.

Як почати виконувати практичну роботу й увійти в Google Cloud Console

  1. Натисніть кнопку Start Lab (Почати практичне заняття). Якщо за практичне заняття необхідно заплатити, відкриється вікно, де ви зможете обрати спосіб оплати. Ліворуч розміщено панель "Відомості про практичне заняття" з такими компонентами:

    • кнопка "Відкрити консоль Google";
    • час до закінчення;
    • тимчасові облікові дані, які потрібно використовувати для доступу до цього практичного заняття;
    • інша інформація, необхідна для виконання цього практичного заняття.
  2. Натисніть Відкрити консоль Google або натисніть правою кнопкою миші й виберіть Відкрити анонімне вікно, якщо ви використовуєте вебпереглядач Chrome.

    Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою "Увійти".

    Порада. Упорядковуйте вкладки в окремих вікнах, розміщуючи їх поруч.

    Примітка. Якщо з’явиться вікно Виберіть обліковий запис, натисніть Вибрати інший обліковий запис.
  3. За потреби скопіюйте значення в полі Username (Ім’я користувача) нижче й вставте його у вікні Вхід.

    {{{user_0.username | "Username"}}}

    Поле "Ім’я користувача" також можна знайти на панелі "Відомості про практичне заняття".

  4. Натисніть Далі.

  5. Скопіюйте значення в полі Password (Пароль) нижче й вставте його у вікні Welcome (Привітання).

    {{{user_0.password | "Password"}}}

    Поле "Пароль" також можна знайти на панелі "Відомості про практичне заняття".

  6. Натисніть Далі.

    Важливо. Обов’язково використовуйте облікові дані, призначені для відповідного практичного заняття. Не використовуйте облікові дані Google Cloud. Примітка. Якщо ввійти у власний обліковий запис Google Cloud, може стягуватися додаткова плата.
  7. Що від вас очікується

    • Прийміть Умови використання.
    • Не додавайте способи відновлення й двохетапну перевірку (оскільки це тимчасовий обліковий запис).
    • Не реєструйте безкоштовні пробні версії.

Через кілька секунд консоль Google Cloud відкриється в новій вкладці.

Примітка. Щоб отримати доступ до продуктів і сервісів Google Cloud, натисніть меню навігації або введіть назву сервісу чи продукту в полі пошуку. Значок меню навігації і поле пошуку

Як активувати Cloud Shell

Cloud Shell – це віртуальна машина з попередньо завантаженими інструментами для розробників. Вона містить головний каталог обсягом 5 ГБ постійної пам’яті й працює в середовищі Google Cloud. Cloud Shell надає доступ до ресурсів Google Cloud через командний рядок.

  1. Угорі консолі Google Cloud натисніть Activate Cloud Shell (Активувати Cloud Shell) Значок активації Cloud Shell.

  2. У вікнах, що відкриються, виконайте наведені нижче дії.

    • У вікні з інформацією про Cloud Shell натисніть Continue (Далі).
    • Дозвольте Cloud Shell використовувати ваші облікові дані, щоб здійснювати виклики Google Cloud API.

Щойно ви підключитеся, вас буде автентифіковано, а проєкт отримає ваш Project_ID (Ідентифікатор проєкту). Вивід міститиме рядок зі значенням Project_ID (Ідентифікатор проєкту) для цього сеансу:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud – це інструмент командного рядка для Google Cloud. Він входить у пакет Cloud Shell і підтримує функцію автозавершення клавішею TAB.

  1. (Необов’язково) Щоб вивести поточне ім’я облікового запису, введіть таку команду:
gcloud auth list
  1. Натисніть Authorize (Авторизувати).

Вивід:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Необов’язково) Щоб вивести ідентифікатор проєкту, введіть таку команду:
gcloud config list project

Вивід:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Примітка. Щоб знайти повну документацію щодо gcloud, перегляньте посібник з інтерфейсу командного рядка gcloud у Google Cloud.

Завдання 1. Створіть функцію

Спочатку ви створите просту функцію під назвою helloWorld. Ця функція записує повідомлення в журналах функцій Cloud Run Functions. Вона активується подіями Cloud Run Functions і приймає функцію зворотного виклику, що використовується для сповіщення про виконання функції.

У цьому практичному занятті подією функції Cloud Run Functions є подія теми Pub/Sub. Pub/Sub – це сервіс обміну повідомленнями, де відправники повідомлень відокремлені від одержувачів. Потрібно підписатися на певну тему, щоб отримувати сповіщення, коли хтось надсилає або публікує відповідні повідомлення, і мати змогу переглядати такі повідомлення. Щоб дізнатися більше про Pub/Sub, перегляньте статтю Сервіс обміну повідомленнями Google Pub/Sub у відповідному посібнику.

Щоб дізнатися більше про параметр події і параметр зворотного виклику, перегляньте статтю Функції фонового режиму в документації щодо функцій Cloud Run Functions.

Щоб створити функцію Cloud Run Functions, виконайте наведені нижче дії.

  1. Для налаштування регіону за умовчанням виконайте в Cloud Shell таку команду:

    gcloud config set run/region {{{project_0.default_region |REGION}}}
  2. Створіть каталог для коду функції:

    mkdir gcf_hello_world && cd $_
  3. Створіть файл index.js і відкрийте його для редагування:

    nano index.js
  4. Скопіюйте наведений нижче код у файл index.js.

    const functions = require('@google-cloud/functions-framework'); // Реєструється зворотний виклик CloudEvent до фреймворку функцій, // який буде виконано, коли тригер Pub/Sub отримає повідомлення з певною темою. functions.cloudEvent('helloPubSub', cloudEvent => { // Повідомлення Pub/Sub передається як корисний обсяг даних CloudEvent. const base64name = cloudEvent.data.message.data; const name = base64name ? Buffer.from(base64name, 'base64').toString() : 'World'; console.log(`Hello, ${name}!`); });
  5. Щоб вийти з текстового редактора Nano, натисніть клавіші Ctrl + X. Збережіть файл (Y).

  6. Створіть файл package.json і відкрийте його для редагування.

  7. Скопіюйте наведений нижче код у файл package.json.

    { "name": "gcf_hello_world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }
  8. Щоб вийти з текстового редактора Nano, натисніть клавіші Ctrl + X. Збережіть файл (Y).

  9. Установіть залежності пакета:

    npm install

    Очікуваний вивід:

    added 140 packages, and audited 141 packages in 9s 27 packages are looking for funding run `npm fund` for details found 0 vulnerabilities

Завдання 2. Розгорніть свою функцію

На цьому практичному занятті ви налаштуєте тригер --trigger-topic як cf_demo.

Примітка.
Функції Cloud Run Functions працюють на основі подій, тому обов’язково потрібно вказати тип тригера. Під час розгортання нової функції часто застосовуються такі тригери подій, як --trigger-topic, --trigger-bucket і --trigger-http. Коли ви розгортаєте оновлення наявної функції, зберігається наявний тригер (якщо не вказано інше).
  1. Розгорніть функцію nodejs-pubsub-function для теми Pub/Sub під назвою cf-demo.

    gcloud functions deploy nodejs-pubsub-function \ --gen2 \ --runtime=nodejs20 \ --region={{{ project_0.default_region | REGION }}} \ --source=. \ --entry-point=helloPubSub \ --trigger-topic cf-demo \ --stage-bucket {{{ project_0.project_id | PROJECT_ID }}}-bucket \ --service-account cloudfunctionsa@{{{ project_0.project_id | PROJECT_ID }}}.iam.gserviceaccount.com \ --allow-unauthenticated Примітка.
    Якщо з’явиться сповіщення сервісного облікового запису serviceAccountTokenCreator, виберіть "n".
  2. Перевірте статус функції.

    gcloud functions describe nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}}

    Статус ACTIVE (АКТИВНА) означає, що функцію розгорнуто.

    Очікуваний вивід:

    BuildConfig: automaticUpdatePolicy: {} build: projects/630521560493/locations/{{{ project_0.default_region | REGION }}}/builds/7ff9d415-50d9-4557-9bcd-5afad42a6390 dockerRegistry: ARTIFACT_REGISTRY dockerRepository: projects/{{{ project_0.project_id | PROJECT_ID }}}/locations/{{{ project_0.default_region | REGION }}}/repositories/gcf-artifacts entryPoint: helloPubSub ... State: ACTIVE ... UpdateTime: '2024-08-05T13:51:05.317298824Z' Url: https://{{{ project_0.default_region | REGION }}}-{{{ project_0.project_id | PROJECT_ID }}}.cloudfunctions.net/nodejs-pubsub-function

Коли буде опубліковано повідомлення із цією темою, така дія активує виконання функції, і вміст повідомлення буде передано як вхідні дані.

Перевірка виконаного завдання

Щоб підтвердити виконання завдання, натисніть Check my progress (Підтвердити виконання). Якщо завдання виконано правильно, з’явиться оцінка.

Розгорніть функцію.

Завдання 3. Протестуйте функцію

Ви розгорнули функцію і переконалися, що вона активна. Тепер перевірте, чи створює ця функція повідомлення в журналі Cloud після виявлення події.

  1. Викличте PubSub за допомогою певних даних.

    gcloud pubsub topics publish cf-demo --message="Cloud Function Gen2"

    Приклад виводу:

    messageIds: - '11927162971409664'

Перевірте, чи є в журналах записи з таким ідентифікатором виконання.

Завдання 4. Перегляньте журнали

  1. Перевірте журнали й знайдіть свої повідомлення в їх історії:

    gcloud functions logs read nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}} Примітка.
    Журнали можуть з’явитися протягом 10 хвилин. Крім того, щоб переглянути журнали, можна натиснути Logging (Ведення журналів) > Logs Explorer.

    Функція Cloud Run Functions виведе приблизно таку інформацію:

    LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4v6akxf4sxt TIME_UTC: 2024-08-05 15:15:25.723 LOG: Hello, Cloud Function Gen2! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:15:25.711 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4oxfjn7zlyu TIME_UTC: 2024-08-05 15:10:34.303 LOG: Hello, Friend! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:10:34.291 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4fjhyfxua3k TIME_UTC: 2024-08-05 15:03:16.342 LOG: Hello, "SGVsbG8gZnJvbSB0aGUgY29tbWFuZCBsaW5l"!

Ви розгорнули й протестували додаток і вмієте переглядати журнали.

Завдання 5. Перевірте свої знання

  1. Дайте відповіді на запитання з кількома варіантами відповіді нижче, щоб закріпити розуміння понять, які зустрічаються в цьому практичному занятті.

Вітаємо!

Ви створили, розгорнули й протестували функцію Cloud Run Functions за допомогою командного рядка в консолі Google Cloud.

Виконайте наступне практичне заняття

Це заняття входить до низки практичних занять під назвою Qwik Starts. Вони призначені для ознайомлення з функціями Google Cloud. Такі практичні заняття можна знайти в каталозі за запитом "Qwik Starts".

Наступні кроки/Докладніше

  • Ви вже використовували командний рядок для запуску функції Cloud Run Functions. Щоб навчитися запускати її за допомогою консолі Cloud, виконайте практичне заняття Cloud Run Functions: Qwik Start – консоль.
  • Щоб дізнатися більше про те, як створити тригери й зв’язати їх із функціями, перегляньте цю статтю.

Навчання й сертифікація Google Cloud

…допомагають ефективно використовувати технології Google Cloud. Наші курси передбачають опанування технічних навичок, а також ознайомлення з рекомендаціями, що допоможуть вам швидко зорієнтуватися й вивчити матеріал. Ми пропонуємо курси різних рівнів – від базового до високого. Ви можете вибрати формат навчання (за запитом, онлайн або офлайн) відповідно до власного розкладу. Пройшовши сертифікацію, ви перевірите й підтвердите свої навички та досвід роботи з технологіями Google Cloud.

Посібник востаннє оновлено 20 січня 2025 року

Практичне заняття востаннє протестовано 20 січня 2025 року

© Google LLC 2025. Усі права захищено. Назва та логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.