spring'15 update - named credential & long running callout
TRANSCRIPT
Spring’15 Update
- Named Credential & Long Running Callout -
2015/02/12 Shinichi Tomita
Mashmatrix, Inc. @stomita
Named Credential
• HTTPコールアウトのAPIエンドポイントとそのAPI認証のための設定がひとつになったもの
• 日本語:「指定ログイン情報」 - 新・三大Salesforceの謎日本語訳の1つとさせて下さい
- c.f.「コンシューマの秘密」「」
- でも結構原語からして意味不明なんじゃないか説も
Named Cred. の設定• URL:APIのエンドポイントのベースURL
• ID種別
- 匿名:ログイン情報を指定しない - ユーザ:ユーザごとに異なるログイン情報を使う - 指定ユーザ:固定のユーザログイン情報でアクセスする
• 認証プロトコル - OAuth 2.0 : OAuth2.0のフローを使いAPIアクセストークンを取得する
• OAuth2のクライアント情報は認証プロバイダで設定(OpenID
Connect)
- パスワード認証:ベーシック認証を利用
Named Cred.の利用
Named Cred. の名前
考察(Named Cred.)• 認証プロバイダと併用しての OAuth2.0 APIへの対応がポイント
• 自前でのトークン管理の必要なし • Authorizationヘッダ設定やRefreshフローも自動で行ってくれる
• ベーシック認証もそれなりに有用 • 貧者のためのExternal Data Source として利用できる?
Long Running Callout
• 長時間かかるApexからのHTTP Callout 処理を非同期で処理する
• 通常のCallout + Futureとの違い
- 組織あたりの同時実行10リクエスト制限の緩和※ でも1リクエストのタイムアウトは最長で60sec
- VFページからの起動が前提、フロントへの通知まで一貫
- パラレルでのコールアウト実行(3リクエストまで)
Long Running Callout 利用方法
コールバックを受けるメソッドの名前
Long Running Callout 利用方法
考察(Long Running Callout)• 使いどころが難しい(それほど制限が緩和されない) • なんでその名前にしちゃったの ⇒ Continuation
• Named Cred.との併用は? ⇒ システムエラーになった(2/12現在)
• CalloutのChainingは? ⇒ 「1 つの要求処理に 3 個以上の連続継続を使用することはできません。4 個の継続を使用しています」
Thanks.