バージョン 1.2.1
Stackdriver Logging のログにエントリを書き込みます。
ここでは、この拡張機能を構成して使用する方法についてのリファレンスを提供します。
前提条件
API プロキシからこの拡張機能を使用する前に、次の操作を行う必要があります。
IAM で、[ログ] > [ログ書き込み] 権限を、Stackdriver Logging システムへの拡張機能を表現するプロジェクト メンバーに割り当てます。ロールを付与する方法については、特定のリソースに対するサービス アカウントへのロールの付与をご覧ください。ロギングのロールについて詳しくは、アクセス制御ガイドをご覧ください。
拡張機能の追加と構成を行うときに、構成リファレンスを使用して、生成されたキーの JSON ファイルのコンテンツを使用します。
Stackdriver Logging について
Stackdriver Logging は、Google Cloud Platform(GCP)の Stackdriver プロダクト スイートの一部です。ログのストレージ、ユーザー インターフェース(ログビューア)、ログをプログラムで管理する API から構成されます。Stackdriver Logging によって、ログエントリの読み取りと書き込み、ログの検索とフィルタリング、ログのエクスポートを行うことができます。また、ログベースの指標も作成できます。
この拡張機能は、現在はログにエントリを書き込みます。
詳細については、Stackdriver Logging のドキュメントをご覧ください。
例
次の例は、ExtensionCallout ポリシーを使用して Stackdriver Logging 拡張機能アクションのサポートを構成する方法を示しています。
グローバルログ
次のポリシーは、Stackdriver 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>stackdriver-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
ログにメッセージを書き込みます。
このアクションは、Stackdriver ログエントリを書き込みます。ログエントリは、メタデータとエントリデータで構成されます。ログエントリの詳細については、エントリのリファレンスをご覧ください。metadata
プロパティの内容については、Stackdriver Logging のドキュメントにある LogEntry オブジェクトをご覧ください。
構文
<Action>log</Action>
<Input><![CDATA[{
"logName" : "stackdriver-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 | なし | ○ |
レスポンス
メッセージがログに書き込まれた場合、レスポンスはありません。それ以外の場合、リクエストはエラーを返します。拡張機能のデバッグもご覧ください。
構成リファレンス
この拡張機能を API プロキシで使用するように構成してデプロイする場合は、以下のプロパティを使用します。
拡張機能の共通プロパティ
すべての拡張機能には次のプロパティがあります。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
name |
この拡張機能に付ける名前。 | なし | ○ |
packageName |
Apigee Edge から提供された拡張機能パッケージの名前。 | なし | ○ |
version |
拡張機能を構成する拡張機能パッケージのバージョン番号。 | なし | ○ |
configuration |
追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 | なし | ○ |
この拡張機能パッケージのプロパティ
この拡張機能に固有の以下の構成プロパティに値を指定します。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
projectId | ログを作成する GCP プロジェクトの ID。 | なし | ○ |
credentials | Apigee Edge コンソール内で入力する場合は、サービス アカウントのキーファイルの内容です。管理 API を使用して設定する場合は、サービス アカウント キー のファイルから生成された、base64 でエンコード済みの値です。 | なし | ○ |