簡體   English   中英

GCP Cloud Function 如何從 ServiceNow 執行或觸發它?

[英]How does GCP Cloud Function can execute or trigger it from ServiceNow?

嗨,GCP 的 iam 初學者級別剛剛開始學習和熟悉自己,我有一個要求,比如 StopVM、StartVM、ResizeVM、刪除孤兒 IP 等雲操作用例很少。應該從 ServiceNow 端而不是從 GCP 控制台執行它,所以我已經為我們在 GCP 控制台中的一個操作用例創建了谷歌雲 function 所以現在我的腳本應該如何從 servicenow 觸發它,就像 gcp 中可用的任何 API 或 Webhook URI 或任何其他服務一樣,以執行相同的分離雲功能,是有沒有可能的方法? 如果是,請告訴我。

提前致謝!

Google 通常通過 REST API 公開其所有服務的所有功能。

它還支持某些服務的例如 gRPC,但我將把這個答案集中在 REST 上。

這意味着,如果您希望調用這些方法中的任何一個,例如停止 VM(稱為實例),您需要找到正確的服務(即Compute )和正確的方法( instances.stop )。

Google 提供了一個名為APIs Explorer的工具,使您能夠瀏覽它的所有公共服務,以及對於每個服務(例如Compute )(對於 API 的特定版本,例如v1 ),所有方法。

剩下要做的就是:

  1. 填充路徑、查詢和響應正文(如果有)。 該方法的文檔對此進行了詳細描述,APIs Explorer 甚至在右側提供了“嘗試此方法”(您應該嘗試一下)。
  2. 驗證並確保您有權提出請求(見下文)。

為了使這個答案簡短,如果您擴展“嘗試此方法”,它將為您提供希望 curl、HTTP 和 JavaScript 示例如何調用此 API 方法:

PROJECT="[YOUR-PROJECT]"
INSTANCE="[INSTANCE-NAME]"
ZONE="[INSTANCE-ZONE]"

URL="https://compute.googleapis.com/compute/v1/projects/${PROJECT}/zones/${ZONE}/instances/${INSTANCE}/stop"

curl \
--request POST \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed \
${URL}

如果您需要做一些比將 API 方法調用串聯起來更復雜的事情,例如,您想列出所有具有特定標簽的實例,然后只停止這些實例,那么您有多種選擇。 您可以實現此目的的一種方法 (,) 是編寫一個 Cloud Functions (function.),它將計算服務的 REST API 方法組合成一個函數,部署它然后調用 Cloud Functions ZC1C425268E68384F1AB50 為您完成工作。

最后,對於每項Google 服務,都有客戶端庫可以更輕松地編寫調用服務方法的代碼。 這是 Google 的Compute Engine 客戶端庫文檔。

如果您可以使用客戶端庫,那么您應該這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM