Вопросы по тегу: google-cloud-platform

(13)

В чем разница между облачными функциями и функциями Firebase?

Облачные функции и Функции Firebase (или «Облачные функции для Firebase») выглядят одинаково. Пожалуйста, опишите вариант использования каждого из них.Оба используют функции HTTP.В Облачные функции:exports.helloHttp = функция helloHttp (требование, разрешение) { res.send(`Привет, ${req.body.name || 'Мир'}!`); }; И в Firebase Functions:exports.helloWorld = functions.https.onRequest((запрос, ответ) => { response.send("Привет из Firebase!"); }); В чем разница между ними?
M

Muhammad chhota

5 лет назад

Ответов: 4

Можно ли получить идентификатор до того, как он был добавлен?

Я знаю, что в базе данных реального времени я мог получить идентификатор push-уведомления до того, как он был добавлен, вот так: DatabaseReference databaseReference= FirebaseDatabase.getInstance().getReference(); String challengeId=databaseReference.push().getKey(); и тогда я мог бы добавить его, используя этот идентификатор.Могу ли я получить его также в Cloud Firestore?
T

Tal Barda

4 года назад

Ответов: 15

в зоне недостаточно ресурсов для выполнения запроса/ресурс не готов

Мне не удалось запустить экземпляр (через веб-браузер), выдается ошибка: "В зоне 'projects/XXXXX/zones/europe-west4-b' недостаточно ресурсов, доступных для выполнения запроса. Попробуйте другую зону или повторите попытку позже." Сначала я подумал, что это может быть проблема с квотами, после проверки моей квоты все оказалось хорошо. На самом деле, я перечислил доступные зоны, europe-west4-b был доступен, но я все же дал шанс перенести зону. Затем я попытался "экземпляры вычислений gcloud переместить XXXX --zone europe-west4-b --destination-zone europe-west4-c", однако это все равно не удалось, выскочила ошибка: "ОШИБКА: (gcloud.compute.instances.move) Экземпляр не может быть перемещен во время в состоянии: TERMINATED" Хорошо, завершено... затем я попытался перезапустить его с помощью "сброс экземпляров вычислений gcloud XXX", ошибка показала путь: ОШИБКА: (gcloud.compute.instances.reset) Не удалось получить ресурс: - Ресурс 'projects/XXXXX/zones/europe-west4-b/instances/XXX' не готов Я искал ошибку, некоторые люди решили эту проблему удалением диска. Пока не хочу стирать память, как решить эту проблему?Кстати, у меня только один экземпляр с одним подключенным постоянным диском.
S

ShadeBai

3 года назад

Ответов: 5

Enabling CORS in Cloud Functions for Firebase

I'm currently learning how to use new Cloud Functions for Firebase and the problem I'm having is that I can't access the function I wrote through an AJAX request. I get the "No 'Access-Control-Allow-Origin'" error. Here's an example of the function I wrote:exports.test = functions.https.onRequest((request, response) => { response.status(500).send({test: 'Testing functions'}); }) The function sits in this url: https://us-central1-fba-shipper-140ae.cloudfunctions.net/testFirebase docs suggests to add CORS middleware inside the function, I've tried it but it's not working for me: https://firebase.google.com/docs/functions/http-eventsThis is how I did it:var cors = require('cors'); exports.test = functions.https.onRequest((request, response) => { cors(request, response, () => { response.status(500).send({test: 'Testing functions'}); }) }) What am I doing wrong? I would appreciate any help with this.UPDATE:Doug Stevenson's answer helped. Adding ({origin: true}) fixed the issue, I also had to change response.status(500) to response.status(200) which I completely missed at first.
A

Andrey Pokrovskiy

5 лет назад

Ответов: 29

How do I structure Cloud Functions for Firebase to deploy multiple functions from multiple files?

I would like to create multiple Cloud Functions for Firebase and deploy them all at the same time from one project. I would also like to separate each function into a separate file. Currently I can create multiple functions if I put them both in index.js such as:exports.foo = functions.database.ref('/foo').onWrite(event => { ... }); exports.bar = functions.database.ref('/bar').onWrite(event => { ... }); However I would like to put foo and bar in separate files. I tried this:/functions |--index.js (blank) |--foo.js |--bar.js |--package.json where foo.js isexports.foo = functions.database.ref('/foo').onWrite(event => { ... }); and bar.js isexports.bar = functions.database.ref('/bar').onWrite(event => { ... }); Is there a way to accomplish this without putting all functions in index.js?
j

jasonsirota

5 лет назад

Ответов: 18

Стоимость гибкой среды Google App Engine, урок за 500 долларов

Я следил за Nodejs в App Engine Flexible env tutorial @: https://cloud.google.com/nodejs/getting-started/hello-worldУспешно развернув и протестировав руководство, я изменил код, чтобы немного поэкспериментировать и успешно развернул его ... а затем оставил его запущенным, поскольку это была тестовая среда (не общедоступная).Через месяц я получаю счет от Google на сумму более 370 долларов!В деталях транзакции я вижу следующее: 1–31 октября 2017 г. RAM экземпляра App Engine Flex: 5948,774 гибибайт-часов ([MYPROJECT]) $ 42,24 1–31 октября 2017 г. Основные часы экземпляра App Engine Flex: 5948,774 часа ([MYPROJECT]) 312,91 долл. США Каким образом эта тестовая среда с почти 0 запросами потребовала около 6000 часов ресурсов? В худшем случае я бы предположил, что 720 часов непрерывной работы в течение месяца по 0,05 доллара в час обойдутся мне примерно в 40 долларов. https://cloud.google.com/appengine/pricingМожет кто-нибудь поможет пролить свет на это? Мне не удалось выяснить, зачем понадобилось столько ресурсов?Спасибо за помощь!Для получения дополнительных данных это трафик за последний месяц (в основном 0): И данные экземпляраОБНОВЛЕНИЕ: Обратите внимание, что я внес одну модификацию в package.json: я добавил nodemon в качестве зависимости и добавил его как часть моего сценария «nmp start». Хотя я сомневаюсь, что это объясняет 6000 часов ресурсов: "scripts": { "deploy": "gcloud app deploy", "start": "nodemon app.js", "dev": "nodemon app js", "lint": "samples lint", "pretest": "npm run lint", "system-test": "samples test app", "test": "npm run system-test", "e2e-test": "samples test deploy" }, App.yaml (по умолчанию - без изменений из учебника)runtime: nodejs env: flex
d

ddallala

4 года назад

Ответов: 6

GRPC (HTTP / 2) быстрее, чем REST с HTTP / 2?

Цель состоит в том, чтобы представить протокол транспортного и прикладного уровня, который лучше по своей задержке и пропускной способности сети. В настоящее время приложение использует REST с HTTP / 1.1, и мы наблюдаем высокую задержку. Мне нужно решить эту проблему с задержкой, и я готов использовать gRPC (HTTP / 2) или REST / HTTP2.HTTP / 2: Мультиплексный Одно TCP-соединение Двоичный вместо текстового Сжатие заголовка Серверная отправка Мне известны все вышеперечисленные преимущества.Вопрос № 1: Если я использую REST с HTTP / 2, я уверен, я получу значительное улучшение производительности по сравнению с REST с HTTP / 1.1, но как это сравнить с gRPC (HTTP / 2)?Мне также известно, что gRPC использует буфер протокола, который является лучшим методом двоичной сериализации для передачи структурированных данных по сети. Протобуфер также помогает в разработке языкового независимого подхода. Я согласен с этим, и я могу реализовать ту же функцию в REST, используя graphQL. Но меня беспокоит сериализация: Вопрос № 2: Когда HTTP / 2 реализует эту двоичную функцию, дает ли использование прототипа буфера дополнительное преимущество над HTTP / 2?Вопрос № 3: С точки зрения потоковых, двунаправленных вариантов использования, как gRPC (HTTP / 2) сравнивается с (REST и HTTP / 2)?В Интернете так много блогов / видео, которые сравнивают gRPC (HTTP / 2) с (REST и HTTP / 1.1), например this. Как было сказано ранее, я хотел бы знать различия, преимущества при сравнении GRPC (HTTP / 2) и (REST с HTTP / 2).
L

Lakshman Diwaakar

5 лет назад

Ответов: 2

Облачные функции для Firebase срабатывают вовремя?

Я ищу способ запланировать облачные функции для Firebase или, другими словами, запускать их в определенное время.
a

ahsan

5 лет назад

Ответов: 3

В чем разница между Cloud Firestore и базой данных Firebase Realtime?

Google только что выпустил Cloud Firestore, свою новую базу данных документов для приложений.Я читал документацию, но не вижу большой разницы между Firestore и Firebase DB.Главное, что Firestore использует документы и коллекции, которые позволяют легко использовать запросы по сравнению с Firebase, которая представляет собой традиционную базу данных noSQL с базой JSON.Я хотел бы узнать немного больше об их различиях или использовании, а также о том, пришел ли Firestore на замену Firebase DB?
F

Francisco Durdin Garcia

4 года назад

Ответов: 7

Как изменить проект в GCP с помощью команд интерфейса командной строки

Как я могу изменить текущий запущенный проект на другой проект в учетной записи GCP (Google Cloud Platform), используя команды cli, кроме gcloud init вручную?Список проектов gcloud отобразит проекты, запущенные в моей учетной записи. Я хочу заменить текущий проект на любой другой проект из списка с помощью команды cli.
E

Ebin Davis

4 года назад

Ответов: 19

Как предоставить учетной записи службы доступ только к одному ведру (Google Cloud)?

Как предоставить учетной записи сервиса только доступ к одному ведру? Если вы на всякий случай хотите предоставить другому третьему стороннему сервису доступ к вашему частному ведру? Проблема в том, что по умолчанию (учетная запись службы) имеет доступ ко всем ведрам, и я не представляю, как ограничить его только одним ведром.Возможно ли добиться этого из приборной панели или только из консоли? Если это возможно из приборной панели, то я хотел бы узнать, как это сделать.Спасибо.Редактировать**У меня есть 3 ведра, и когда я создаю учетную запись службы с разрешением (Object Viewer), она автоматически добавляется во все три ведра, а когда я пытаюсь удалить ее из разрешения любого из ведер, к которым я не хочу, чтобы она имела доступ, я получаю сообщение (Член унаследован от другой политики и не может быть удален).
N

Newbie

год назад

Ответов: 1

Как заставить несколько виртуальных машин работать с одним и тем же сценарием в GCP?

У меня есть сценарий Python, который должен создать довольно длинный список, в настоящее время виртуальная машина, которую я использую, имеет 8-ядерный процессор и 30 ГБ оперативной памяти, однако этого недостаточно, так как машина исчерпывает память, прежде чем она сможет создать список. Мне интересно, можно ли иметь, скажем, 5 одинаковых ВМ и заставить их работать над одним и тем же сценарием и объединить их ресурсы вместе? Я думал об использовании MIG, но мне интересно, где я буду хранить сценарий и как они смогут общаться между собой?
B

Beembo

год назад

Ответов: 1

Пытаюсь запустить пример BigQuery с облаком Google, но возникают проблемы

Я пытаюсь запустить пример с использованием BigQuery с python, но продолжаю получать одну и ту же ошибку. Здесь говорится, что нужно установить путь, написав в терминале (в pycharm) следующее: set GOOGLE_APPLICATION_CREDENTIALS=[PATH] Мой путь таков: C:\Users\Ejer\PycharmProjects\pythonProject\the name of my json file.json Не уверен, в чем моя проблема. Ввод: from google.cloud import bigquery # Создаем объект клиента BigQuery. client = bigquery.Client() query = """ SELECT имя, SUM(число) как total_people FROM `bigquery-public-data.usa_names.usa_1910_2013` WHERE state = 'TX' GROUP BY name, state ORDER BY total_people DESC LIMIT 20 """ query_job = client.query(query) # Выполните запрос API. print("Данные запроса:") for row in query_job: # Доступ к значениям строк можно получить по имени поля или индексу. print("name={}, count={}".format(row[0], row["total_people"])) Вывод: C:\Users\Ejer\anaconda3\envs\pythonProject\python.exe C:/Users/Ejer/PycharmProjects/pythonProject/CoinMarketCap.py Traceback (последний последний вызов): File "C:/Users/Ejer/PycharmProjects/pythonProject/CoinMarketCap.py", line 7, in client = bigquery.Client() Файл "C:\Users\Ejer\anaconda3\envs\pythonProject\lib\site-packages\google\cloud\bigquery\client.py", строка 176, in __init__ super(Client, self).__init__( Файл "C:\Users\Ejer\anaconda3\envs\pythonProject\lib\site-packages\google\cloud\client.py", строка 249, in __init__ _ClientProjectMixin.__init__(self, project=project) Файл "C:\Users\Ejer\anaconda3\envs\pythonProject\lib\site-packages\google\cloud\client.py", строка 201, in __init__ project = self._determine_default(project) Файл "C:\Users\Ejer\anaconda3\envs\pythonProject\lib\site-packages\google\cloud\client.py", строка 216, in _determine_default return _determine_default_project(project) File "C:\Users\Ejer\anaconda3\envs\pythonProject\lib\site-packages\google\cloud\_helpers.py", line 186, in _determine_default_project _, проект = google.auth.default() Файл "C:\Users\Ejer\anaconda3\envs\pythonProject\lib\site-packages\google\auth\_default.py", строка 356, в default raise exceptions.DefaultCredentialsError(_HELP_MESSAGE) google.auth.exceptions.DefaultCredentialsError: Не удалось автоматически определить учетные данные. Пожалуйста, установите GOOGLE_APPLICATION_CREDENTIALS или явно создайте учетные данные и повторно запустите приложение. Для получения дополнительной информации см. https://cloud.google.com/docs/authentication/getting-started.
D

Dfhaa_DK

год назад

Ответов: 2

2022 WebDevInsider