Google Cloud Logging 擴充功能

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

2.0.2 版

將項目寫入 Cloud Logging 記錄檔。

這項內容提供設定及使用這項擴充功能的參考資料。

必要條件

如要透過 API Proxy 使用這項擴充功能,請務必先完成下列步驟:

  1. 在 IAM 中,將「Logging」>「Logs Writer」角色指派給專案成員,代表擴充功能與 Cloud Logging 系統互動。如需如何授予角色的操作說明,請參閱「將角色授予特定資源的服務帳戶」。 如要進一步瞭解記錄角色,請參閱「存取權控管指南」。

  2. 使用 Google Cloud 控制台產生服務帳戶的金鑰

  3. 使用產生的金鑰 JSON 檔案內容,透過設定參考資料新增及設定擴充功能。

這個擴充功能支援由 PostClientFlow 中的 ExtensionCallout 政策呼叫。 如要使用 ExtensionCallout 政策從 PostClientFlow 呼叫這個擴充功能,請確保貴機構的 features.allowExtensionsInPostClientFlow 旗標設為 true

  • 如果您是 Apigee Edge for Public Cloud 客戶,請務必聯絡 Apigee Edge 支援團隊,確保機構中的 features.allowExtensionsInPostClientFlow 旗標設為 true

  • 如果您是 Apigee Edge for Private Cloud 客戶,請使用「更新機構屬性」API,將 features.allowExtensionsInPostClientFlow 旗標設為 true

關於 Cloud Logging

Cloud Logging 是 Google Cloud 作業套件的一部分。其中包括記錄檔的儲存空間、稱為記錄探索器的使用者介面,以及以程式化方式管理記錄的 API。透過 Cloud Logging,您可以讀取及寫入記錄項目、搜尋及篩選記錄、匯出記錄,以及建立記錄指標。

Cloud Logging 擴充功能會將項目寫入記錄檔。詳情請參閱 Cloud Logging 文件

範例

下列範例說明如何使用 ExtensionCallout 政策,設定支援 Cloud Logging 擴充功能動作。

全域記錄

下列政策會將 This is a test 訊息寫入 Cloud Global 資源中名為 example-log 的記錄。實際使用時,訊息可能包含在流程變數中,而您會在 API Proxy 的其他位置設定該變數的值。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
    <DisplayName>Logging Connector</DisplayName>
    <Connector>cloud-extension-sample</Connector>
    <Action>log</Action>
    <Input><![CDATA[{
        "logName": "example-log",
        "metadata": {
            "resource": {
                "type": "global",
                "labels": {
                    "project_id": "my-test"
                }
            }
        },
        "message": "This is a test."
    }]]></Input>
</ConnectorCallout>

這項內容提供設定及使用此擴充功能的參考資料。 如要瞭解如何使用 Apigee 控制台設定擴充功能,請參閱「新增及設定擴充功能」。

動作

log

將訊息寫入記錄。

這項動作會寫入 Cloud Logging 記錄項目。記錄項目包含中繼資料和項目資料。如要進一步瞭解記錄項目,請參閱「項目參考資料」。如要瞭解 metadata 屬性的內容,請參閱 Cloud Logging 說明文件中的 LogEntry 物件。

語法

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "cloud-log-name-to-use",
  "metadata" : JSON-structured-metadata,
  "message" : "data-to-log-as-entry"
}]]></Input>

範例:字串

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message": "This is a test."
}]]></Input>

範例:JSON

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : { "info" :  "This is a test." }
}]]></Input>

要求參數

參數 說明 類型 預設 必填
logName 此項目所屬記錄的名稱。 字串
metadata 記錄項目的中繼資料。
如要進一步瞭解在 metadata 中設定 typelabels 的相關資訊和選項,請參閱「MonitoredResource」。
JSON
message 要當做這個記錄項目值的資料。您可以指定字串,或使用 JSON 記錄結構更完整的訊息。 字串或 JSON

回應

None (如果訊息已寫入記錄)。否則要求會傳回錯誤。另請參閱「偵錯擴充功能」。

設定參考資料

設定及部署這個擴充功能,以便在 API Proxy 中使用時,請按照下列步驟操作。

常見的擴充功能屬性

每個擴充功能都有下列屬性。

屬性 說明 預設 必要
name 您要為這項擴充功能設定的名稱。 相容
packageName Apigee Edge 指定的擴充功能套件名稱。 相容
version 擴充功能的擴充功能套件版本號碼。 相容
configuration 您要新增的擴充功能專屬的設定值。請參閱「這個擴充功能套件的屬性」一文 相容

這個擴充套件的屬性

指定下列設定屬性的值,這些屬性專屬於這個擴充功能。

屬性 說明 預設 必填
projectId 應建立記錄的 Google Cloud 專案 ID。
credentials 在 Apigee Edge 控制台中輸入時,這是服務帳戶金鑰檔案的內容。透過 Management API 傳送時,這是從服務帳戶金鑰檔案產生的 base64 編碼值。