Constructor
new CloudFunctionsServiceClient(optionsopt)
Construct an instance of CloudFunctionsServiceClient.
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
<optional> |
The configuration object. The options accepted by the constructor are described in detail in this document. The common options are: Properties
|
Members
apiEndpoint
The DNS address for this API service - same as servicePath(), exists for compatibility reasons.
port
The port for this API service.
scopes
The scopes needed to make gRPC calls for every method defined in this service.
servicePath
The DNS address for this API service.
Methods
callFunction(request, optionsopt) → {Promise}
Synchronously invokes a deployed Cloud Function. To be used for testing purposes as very limited traffic is allowed. For more information on the actual limits, refer to Rate Limits.
Parameters:
| Name | Type | Attributes | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
(async) checkCreateFunctionProgress(name) → {Promise}
Check the status of the long running operation returned by createFunction().
Parameters:
| Name | Type | Description |
|---|---|---|
name |
String |
The operation name that will be passed. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
Example
const decodedOperation = await checkCreateFunctionProgress(name);
console.log(decodedOperation.result);
console.log(decodedOperation.done);
console.log(decodedOperation.metadata);
(async) checkDeleteFunctionProgress(name) → {Promise}
Check the status of the long running operation returned by deleteFunction().
Parameters:
| Name | Type | Description |
|---|---|---|
name |
String |
The operation name that will be passed. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
Example
const decodedOperation = await checkDeleteFunctionProgress(name);
console.log(decodedOperation.result);
console.log(decodedOperation.done);
console.log(decodedOperation.metadata);
(async) checkUpdateFunctionProgress(name) → {Promise}
Check the status of the long running operation returned by updateFunction().
Parameters:
| Name | Type | Description |
|---|---|---|
name |
String |
The operation name that will be passed. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
Example
const decodedOperation = await checkUpdateFunctionProgress(name);
console.log(decodedOperation.result);
console.log(decodedOperation.done);
console.log(decodedOperation.metadata);
close() → {Promise}
Terminate the gRPC channel and close the client.
The client will no longer be usable and all future behavior is undefined.
Returns:
| Type | Description |
|---|---|
| Promise |
A promise that resolves when the client is closed. |
cloudFunctionPath(project, location, function) → {string}
Return a fully-qualified cloudFunction resource name string.
Parameters:
| Name | Type | Description |
|---|---|---|
project |
string | |
location |
string | |
function |
string |
Returns:
| Type | Description |
|---|---|
| string |
Resource name string. |
createFunction(request, optionsopt) → {Promise}
Creates a new function. If a function with the given name already exists in
the specified project, the long running operation will return
ALREADY_EXISTS error.
Parameters:
| Name | Type | Attributes | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
Example
const [operation] = await client.createFunction(request);
const [response] = await operation.promise();
deleteFunction(request, optionsopt) → {Promise}
Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function.
Parameters:
| Name | Type | Attributes | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
Example
const [operation] = await client.deleteFunction(request);
const [response] = await operation.promise();
generateDownloadUrl(request, optionsopt) → {Promise}
Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within minutes after generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls
Parameters:
| Name | Type | Attributes | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
generateUploadUrl(request, optionsopt) → {Promise}
Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code.
When uploading source code to the generated signed URL, please follow these restrictions:
- Source file type should be a zip file.
- Source file size should not exceed 100MB limit.
- No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL.
When making a HTTP PUT request, these two headers need to be specified:
content-type: application/zipx-goog-content-length-range: 0,104857600
And this header SHOULD NOT be specified:
Authorization: Bearer YOUR_TOKEN
Parameters:
| Name | Type | Attributes | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
getFunction(request, optionsopt) → {Promise}
Returns a function with the given name from the requested project.
Parameters:
| Name | Type | Attributes | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
getIamPolicy(request, optionsopt) → {Promise}
Gets the IAM access control policy for a function. Returns an empty policy if the function exists and does not have a policy set.
Parameters:
| Name | Type | Attributes | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
getProjectId() → {Promise}
Return the project ID used by this class.
Returns:
| Type | Description |
|---|---|
| Promise |
A promise that resolves to string containing the project ID. |
initialize() → {Promise}
Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.
You can await on this method if you want to make sure the client is initialized.
Returns:
| Type | Description |
|---|---|
| Promise |
A promise that resolves to an authenticated service stub. |
listFunctions(request, optionsopt) → {Promise}
Returns a list of functions that belong to the requested project.
Parameters:
| Name | Type | Attributes | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
listFunctionsAsync(request, optionsopt) → {Object}
Equivalent to listFunctions, but returns an iterable object.
for-await-of syntax is used with the iterable to get response elements on-demand.
Parameters:
| Name | Type | Attributes | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Object |
An iterable Object that allows async iteration. When you iterate the returned iterable, each element will be an object representing CloudFunction. The API will be called under the hood as needed, once per the page, so you can stop the iteration when you don't need more results. Please see the documentation for more details and examples. |
Example
const iterable = client.listFunctionsAsync(request);
for await (const response of iterable) {
// process response
}
listFunctionsStream(request, optionsopt) → {Stream}
Equivalent to method.name.toCamelCase(), but returns a NodeJS Stream object.
Parameters:
| Name | Type | Attributes | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
|||||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Stream |
An object stream which emits an object representing CloudFunction on 'data' event.
The client library will perform auto-pagination by default: it will call the API as many
times as needed. Note that it can affect your quota.
We recommend using |
locationPath(project, location) → {string}
Return a fully-qualified location resource name string.
Parameters:
| Name | Type | Description |
|---|---|---|
project |
string | |
location |
string |
Returns:
| Type | Description |
|---|---|
| string |
Resource name string. |
matchFunctionFromCloudFunctionName(cloudFunctionName) → {string}
Parse the function from CloudFunction resource.
Parameters:
| Name | Type | Description |
|---|---|---|
cloudFunctionName |
string |
A fully-qualified path representing CloudFunction resource. |
Returns:
| Type | Description |
|---|---|
| string |
A string representing the function. |
matchLocationFromCloudFunctionName(cloudFunctionName) → {string}
Parse the location from CloudFunction resource.
Parameters:
| Name | Type | Description |
|---|---|---|
cloudFunctionName |
string |
A fully-qualified path representing CloudFunction resource. |
Returns:
| Type | Description |
|---|---|
| string |
A string representing the location. |
matchLocationFromLocationName(locationName) → {string}
Parse the location from Location resource.
Parameters:
| Name | Type | Description |
|---|---|---|
locationName |
string |
A fully-qualified path representing Location resource. |
Returns:
| Type | Description |
|---|---|
| string |
A string representing the location. |
matchProjectFromCloudFunctionName(cloudFunctionName) → {string}
Parse the project from CloudFunction resource.
Parameters:
| Name | Type | Description |
|---|---|---|
cloudFunctionName |
string |
A fully-qualified path representing CloudFunction resource. |
Returns:
| Type | Description |
|---|---|
| string |
A string representing the project. |
matchProjectFromLocationName(locationName) → {string}
Parse the project from Location resource.
Parameters:
| Name | Type | Description |
|---|---|---|
locationName |
string |
A fully-qualified path representing Location resource. |
Returns:
| Type | Description |
|---|---|
| string |
A string representing the project. |
setIamPolicy(request, optionsopt) → {Promise}
Sets the IAM access control policy on the specified function. Replaces any existing policy.
Parameters:
| Name | Type | Attributes | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
testIamPermissions(request, optionsopt) → {Promise}
Tests the specified permissions against the IAM access control policy for a function. If the function does not exist, this will return an empty set of permissions, not a NOT_FOUND error.
Parameters:
| Name | Type | Attributes | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|
updateFunction(request, optionsopt) → {Promise}
Updates existing function.
Parameters:
| Name | Type | Attributes | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
request |
Object |
The request object that will be sent. Properties
|
||||||||||
options |
object |
<optional> |
Call options. See CallOptions for more details. |
Returns:
| Type | Description |
|---|---|
| Promise |
|