generateUploadUrl method
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.
- 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
Throws a http.ClientException if there were problems communicating with
the API service. Throws a StatusException if the API failed with a
Status message. Throws a ServiceException for any other failure.
Implementation
Future<GenerateUploadUrlResponse> generateUploadUrl(
GenerateUploadUrlRequest request,
) async {
final url = Uri.https(
_host,
'/v2/${request.parent}/functions:generateUploadUrl',
);
final response = await _client.post(url, body: request);
return GenerateUploadUrlResponse.fromJson(response);
}