Регистрация  |  Вход

Named Credentials as Callout Endpoints

Собственно продолжаю конспектировать/делиться полезными знаниями полученными из документации.
В очередной раз убеждаюсь что читать доки полезно (но заставить делать себя это не могу - лень ).

Вот наткнулся на такую интересную страницу
Named Credentials as Callout Endpoints

Простым телодвижением можно сократить гору кода и обеспечить какую-то гибкость в настройках.
Собственно продолжаю конспектировать/делиться полезными знаниями полученными из документации.
В очередной раз убеждаюсь что читать доки полезно (но заставить делать себя это не могу - лень :sad:).

Вот наткнулся на такую интересную страницу
[url=https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_callouts_named_credentials.htm]Named Credentials as Callout Endpoints[/url]

Простым телодвижением можно сократить гору кода и обеспечить какую-то гибкость в настройках.
Также можно написать кастомный Auth provider и использовать в Named Credentials.
Также можно написать кастомный Auth provider и использовать в Named Credentials.
Но лично мне нравится вариант с хранением access tokena в орг кеше. И при callout-е мы достаем из кеша токен и шлем запрос. Если получаем ошибку invalid token, допустим, то шлем запрос на получение токена и перезаписываем с орг кеше. Таким образом мы сокращаем количество посылаемых http зарпосов на получение access токена. Потому что, на сколько я знаю, в случае с Named credentials, у тебя перед каждым callout-ом будет идти запрос на получение токена(сдесь я могу, возможно, ошибаться , но я по-моему что-то такое тестировал или читал )
Но лично мне нравится вариант с хранением  access tokena в орг кеше. И при callout-е мы достаем из кеша токен и шлем запрос. Если получаем ошибку invalid token, допустим, то шлем запрос на получение токена и перезаписываем с орг кеше. Таким образом мы сокращаем количество посылаемых http зарпосов на получение access токена. Потому что, на сколько я знаю, в случае с Named credentials, у тебя перед каждым callout-ом будет идти запрос на получение токена(сдесь я могу, возможно, ошибаться :smile:, но я по-моему что-то такое тестировал или читал :smile:)
alex123
в орг кеше
А что это за кеш такой? Что-то с таким понятием еще не сталкивался.
[quote="alex123"]в орг кеше[/quote]
А что это за кеш такой? Что-то с таким понятием еще не сталкивался.
https://trailhead.salesforce.com/content/learn/modules/platform_cache
Кешировать нужно всегда, и если поддерживается expiration Date, то активно его юзать иначе можете упасть по дневным лимитам API на огре крупного клиента
Кешировать нужно всегда, и если поддерживается expiration Date, то активно его юзать иначе можете упасть по дневным лимитам API на огре крупного клиента
wilder
иначе можете упасть по дневным лимитам API на огре крупного клиента

В Salesforce нету лимита на исходящие http requests, только на входящие.
[quote="wilder"]иначе можете упасть по дневным лимитам API на огре крупного клиента[/quote]

В Salesforce нету лимита на исходящие http requests, только на входящие.
alex123
https://trailhead.salesforce.com/content ... rm_cache
ФИГА СЕ! Даже не знал что есть такая прикольная штука!!!! Никто из клиентов не использовал и даже не заикался.
Я буквально где-то полгода назад жаловался что в SF нет какого-нибудь простого key-value хранилища. Очень нравилось использовать на питоне тот же memcached или redis. Но никто даже не намекнул на Platform Cache. Прикольная штукенция. Буду изучать глубже, какие есть подводные камни в использовании. Это ж какие интересные идеи можно мутить для межсессионного взаимодействия без использования БД. Вот только напрягает что для dev орга фича триальная и может просто не работать.
[quote="alex123"]https://trailhead.salesforce.com/content ... rm_cache[/quote]
ФИГА СЕ! Даже не знал что есть такая прикольная штука!!!! Никто из клиентов не использовал и даже не заикался.
Я буквально где-то полгода назад жаловался что в SF нет какого-нибудь простого key-value хранилища. Очень нравилось использовать на питоне тот же memcached или redis. Но никто даже не намекнул на Platform Cache. Прикольная штукенция. Буду изучать глубже, какие есть подводные камни в использовании. Это ж какие интересные идеи можно мутить для межсессионного взаимодействия без использования БД. Вот только напрягает что для dev орга фича триальная и может просто не работать. 
alex123
В Salesforce нету лимита на исходящие http
Да это так, но не все так однозначно:)

Например если у клиента 2 SF прода и нужно организовать интеграцию между ними.
[quote="alex123"]В Salesforce нету лимита на исходящие http [/quote]
Да это так, но не все так однозначно:)

Например если у клиента 2 SF прода и нужно организовать интеграцию между ними.

wilder
alex123
В Salesforce нету лимита на исходящие http
Да это так, но не все так однозначно:)

Например если у клиента 2 и более SF прода и нужно организовать интеграцию между ними.

[quote="wilder"][quote="alex123"]В Salesforce нету лимита на исходящие http [/quote]
Да это так, но не все так однозначно:)

Например если у клиента 2 и более SF прода и нужно организовать интеграцию между ними.

[/quote]
Ну да, точно.
У меня просто опыт не 10 лет С таким не сталкивался пока что)
Ну да, точно.
У меня просто опыт не 10 лет:smiley: С таким не сталкивался пока что)
alex123
Ну да, точно.
У меня просто опыт не 10 лет С таким не сталкивался пока что)

Другой пример крупный telecom клиент, у него куча разных вебсервисов. Если бездумно каждый раз пытаться авторизовываться блокируют, как попытку DDOS атаки. Ясное дело что можно использовать на стороне сервиса white list IP, и это решит ситуацию, но лучше если сам алгоритм буде оптимизированным.

IP адреса кстати тоже могут измениться (SF Instances)
[quote="alex123"]Ну да, точно.
У меня просто опыт не 10 лет:smiley: С таким не сталкивался пока что)[/quote]

Другой пример крупный telecom клиент, у него куча разных вебсервисов. Если бездумно каждый раз пытаться авторизовываться блокируют, как попытку DDOS атаки. Ясное дело что можно использовать на стороне сервиса white list IP, и это решит ситуацию, но лучше если сам алгоритм буде оптимизированным.

IP адреса кстати тоже могут измениться (SF Instances)