Когда вы отключаете API, вы можете удалить все ресурсы, созданные API, а также отключите другие API, которые зависят от API, который вы отключаете. В зависимости от продуктов, которые вы используете в своем проекте в указанном вами случае c, если вы отключите API Pub / Sub, вы можете отключить следующие API:
cloudbuild.googleapis.com
cloudfunctions.googleapis.com
containerregistry.googleapis.com
run.googleapis.com
...among others
Если вам известно о рисках и нарушениях, которые могут вызвать отключение API (и, следовательно, всех других зависимых API) в вашем Проекте, если у вас есть что-то в производстве, следующий код, использующий API-интерфейс Service Usage disable метод из Python Клиентская библиотека будет работать, отключит API потока данных:
from googleapiclient import discovery
import google.auth
def hello_world(request):
credentials, project_id = google.auth.default()
name = 'projects/[PROJECT-NUMBER-NOT-ID]/services/dataflow.googleapis.com'
body = {'disableDependentServices': True,}
service = discovery.build('serviceusage', 'v1', credentials=credentials, cache_discovery=False)
request = service.services().disable(name=name, body=body)
try:
response = request.execute()
except Exception as e:
print(e)
return "API disabled"
После проверки журналов активности вы должны увидеть сообщения, аналогичные приведенным ниже, после запуска облачной функции:
9:12 AM Completed: google.api.serviceusage.v1.ServiceUsage.DisableService [PROJECT-ID]@appspot.gserviceaccount.com has executed google.api.serviceusage.v1.ServiceUsage.DisableService on dataflow.googleapis.com
9:12 AM google.api.serviceusage.v1.ServiceUsage.DisableService [PROJECT-ID]@appspot.gserviceaccount.com has executed google.api.serviceusage.v1.ServiceUsage.DisableService on dataflow.googleapis.com
Обратите внимание, что в зависимости от продукта, который вы используете, этот метод отключения API может прекратить все платежи, связанные, например, с сетевым трафиком c, но в целом такие сборы, как стоимость хранения в экземплярах Cloud SQL, будут по-прежнему накапливаться.
В общем, это мое личное мнение, что это не лучший подход (поскольку отключение API-интерфейсов может быть довольно опасным, если у вас есть производственное приложение, а другие API-интерфейсы зависят от этого API-интерфейса), и в целом я хотел бы рассмотреть возможность использования бюджетов и предупреждений о бюджете (которые также используют облачные функции и другие службы, такие как Pub / Саб, чтобы получать уведомления). Найдите все соответствующие разделы документации, касающиеся бюджетов и бюджетных уведомлений здесь и здесь .