Я создаю простое веб-приложение, которое принимает HTTP POST и должно запускать событие Cloud Pub-Sub. Без pub-sub приложение развертывается нормально, и я могу достичь конечной точки.
Я создал примеры функций. Я сделал это через функции Cloud Run (console.cloud.google.com/functions/). Здесь показано, что развернуто как «Функции запуска в облаке» и через Cloud Run (т. е. console.cloud.google.com/run). В качестве моей учетной записи отображается «Развернуто». Результаты одинаковые.
Для первоначального примера предварительно упакованного приложения hello world оба развертываются без проблем.
Теперь давайте добавим возможность публикации-подписки. Добавьте google-cloud-pubsub в файл требований. Добавьте клиент pub-sub в приложение. Создайте тему Pub-Sub (что я делаю через пользовательский интерфейс).
Теперь это выглядит так...
import json
import os
import functions_framework
from google.cloud import pubsub_v1
PROJECT_ID = "my project"
publisher = pubsub_v1.PublisherClient()
@functions_framework.http
def hello_http(request):
"""HTTP Cloud Function.
Args:
request (flask.Request): The request object.
Returns:
The response text, or any set of values that can be turned into a
Response object using `make_response`
.
"""
request_json = request.get_json(silent=True)
request_args = request.args
topic_name = 'projects/{project_id}/topics/{topic}'.format(
project_id=PROJECT_ID,
topic='test-topic',
)
message = {
'key': 'value',
'info': 'This is a test message'
}
future = publisher.publish(topic_name, json.dumps(message).encode("utf-8"))
future.result()
if request_json and 'name' in request_json:
name = request_json['name']
elif request_args and 'name' in request_args:
name = request_args['name']
else:
name = 'World'
return 'Hello {}!'.format(name)
Я обязательно получу эти предупреждения в консоли. Что они означают?
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1734272617.454893 1 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
Кроме того, я получаю странные ошибки в консоли тестирования Google Cloud Platform Run, которые выглядят связанными со сборкой (например, /bin/sh: 2c3d685a15e9). Иногда возникают ошибки, иногда нет.
[9:47:15 PM] - Preparing function sources ...
[9:47:15 PM] - Loading new function sources ...
[9:47:22 PM] - Starting function...
[9:47:22 PM] - WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1734144439.303879 20 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1734144441.495104 7 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
/bin/sh: 2c3d685a15e9: not found
/bin/sh: 2c3d685a15e9: not found
Подробнее здесь: https://stackoverflow.com/questions/792 ... sub-errors
Ошибки публикации и подписки GCP ⇐ Python
Программы на Python
1767116700
Anonymous
Я создаю простое веб-приложение, которое принимает HTTP POST и должно запускать событие Cloud Pub-Sub. Без pub-sub приложение развертывается нормально, и я могу достичь конечной точки.
Я создал примеры функций. Я сделал это через функции Cloud Run (console.cloud.google.com/functions/). Здесь показано, что развернуто как «Функции запуска в облаке» и через Cloud Run (т. е. console.cloud.google.com/run). В качестве моей учетной записи отображается «Развернуто». Результаты одинаковые.
Для первоначального примера предварительно упакованного приложения hello world оба развертываются без проблем.
Теперь давайте добавим возможность публикации-подписки. Добавьте google-cloud-pubsub в файл требований. Добавьте клиент pub-sub в приложение. Создайте тему Pub-Sub (что я делаю через пользовательский интерфейс).
Теперь это выглядит так...
import json
import os
import functions_framework
from google.cloud import pubsub_v1
PROJECT_ID = "my project"
publisher = pubsub_v1.PublisherClient()
@functions_framework.http
def hello_http(request):
"""HTTP Cloud Function.
Args:
request (flask.Request): The request object.
Returns:
The response text, or any set of values that can be turned into a
Response object using `make_response`
.
"""
request_json = request.get_json(silent=True)
request_args = request.args
topic_name = 'projects/{project_id}/topics/{topic}'.format(
project_id=PROJECT_ID,
topic='test-topic',
)
message = {
'key': 'value',
'info': 'This is a test message'
}
future = publisher.publish(topic_name, json.dumps(message).encode("utf-8"))
future.result()
if request_json and 'name' in request_json:
name = request_json['name']
elif request_args and 'name' in request_args:
name = request_args['name']
else:
name = 'World'
return 'Hello {}!'.format(name)
Я обязательно получу эти предупреждения в консоли. Что они означают?
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1734272617.454893 1 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
Кроме того, я получаю странные ошибки в консоли тестирования Google Cloud Platform Run, которые выглядят связанными со сборкой (например, /bin/sh: 2c3d685a15e9). Иногда возникают ошибки, иногда нет.
[9:47:15 PM] - Preparing function sources ...
[9:47:15 PM] - Loading new function sources ...
[9:47:22 PM] - Starting function...
[9:47:22 PM] - WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1734144439.303879 20 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1734144441.495104 7 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
/bin/sh: 2c3d685a15e9: not found
/bin/sh: 2c3d685a15e9: not found
Подробнее здесь: [url]https://stackoverflow.com/questions/79279979/gcp-pub-sub-errors[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия