Skip to content

Latest commit

 

History

History
85 lines (65 loc) · 2.86 KB

README.md

File metadata and controls

85 lines (65 loc) · 2.86 KB

Protobuf Reflection Example

A Go example that dynamically loads proto files and outputs metadata, including comments.

Program output:

=====
A service that application uses to manipulate triggers and functions.
=====

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

GetFunction:
 Returns a function with the given name from the requested project.

CreateFunction:
 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.

UpdateFunction:
 Updates existing function.

DeleteFunction:
 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.

CallFunction:
 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](https://cloud.google.com/functions/quotas#rate_limits).

GenerateUploadUrl:
 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/zip`
 * `x-goog-content-length-range: 0,104857600`

 And this header SHOULD NOT be specified:

 * `Authorization: Bearer YOUR_TOKEN`

GenerateDownloadUrl:
 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

SetIamPolicy:
 Sets the IAM access control policy on the specified function.
 Replaces any existing policy.

GetIamPolicy:
 Gets the IAM access control policy for a function.
 Returns an empty policy if the function exists and does not have a policy
 set.

TestIamPermissions:
 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.