Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動。 情報
バージョン 1.6.7
Cloud Logging のログにエントリを書き込みます。
ここでは、この拡張機能の構成と使用に関するリファレンスを提供します。
前提条件
API プロキシからこの拡張機能を使用する前に、次の操作を行う必要があります。
IAM で、Cloud Logging システムへの拡張機能を表現するプロジェクト メンバーに [Logging] > [Logs Writer] のロールを割り当てます。ロールを付与する方法については、特定のリソースに対するサービス アカウントへのロールの付与をご覧ください。ロギングのロールについて詳しくは、アクセス制御ガイドをご覧ください。
拡張機能の追加と構成を行うときに、構成リファレンスを使用して、生成されたキーの JSON ファイルのコンテンツを使用します。
この拡張機能は、PostClientFlow 内の PostClientFlowでの呼び出しをサポートしています。ExtensionCallout ポリシーを使用して PostClientFlow からこの拡張機能を呼び出す場合は、組織で features.allowExtensionsInPostClientFlow フラグが true に設定されていることを確認します。
Apigee Edge for Public Cloud をご利用の場合は、Apigee Edge サポートに連絡して、組織で
features.allowExtensionsInPostClientFlowフラグがtrueに設定されていることを確認してください。Apigee Edge for Private Cloud をご利用の場合は、Update 組織プロパティ API を使用して
features.allowExtensionsInPostClientFlowフラグをtrueに設定します。
Cloud Logging について
Cloud Logging は、Google Cloud のオペレーション スイートの一部です。ログのストレージ、ユーザー インターフェース(ログ エクスプローラ)、ログをプログラムで管理する API から構成されます。Cloud Logging では、ログエントリの読み取りと書き込み、ログの検索とフィルタリング、ログのエクスポートを行うことができます。また、ログベースの指標も作成できます。
Cloud Logging 拡張機能は、現在はログにエントリを書き込みます。詳細については、Cloud Logging のドキュメントをご覧ください。
サンプル
次の例は、ExtensionCallout ポリシーを使用して Cloud Logging 拡張機能アクションのサポートを構成する方法を示しています。
グローバルログ
次のポリシーは、Cloud Global リソースの example-log というログに This is a test というメッセージを書き込みます。実際に使用する際は、API プロキシの別の場所に値を設定したフロー変数にメッセージを含めることをおすすめします。
<?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 Console で拡張機能を構成する手順については、拡張機能の追加と構成をご覧ください。
操作
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 での type と labels の設定の詳細とオプションについては、MonitoredResource をご覧ください。 |
JSON | なし | いいえ |
message |
このログエントリの値として使用するデータ。単純な文字列を指定するか、JSON を使用して、より構造化されたメッセージを記録します。 | 文字列または JSON | なし | ○ |
レスポンス
メッセージがログに書き込まれた場合、None。それ以外の場合、リクエストはエラーを返します。拡張機能のデバッグもご覧ください。
構成リファレンス
この拡張機能を API プロキシで使用するように構成してデプロイする場合は、以下のプロパティを使用します。
拡張機能の共通プロパティ
すべての拡張機能には次のプロパティがあります。
| プロパティ | 説明 | デフォルト | 必須 |
|---|---|---|---|
name |
この拡張機能に付ける名前。 | なし | ○ |
packageName |
Apigee Edge から提供された拡張機能パッケージの名前。 | なし | ○ |
version |
拡張機能を構成する拡張機能パッケージのバージョン番号。 | なし | ○ |
configuration |
追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 | なし | ○ |
この拡張機能パッケージのプロパティ
この拡張機能に固有の以下の構成プロパティに値を指定します。
| プロパティ | 説明 | デフォルト | 必須 |
|---|---|---|---|
projectId |
ログを作成する Google Cloud プロジェクトの ID。 | なし | ○ |
credentials |
Apigee Edge コンソール内で入力する場合は、サービス アカウントのキーファイルの内容です。Management API で設定する場合は、サービス アカウント キーファイルから生成された base64 エンコード値になります。 | なし | ○ |