LoginSignup
2
0

REST API を使用して、イベント監視の BLOB データを取得できるので、Postmanを使えば簡単にSalesforceのイベントログが取得できるのではないかと考えています。これまでもApexからREST APIをコールアウトすれば可能だなぁって考えていたのですが、OAuth 2.0 の認証がなぁって気が進みませんでした...

今回は認証は楽ですし、Postmanを使ってみたいと思います。

まずは、Salesforceのイベントログの情報を整理します。

処理の流れを確認します。

このヘルプを読んでいてなんとなく思いつきました。

Salesforce プラットフォーム API バージョン 7.0 ~ 20.0 の廃止

次の手順に従って、Salesforce 組織からの SOAP および REST API アクティビティを報告するイベントログを確認できます。

  1. Salesforce CLIなどのツールを使用して、EventLogFileオブジェクトに対して SOQL クエリを実行すると、過去 24 時間に組織内で実行されたすべてのアクションのログが提供されます。
sfdx Force:data:soql:query -q "SELECT LogFile, EventType, CreatedDate FROM EventLogFile WHERE EventType IN ('API', 'RestApi', 'ApiTotalUsage')" -u <ユーザー名>

この部分は開発者コンソールでSOQLを流しても取得できますね。

image.png

REST APIでQuery リソースを使用すれば可能なので、Postmanでも問題ないです。

REST を使用してイベント監視データを照会する

curl https://MyDomainName.my.salesforce.com/services/data/v59.0/query?q=SELECT+Id+,+EventType+,+LogFile+
,+LogDate+,+LogFileLength+FROM+EventLogFile+WHERE+
LogDate+>+Yesterday+AND+EventType+=+'API' -H "Authorization: Bearer token"

2. 結果ごとに、エンドポイントを使用して REST リクエストを実行してデータを取得し、.CSV ファイルにコピーします。

例: /services/data/v52.0/sobjects/EventLogFile/0AT3i000005vXpWGAU/LogFile

応答本文を Excel などのアプリケーションに貼り付けると、イベント ログ データを .CSV ファイルとして簡単に表示できます。

レコードからイベント監視コンテンツを取得する

ログファイルのIdが分かれば以下のように取得できそうです

REST API を使用して、イベント監視の BLOB データを取得できます。次のような GET 要求を使用します。

curl https://MyDomainName.my.salesforce.com/services/data/v59.0/sobjects/EventLogFile/0ATD000000000pyOAA/LogFile -H "Authorization: Bearer token"

バイナリで返ってくるのかな?

実際にやってみます

  1. EventLogFileオブジェクトに対して SOQL クエリを実行する

コレクションの中からRESTを展開して、Queryを選択します。

image.png

パラメータq の値として以下を設定します。

SELECT LogFile, EventType, CreatedDate FROM EventLogFile 

以下のように結果が返ってきました。

image.png

LogFileのURLをクリックすると新しいタブが開きます。

Idの部分を:LogFileIdに変小すると、パラメータをセットできるようになります。
今回はRESTの下のsObjectにLogFileという名前で保存しました。
保存してから、Sendボタンを押して送信します。

image.png

image.png

実行結果をみるとcsvファイルが返ってきます。

image.png

csvファイルとして結果を保存できます。

image.png

おおお、簡単にイベントログを取得できます。

今までは開発者コンソールで検索してからcurlやphython、ブラウザの機能を使ってダウンロードすることしかなかったのですが、Postmanを使った方が簡単ですね。

イベントログファイルのダウンロードと視覚化

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0