GoogleCloudPlatform / GoogleCloudPlatform/deploymentmanager-samples

how to initially we can invoke cloud function from deployment manager?

Open
#680 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jinja
Stars
951
Forks
700
PR merge metrics
No merged PRs in 30d

Description

Question 1. I'm trying to create a cloud function through a cloud deployment manager. Once that is deployed, the function is unable to invoke initially. after testing or clicking a URL, the function is invoking.

Deployment.jinja
```

{% set deployment_name = env["deployment"] %}
{% set project = env['project'] %}
{% set region = "us-central1" %}

resources:
- type: storage.v1.bucket
name: {{ deployment_name }}
properties:
project: {{ project }}
- name: CloudFunction
type: gcp-types/cloudfunctions-v1:projects.locations.functions
properties:
parent: projects/{{ project }}/locations/us-central1
function: {{ deployment_name }}
entryPoint: handler
timeout: 60s
availableMemoryMb: 256
runtime: python39
location: {{ region }}
sourceArchiveUrl: gs://bucket/archive.zip
httpsTrigger:
url: https://{{ region }}-{{ project }}.cloudfunctions.net/{{ deployment_name }}
environmentVariables:
BUCKET: {{ deployment_name }}
FUNCTION_REGION: {{ region }}
PROJECT: {{ project }}
```
Question 2. Can we invoke a function based on CreateFunction or DeleteFunction? Same, how we call in AWS lambda like requestType=Create and requestType=Delete.

**stack driver logs:**
```Ex: methodName: google.cloud.functions.v1.CloudFunctionsService.DeleteFunction and methodName: google.cloud.functions.v1.CloudFunctionsService.CreateFunction ```
simmillar like this:
```
def hello_world(request):
if request['methodName']=="DeleteFunction":
print("delete bucket")
if request['methodName']=="CreateFunction":
print("create bucket")
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.