Skip to main content

functions

Creates, updates, deletes, gets or lists a functions resource.

Overview

Namefunctions
TypeResource
Idgoogle.cloudfunctions.functions

Fields

NameDatatypeDescription
namestringA user-defined name of the function. Function names must be unique globally and match pattern projects/*/locations/*/functions/*
descriptionstringUser-provided description of a function.
buildConfigobjectDescribes the Build step of the function that builds a container from the given source.
createTimestringOutput only. The create timestamp of a Cloud Function. This is only applicable to 2nd Gen functions.
environmentstringDescribe whether the function is 1st Gen or 2nd Gen.
eventTriggerobjectDescribes EventTrigger, used to request events to be sent from another service.
kmsKeyNamestringResource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources. It must match the pattern projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
labelsobjectLabels associated with this Cloud Function.
satisfiesPzsbooleanOutput only. Reserved for future use.
serviceConfigobjectDescribes the Service being deployed. Currently Supported : Cloud Run (fully managed).
statestringOutput only. State of the function.
stateMessagesarrayOutput only. State Messages for this Cloud Function.
updateTimestringOutput only. The last update timestamp of a Cloud Function.
upgradeInfoobjectInformation related to: A function's eligibility for 1st Gen to 2nd Gen migration Current state of migration for function undergoing migration.
urlstringOutput only. The deployed url for the function.

Methods

NameAccessible byRequired ParamsDescription
getSELECTfunctionsId, locationsId, projectsIdReturns a function with the given name from the requested project.
listSELECTlocationsId, projectsIdReturns a list of functions that belong to the requested project.
createINSERTlocationsId, projectsIdCreates 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.
deleteDELETEfunctionsId, locationsId, projectsIdDeletes 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.
patchUPDATEfunctionsId, locationsId, projectsIdUpdates existing function.
abort_function_upgradeEXECfunctionsId, locationsId, projectsIdAborts generation upgrade process for a function with the given name from the specified project. Deletes all 2nd Gen copy related configuration and resources which were created during the upgrade process.
commit_function_upgradeEXECfunctionsId, locationsId, projectsIdFinalizes the upgrade after which function upgrade can not be rolled back. This is the last step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Deletes all original 1st Gen related configuration and resources.
generate_download_urlEXECfunctionsId, locationsId, projectsIdReturns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within 30 minutes of generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls
generate_upload_urlEXEClocationsId, projectsIdReturns 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. 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, specify this header: content-type: application/zip Do not specify this header: Authorization: Bearer YOUR_TOKEN
redirect_function_upgrade_trafficEXECfunctionsId, locationsId, projectsIdChanges the traffic target of a function from the original 1st Gen function to the 2nd Gen copy. This is the second step of the multi step process to upgrade 1st Gen functions to 2nd Gen. After this operation, all new traffic will be served by 2nd Gen copy.
rollback_function_upgrade_trafficEXECfunctionsId, locationsId, projectsIdReverts the traffic target of a function from the 2nd Gen copy to the original 1st Gen function. After this operation, all new traffic would be served by the 1st Gen.
setup_function_upgrade_configEXECfunctionsId, locationsId, projectsIdCreates a 2nd Gen copy of the function configuration based on the 1st Gen function with the given name. This is the first step of the multi step process to upgrade 1st Gen functions to 2nd Gen. Only 2nd Gen configuration is setup as part of this request and traffic continues to be served by 1st Gen.

SELECT examples

Returns a list of functions that belong to the requested project.

SELECT
name,
description,
buildConfig,
createTime,
environment,
eventTrigger,
kmsKeyName,
labels,
satisfiesPzs,
serviceConfig,
state,
stateMessages,
updateTime,
upgradeInfo,
url
FROM google.cloudfunctions.functions
WHERE locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

INSERT example

Use the following StackQL query and manifest file to create a new functions resource.

/*+ create */
INSERT INTO google.cloudfunctions.functions (
locationsId,
projectsId,
name,
description,
buildConfig,
serviceConfig,
eventTrigger,
labels,
environment,
kmsKeyName
)
SELECT
'{{ locationsId }}',
'{{ projectsId }}',
'{{ name }}',
'{{ description }}',
'{{ buildConfig }}',
'{{ serviceConfig }}',
'{{ eventTrigger }}',
'{{ labels }}',
'{{ environment }}',
'{{ kmsKeyName }}'
;

UPDATE example

Updates a functions resource.

/*+ update */
UPDATE google.cloudfunctions.functions
SET
name = '{{ name }}',
description = '{{ description }}',
buildConfig = '{{ buildConfig }}',
serviceConfig = '{{ serviceConfig }}',
eventTrigger = '{{ eventTrigger }}',
labels = '{{ labels }}',
environment = '{{ environment }}',
kmsKeyName = '{{ kmsKeyName }}'
WHERE
functionsId = '{{ functionsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

DELETE example

Deletes the specified functions resource.

/*+ delete */
DELETE FROM google.cloudfunctions.functions
WHERE functionsId = '{{ functionsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';