Bandwidth Quota for Google Apps Script - google-apps-script

This morning we got a couple of errors from Google Apps script saying:
Exception: Bandwidth quota exceeded...
Try reducing the rate of data transfer.
Our Google Apps Script (GAS) programs mainly look at Gmail, do some processing, access Google Maps some, and transfer data back and forth between GAS/GCP and an app hosted on another platform.
However, accessing Gmail doesn't seem to be what this is talking about. "Bandwidth quota" would seem to indicate too much data is being transferred into and out of the Google servers via Google Apps Script. We do transfer a fair amount of data back and forth to an app hosted on another platform on the Internet, such as Amazon Web Services.
However, we don't see that there is a "Bandwidth quota" on the Google Services Quotas page. AND around the time we got this error this morning, we weren't accessing Gmail nor transferring data back and forth outside of GCP any more than usual. Probably less.
Does anyone know what this quota is, where we can find it, and how we can possibly bump it up, even if we need to pay for it?
I looked at our Google Cloud Platform (CCP) Console Quotas (https://console.cloud.google.com/iam-admin/quotas) and we are well below any usage limit, and see none that are about a "Bandwidth Quota".
Thank you!
UPDATE 29 March 2022 - After more than a month of having zero of these messages, this evening we are seeing at least 10 of them. Some facts:
The "bandwidth quota exceeded" errors are only happening when calling the APIs for one particular external app hosted on AWS-like servers. They do not occur when calling drive, maps, etc. or any other APIs.
Today has been a lower-volume day & evening for our app than many are. So, this makes no sense why we would get these errors this evening and not other days.

Related

Service invoked too many times for one day: urlfetch - Pretty sure quota not exceeded

we use a custom script to retrieve data from Bookeo API with UrlFetchApp.fetch. ยต
Everything went well but today, we have the following error "Service invoked too many times for one day: urlfetch"
We are aware of the limitation of 20.000 calls/day as mentionned here https://developers.google.com/apps-script/guides/services/quotas, but we don't think that we come close to this (maybe 1.000 - 1.500/day max)
The portion of the code where the error happen is
var responseBooking = UrlFetchApp.fetch(urlBooking);
So i'm sure it's related to quota issue
The weird thing is it's working like 1 time / 5-6 try
My questions are :
has Google changed it's quota limitation? (I didn't see any communication about it)
Is there a way to see how many calls was made for each service?
Is there a sort of chat for technical support for Google Apps Script?
Answer(s):
has Google changed it's quota limitation? (I didn't see any communication about it)
No.
Is there a way to see how many calls was made for each service?
No.
Is there a sort of chat for technical support for Google Apps Script?
No.
More Information:
Aside from the 20,000 calls/day limit, there are also limits which restrict the number of calls in short periods of time.
The quota works based on a rolling average of service invocations. You have a quota of 20,000 per day, but if you exceed the rate of ~0.231 calls per second (20,000/86,400) for a sustained period of time, you can still trigger an error.
You can rectify this by waiting for a while so that the impulse of invocations goes down. I would also suggest adding some form of exponential backoff to your code to stop this from happening again in future.
References:
Quotas for Google Services | Apps Script | Google Developers
Exponential backoff - Wikipedia

Google Cloud Vision API from Google Apps Script?

I've been accessing the Google Cloud Vision API from a script in a Google Sheet using UrlFetch and the REST API.
Until I got "UrlFetch failed because too much upload bandwidth was used" I didn't even know there was a quota on UrlFetch!
Is the a way to access Google Cloud APIs from a Google Apps Script so I can dodge the quota?
Quotas protect the users of Google services by preventing unforeseen spikes in usage, on the benefit of both the user (who might get unexpected bills if the quota is related to a payed resource) and the community (who will have more resourcesa available, as they will not be monopolized by users that are making an excesive use of them).
That is the reason why quotas cannot be exceeded, although depending on the service (and specific quota) you are using, you may be able to request a quota increase by following the documented procedure or contacting the support team of the product in use.
Finally, in order to identify which is the quota that you are currently hitting, refer to this documentation page where you will be able to find the quotas for URL Fetch, which as of February 2018 are:
As a side note, you have to take into account that these quotas are refreshed at the end of a 24-hour window, so your quota will be resetted to 0 every day. Moreover, this is also on a per-user basis, so you can work around this limitation by spreading your URLFetch usage across several users and days, if that is something that you can manage.

Is there a Google Apps Script quotas dashboard?

Does Google offer any type of dashboard which shows which scripts are using the most amount of computer time? I've been getting a lot of notices lately that I'm exceeding my computer time quota. I'm making adjustments where I can but it's difficult to know where I can tweak things without some type of dashboard showing me where my quota is being used.
There are a few ways to check quotas. Some of the service APIs may have methods (like MailApp's getRemainingDailyQuota). You can also check the Quotas page from your Developer's Console. Sometimes you get quota errors that are unclear but there is a reference page that clarifies some of them.

How the quotas of google drive sdk works?

I am starting to develop a windows-like client google drive client for linux.
I have some problems that I am solving yet, but one no technical question are worrying me.
The drive sdk has request limit, I want open my app like other options (for example gdrive ) but the request limit will avoid general availability.
I need put a personal id, but I suppose that is not the way to publish the app.
How other options solve this problem?
Google Drive Apps have a "courtesy limit" of 10 million requests per day I believe.
I cannot imagine a situation in the near future where you will run into issues.
If so this is often referred to in the world of software development as "the good problem".
Google will no doubt allow you to scale if your app provides value to users and needs the bandwidth.

Is it possible to scale Google Apps Script?

If I write an entire web app in GAS and then it gets popular and it starts receiving a thousand requests per second. Is there any way to either pay Google to handle it, or host my GAS app on non-Google infrastructure, in the same way that here does for Google App Engine?
Your GAS script scales up automatically. The only thing that you should be worried about is your code where, if you have locks, thousands of users waiting for a lock will cause delays to the user. Other than that, scaling up shouldn't be a problem. After all, there are possibly millions of scripts being run by different users.
I've never seen Google suggest Apps Script is the tool for that kind of scale. Go to App Engine, do not pass Go, etc.
There is no third-party implementation of the Google Apps Script services. It is, however, a JavaScript implementation on Java (think Rhino) which you can run yourself - or you could run on App Engine and use the Java GData APIs to replace the Apps Script services.
if the App is running under the user account (execute the app as the user accessing the web app) it will consume each user's quotas and use their own account resources (docs, sheets, etc). This would allow for 'unlimited' scalability.
This is just my own view, am I right or totally wrong?