Ограничение Google облачной функции квоты - PullRequest
0 голосов
/ 15 марта 2020

У меня есть облачная функция Google в python для развертывания новых облачных функций Google (из .zip-файла моих облачных хранилищ) внутри одного и того же проекта. Функции содержат следующий код:

import requests
import json


def make_func(request):


    # Get the access token from the metadata server
    metadata_server_token_url = 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token?scopes=https://www.googleapis.com/auth/cloud-platform'
    token_request_headers = {'Metadata-Flavor': 'Google'}
    token_response = requests.get(metadata_server_token_url, headers=token_request_headers)
    token_response_decoded = token_response.content.decode("utf-8")
    jwt = json.loads(token_response_decoded)['access_token']

    # Use the api you mentioned to create the function
    response = requests.post('https://cloudfunctions.googleapis.com/v1/projects/my-project/locations/us-central1/functions',
                               json={"name":"projects/my-project/locations/us-central1/functions/funct","runtime":"python37","sourceArchiveUrl":"gs://functions/main.zip","entryPoint":"hello_world","httpsTrigger": {} },
                               headers={'Accept': 'application/json', 
                                        'Content-Type': 'application/json',
                                        'Authorization': 'Bearer {}'.format(jwt)} )   
    if response:
         return 'Success! Function Created'
    else:
         return str(response.json())  

Я хочу добавить какую-то квоту / ограничить эти новые функции. Это может быть количество вызовов, вызовов / минут, потраченных на эту функцию, и т. Д. c. У вас есть идеи, как я могу добавить квоту? И как я могу добавить это в мой Python скрипт?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 марта 2020

Я написал статью для этого с Cloud Endpoint.

Приближается нечто более управляемое, возможно, объявление в Google Cloud Next через 3 недели. Оставайтесь с нами!

0 голосов
/ 18 марта 2020

Мне не удалось решить эту проблему для функций Google Cloud. Тем не менее, я нашел решение для функций Firebase. Вы можете найти его в вопросе здесь: Ограничение скорости для облачных функций Google / Firebase?

...