はじめに
Salesforce Platform API バージョンが古いものについて、以下のように順次サポート終了、アクセス不可が予定されています。
- Salesforce Platform API バージョン 7.0 ~ 20.0 の廃止
- Summer '21でサポート終了、Summer ’22でアクセス不可
- Salesforce Platform API バージョン 21.0 ~ 30.0 の廃止
- Summer '22でサポート終了、Summer ’23でアクセス不可
こうなると自分の組織に古いAPI バージョンのアクセスがないか気になるところですが、これを確認する方法は現状EventLogしかありません。
しかし、イベントログの開発者ドキュメントには以下の記載があります。
安全でない外部アセットイベント、ログインイベント、ログアウトイベントは、サポートされている Salesforce エディションで追加費用なしで使用できます。残りのイベントタイプを購入するには、Salesforce にお問い合わせください。
APIアクセスイベントは上記でいう「残りのイベントタイプ」になります。 つまりEvent Monitoringライセンスを購入しないと古いAPI バージョンのアクセスがあるかないか分からないのです。
しかし、それでは困るという顧客の声があったのでしょう。
Summer'21リリースにてAPI 合計使用量イベントを使用した API バージョンの使用の追跡というリリースが行われました。
このイベントは、バージョン 30.0 までの SOAP、Bulk v1、および REST API 要求へのコールを記録します。データは 24 時間保持されます。
(中略)
API 合計使用量イベントは、すべての顧客が無料で使用できます。
これにより、追加費用なしでも廃止対象APIバージョンのアクセスを確認することができるようになりました。
試してみた
実際にAPI 合計使用量イベント(ApiTotalUsage)が取得できるか試してみました。
古いAPIバージョンでアクセスする
今回はWorkbenchでアクセスします。
- Workbench経由でSalesforceにログインする
- 上のメニューから Utilities|REST Explorer をクリック
- HTTPメソッドを「GET」、URIを
/services/data/v20.0/sobjects/account/describe
で指定して[Execute]をクリック
イベントログを取得する
Workbenchアクセス後、1日待って以下作業を行います。
- Salesforce Event Log File Browser経由でSalesforceにログインする
- EventTypeを「ApiTotalUsage」と指定して「Apply」をクリック
- 結果が表示されればCSVをダウンロード
実際の結果はこうなりました。(CSVから一部抜粋)
EVENT_TYPE | API_FAMILY | API_VERSION | API_RESOURCE | HTTP_METHOD |
---|---|---|---|---|
ApiTotalUsage | REST | 20 | /v20.0/sobjects/account/describe | GET |
ちゃんとバージョン20のAPIアクセスが記録されていますね。
おわりに
注意点として追加費用なしの場合、イベントログは1日しか残らない点が挙げられます。
つまりアクセスの有無を確認するには毎日取得しなければならないので、実際に取得を検討される方はご注意ください。