Ошибка: квота превышена (превышена квота для группы квот "DNSResolutionsNonbillable" и ограничено "DNS-разрешения в день" - PullRequest
1 голос
/ 05 мая 2020

Я тестирую фоновую функцию, которая подсчитывает количество созданных документов, в которых указано c поле, но я получаю эту ошибку.

Я понял, что у меня 2 миллиона вызовов в месяц (включая фоновые и HTTP-вызовы проекта из-за этого , и у меня всего 24 тыс. Транзакций, потому что я тестирую) надежность результатов с транзакциями и from google.cloud.firestore_v1 import Increment.

Из небольшого количества данных я получил неправильный подсчет с подходом приращения. Например, из 15 проектов функция получает 14, а также с 500 функция подсчитывает мне на одну меньше, но с большим количеством данных, у меня были худшие результаты (большая разница), поэтому я надеялся, что этого не произойдет с транзакциями. Однако теперь я не могу проверить эту ошибку, как это могло произойти? Спасибо за ваше время. Это ошибка:

Error: quota exceeded (Quota exceeded for quota group 'DNSResolutionsNonbillable' and limit 'DNS resolutions per day' of service 'cloudfunctions.googleapis.com' for consumer 'project_number:xxxx'.); to increase quotas, enable billing in your project at https://console.cloud.google.com/billing?project=xxxxx. Function cannot be executed.

Это функция, которая просто уменьшает число при удалении документа:

def increase_total_documents(data,context):
    """ Triggered by a creation to a Firestore document.
        Args:
            data (dict): The event payload.
            context (google.cloud.functions.Context): Metadata for the event.
        """
    trigger_resource = context.resource
    print('Function triggered by change to: %s' % trigger_resource)
    value = data["value"]
    field = value["fields"]["FIELD"]["stringValue"]
    if field == "xfield":
        doc_ref = FIRESTORE_CLIENT.document('metadata/path')
        result = doc_ref.set({"count":Increment(1)},merge=True)
        number = result.transform_results[0].integer_value
        mensaje = "Number increased {}".format(number)
        print(mensaje)
        return mensaje

1 Ответ

0 голосов
/ 05 мая 2020

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

...