Есть ли способ получить стоимость выполнения функции Google Cloud? - PullRequest
0 голосов
/ 16 января 2020

Когда мы, например, развертываем и вызываем Облачная функция Google с помощью триггера PubSub, мы можем получить данные и контекст в Python следующим образом:

def hello_pubsub(event, context):
    """Background Cloud Function to be triggered by Pub/Sub.
    Args:
         event (dict):  The dictionary with data specific to this type of
         event. The `data` field contains the PubsubMessage message. The
         `attributes` field will contain custom attributes if there are any.
         context (google.cloud.functions.Context): The Cloud Functions event
         metadata. The `event_id` field contains the Pub/Sub message ID. The
         `timestamp` field contains the publish time.
    """
    import base64

    print("""This Function was triggered by messageId {} published at {}
    """.format(context.event_id, context.timestamp))

    if 'data' in event:
        name = base64.b64decode(event['data']).decode('utf-8')
    else:
        name = 'World'
    print('Hello {}!'.format(name))

Is Есть ли возможность использовать context.event_id или контекст для определения общей стоимости в конце выполнения?

1 Ответ

2 голосов
/ 16 января 2020

Биллинг для облачных функций привязан к времени, потраченному на выполнение, и типу машины, которую вы используете. Это можно увидеть в их документации .

. Было бы лучше проверить в журналах Stackdriver время, которое потребовалось для выполнения функции, и использовать его в качестве основы для выставления счетов. приближение. Я говорю «приближение» из-за того факта, что даже с отметкой времени в журналах может быть небольшое расхождение между вашими результатами и платежами Google в конце месяца.

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

Надеюсь, вы найдете это полезным.

...