Cloud Functions 連接器
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
Workflows 連接器,用於定義內建函式,以便在工作流程中存取 Cloud Functions。
深入探索
如需包含這個程式碼範例的詳細說明文件,請參閱下列內容:
程式碼範例
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# Connector for Cloud Functions\n\nWorkflows connector that defines the built-in function used to access Cloud Functions within a workflow.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Cloud Functions API Connector Overview](/workflows/docs/reference/googleapis/cloudfunctions/Overview)\n\nCode sample\n-----------\n\n### YAML\n\n # This workflow demonstrates how to use the Cloud Functions connector:\n # Create a function using source code stored as a zip archive in a\n # Cloud Storage bucket (gs://BUCKET_NAME/cloud-function-source.zip)\n # Source code must be a properly structured Cloud Function\n # Expected output: \"SUCCESS\"\n main:\n params: []\n steps:\n - init:\n assign:\n - project: ${sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\")}\n - location: \"us-central1\"\n - name: \"example-function\"\n - bucket: \"BUCKET_NAME\" # replace BUCKET_NAME placeholder\n - sourceArchiveUrl: ${\"gs://\" + bucket + \"/cloud-function-source.zip\"}\n - service_account: ${project + \"@appspot.gserviceaccount.com\"} # App Engine default service account\n - create_function:\n call: googleapis.cloudfunctions.v1.projects.locations.functions.create\n args:\n location: ${\"projects/\" + project + \"/locations/\" + location}\n body:\n name: ${\"projects/\" + project + \"/locations/\" + location + \"/functions/\" + name}\n description: \"Cloud Function for Workflows connector testing\"\n entryPoint: \"helloWorld\"\n runtime: \"nodejs10\"\n serviceAccountEmail: ${service_account}\n sourceArchiveUrl: ${sourceArchiveUrl}\n httpsTrigger:\n securityLevel: \"SECURE_OPTIONAL\"\n - get_function:\n call: googleapis.cloudfunctions.v1.projects.locations.functions.get\n args:\n name: ${\"projects/\" + project + \"/locations/\" + location + \"/functions/\" + name}\n result: function\n - grant_permission_to_all:\n call: googleapis.cloudfunctions.v1.projects.locations.functions.setIamPolicy\n args:\n resource: ${\"projects/\" + project + \"/locations/\" + location + \"/functions/\" + name}\n body:\n policy:\n bindings:\n - members: [\"allUsers\"]\n role: \"roles/cloudfunctions.invoker\"\n - call_function:\n call: http.get\n args:\n url: ${function.httpsTrigger.url}\n result: resp\n - verify_response:\n call: assert_response\n args:\n expected_response: \"success\" # function must return \"success\" when triggered\n actual_response: ${resp.body}\n - delete_function:\n call: googleapis.cloudfunctions.v1.projects.locations.functions.delete\n args:\n name: ${\"projects/\" + project + \"/locations/\" + location + \"/functions/\" + name}\n - the_end:\n return: \"SUCCESS\"\n\n assert_response:\n params: [expected_response, actual_response]\n steps:\n - compare:\n switch:\n - condition: ${expected_response == actual_response}\n next: end\n - fail:\n raise: ${\"Expected response is \" + expected_response + \". Received \" + actual_response + \" instead.\"}\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=workflows)."]]