Salesforceのlimitについて知るためには
Salesforceのデータは外部からアクセスしたり取得したりする事が出来ます。しかし、あまりにもアクセスが集中してしまうと、システムのパフォーマンスが落ちてしまいます。そこで一定以上のアクセスがあった場合は一時的にlimitが掛かります。
データへのアクセスや登録を許可しているのはAPIで、RESTやSOAPと言ったリソースの種類によってもlimitの閾値が変わってきます。今回ははじめにLESTやAPIについて学んでいきましょう。
SalsforceにおけるRESTとは
RESTとは、外部アプリケーションがSalesforceのコードやアプリケーションにアクセスする上で必要なツールの事です。apexのクラスやメソッドを公開する時のリソースとも言われます。
@HttpGetなどの記述形式を用いることで、RESTリソースに特定のメタデータ(アノテーション)を注釈としてタグ付けする事が出来ます。アノテーションには全部で6種類あり、それらを用いることでタグ付けしたデータをRESTful Webとして公開出来ます。
apex RESTで使用出来るクラスに「Rest Context クラス」があります。これを使えばRest Requestオブジェクト及びRest Rest Responseオブジェクトを呼び出す事が可能です。
Rest RequestはRESTfulメソッドを使ってデータを受け渡す事ができ、Rest Responseはhttp型のデータを渡す事が出来ます。
SalesforceのAPIとは
APIとは、外部のアプリケーションからSalesforceに連携する為のツールです。RESTシリーズだけでも4種類も存在するので、それぞれどういったものなのかをご紹介していきます。
Bulk API
大容量のデータを紐づける際に使われるAPIです。サーバー毎にそれぞれ処理する為、時間的効率が向上しました。ただし結果を受け取る際にポーリングを行う必要があります。
REST API
ブラウザアプリケーションやモバイルで扱う比較的軽いデータを連携する際に向いているAPIです。実装するのに手間がかからない上に通信量も少ないので費用も抑えられると言ったメリットがあります。
その反面、メタデータを扱える対応にはなっていないというデメリットがあります。メタデータの使用には「Metadata API」が適しています。
apex REST API
RESTful Webサービス上で公開しているapexのデータを呼び起こす事が出来るAPIです。RESTful WebサービスはRESTで定義されたメソッドによってリソースにアクセスしたり編集したり出来るインターフェースです。
インターフェースなので外部のアプリケーションからでもRESTと接続でき、ソースコードを追加したり改変したり出来るシステムを構築出来ます。
SalesforceのAPIのlimitについて
Salesforceでは外部からのアクセスが集中し過ぎてシステムがバグを起こさないように、APIにlimitを設けています。「同時API要求数」と「合計API要求数要求の割当」の2タイプのAPI制限を設けています。まずはそれぞれについて解説していきます。
同時API要求数について
Salesforce上でデータを取得、処理する際に同時に実行されるリクエストの数が一定数を超えるとかかる制限です。20秒毎に要求出来るAPIの数が、Web環境によって異なります。
同時API要求数要求の割当について
24時間のうちにリクエストされたAPIの数が一定数を超えるとかかる制限です。短時間のうちにうっかり大容量のデータを得たりバッチ処理をしたりするとこのlimitが作動してしまいます。許容されたリクエスト数はEditionによって異なります。
24時間内における要求出来るAPIのlimit数は、Enterprise Edition及びProfessional Editionでは1,000回、Unlimited Edition及びPerformance Editionは5,000回となっています。なお、Developer Edition及びサンドボックスにはlimitは設けられていません。
設定されたlimit数を超えてAPIが要求された場合、エラーメッセージが表示されてそれ以降データにアクセス出来なくなったり登録出来なくなったりします。
出典:Salesforce Developer の制限および割り当てクイックリファレンス|Salesforce
参照:https://sforce.co/3vHAT8Y
APIがどの位要求されているかを知る方法
APIがどの位要求されているかは、Salesforceの「設定」タブから確認する事が出来ます。そこから「システムの概要」を選択するとAPIの要求状況をチェックする事が出来ます。
これを活用することで、APIの制限数に引っかからない様にする事が可能になります。ただしlimitにかからない様にする方法はありません。APIの要求状況を随時チェックしていきながら徐々に「これはどの位APIが要求されているな」と把握していく他ありません。
Salesforceを使う時はAPIのlimitに気をつけよう
RESTの種類やSalesforceのフォームによってlimitがかかってしまうAPI要求数が変わってしまいます。Salesforceを運用される際には何にアクセスしているのか、現時点でどの位APIが要求されてるのかを常に把握している様にしましょう。]]>