バージョン 1.2.0
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" : "stackdriver-log-name-to-use",
"metadata" : { "resource" : { "type" : "global" } },
"message" : "data-to-log-as-entry"
}]]></Input>
リクエスト パラメータ
パラメータ | 説明 | 型 | デフォルト | 必須 |
---|---|---|---|---|
logName | このエントリが属しているログの名前。 | 文字列 | なし | ○ |
metadata | ログエントリに関するメタデータ。metadata での type と labels の設定の詳細とオプションについては、MonitoredResource をご覧ください。 |
JSON | なし | × |
message | このログエントリの値として使用するデータ。 | 文字列 | なし | ○ |
レスポンス
メッセージがログに書き込まれた場合、レスポンスはありません。それ以外の場合、リクエストはエラーを返します。拡張機能のデバッグもご覧ください。
構成リファレンス
この拡張機能を API プロキシで使用するように構成してデプロイする場合は、以下のプロパティを使用します。
拡張機能の共通プロパティ
すべての拡張機能には次のプロパティがあります。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
name |
この拡張機能に付ける名前。 | なし | ○ |
packageName |
Apigee Edge から提供された拡張機能パッケージの名前。 | なし | ○ |
version |
拡張機能を構成する拡張機能パッケージのバージョン番号。 | なし | ○ |
configuration |
追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 | なし | ○ |
この拡張機能パッケージのプロパティ
この拡張機能に固有の以下の構成プロパティに値を指定します。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
projectId | ログを作成する GCP プロジェクトの ID。 | なし | ○ |
credentials | Apigee Edge コンソール内で入力する場合は、サービス アカウントのキーファイルの内容です。管理 API を使用して設定する場合は、サービス アカウント キー のファイルから生成された、base64 でエンコード済みの値です。 | なし | ○ |