Drupal 8ã¯ãCMS Drupalã®ææ°ãªãªãŒã¹ã§ãã Varnishã¯ãWebã¢ããªã±ãŒã·ã§ã³çšã®HTTPãªããŒã¹ãããã·ãã£ãã·ã¥ã¢ããªã³ã§ããµãŒããŒã®RAMã«HTTPå¿çããã£ãã·ã¥ã§ããŸãã
VarnishãDrupalïŒãŸãã¯ãã®ä»ã®Webã¢ããªã±ãŒã·ã§ã³ïŒã®åã«é
眮ãããšãçä¿¡HTTPãªã¯ãšã¹ãã®åŠçã¹ããŒã ã¯æ¬¡ã®ããã«å€æãããŸãã

Drupal 6ããã³7ã®æä»£ãVarnishã䜿çšãããšãéçãªãœãŒã¹ïŒç»åãCSSãJavaScriptãã¡ã€ã«ïŒããã£ãã·ã¥ããã®ãéåžžã«äŸ¿å©ã§ããã ããããHTMLããŒãžã®ãã£ãã·ã¥ã«ã¯åé¡ããããŸãã-éžæçãªãã£ãã·ã¥ç¡å¹åã®ããã®äŸ¿å©ãªã¡ã«ããºã ããããŸããã§ããã æå³çã«å€ããã£ãã·ã¥ãæäŸããããDrupalã«å€æŽãå ããŠã¯ãã¹ã®ãã£ãã·ã¥ãå®å
šã«ã¯ãªã¢ããããã«æ®ã£ãã ãã§ãã ã©ã¡ãã®ã¢ãããŒãã«ãæ¬ ç¹ããããŸããã
Drupalã®å€æŽæã«Varnishã®ãã£ãã·ã¥ãç¡å¹ã«ããªãã£ãå Žåãæ¯èŒçå°ããªTTLãèšå®ããŠãVarnishã®ãã£ãã·ã¥ãããã«å€ããªãããã«ããVarnishãDrupalã®æ°ããããŒã¿ã§ãã£ãã·ã¥ãæŽæ°ããŸããã
äžæ¹ãDrupalã§ããããã¿ããããã³ã«ãã¯ãã¹ã®ãã£ãã·ã¥ãã¯ãªã¢ãããšããããã®å¯Ÿçãåé·ã«ãªãããšããããããŸããã äžéšã®ãŠãŒã¶ãŒã¯ãã¢ã¯ã»ã¹ã®å°ãªãããŒãžã§ç¡å®³ãªã³ã¡ã³ããæžãããšãã§ããŸãããããã«ããããã¹ã®ãã£ãã·ã¥å
šäœãç¡å¹ã«ãªããŸããïŒå®éã«è¿œå ãããã³ã¡ã³ãã«ãã倿Žãããªãã£ãããŒãžãå«ãïŒã
Drupal 8ãã£ãã·ã¥API
幞ããªããšã«ãã¡ã¿æ
å ±ãä»ããæè»ãªãã£ãã·ã³ã°ã·ã¹ãã ã远å ãããDrupal 8ã®æ¹ãã¯ããã«åªããŠããŸãã ç§ã¯
å
¬åŒããã¥ã¡ã³ããèªãããšã«èå³ãããããšã匷ãå§ã
ãŸã ã èŠããã«ããã®ã·ã¹ãã ã«ãããDrupalã¯çæãããããŒãžãäŸåãããã®ïŒããŒããã³ã¡ã³ããæ§æãªã©ïŒã远跡ã§ããŸãã åããŒãžã¯ããã£ãã·ã¥ã¿ã°ïŒãã£ãã·ã¥ã¿ã°ïŒã®ã»ããã«é¢é£ä»ããããŠããŸãã ãã®åŸãç¶æ
ã倿ŽããããšãDrupalã¯ã©ã®ãã£ãã·ã¥ã¿ã°ãç¡å¹ã«ããå¿
èŠãããããèªèããŸãã ããã«ãããäœãïŒããŒããã³ã¡ã³ããæ§æïŒã倿Žããããšãã«Drupalããã£ãã·ã¥ããŒãžã®æå°éå¿
èŠãªã»ããã®ã¿ãç¡å¹ã«ããããšãã§ããŸãã ããã¯ãDrupalã®ã³ã¢ãå
éšãã£ãã·ã¥ãç¡å¹ã«ããããã«äœ¿çšããã¢ãããŒãã§ãã äžå¯Ÿã®åšçšãªåãã«ãããã¯ãã¹ã®ãã£ãã·ã¥ã§åæ§ã®ãæäœéå¿
èŠãªãé害ãéæã§ããŸãã
Varnishã§ã®Cache APIã®æ¡åŒµ
ãã®ãã¥ãŒããªã¢ã«ã§ã¯ãéçãªãœãŒã¹ïŒã°ã©ãã£ãã¯ãCSSãJavaScriptïŒã®Varnishãæ¢ã«æ£åžžã«ã€ã³ã¹ããŒã«ããã³æ§æãããŠããããšãåæãšããŠããŸãã å¿åã®HTMLããŒãžã§ãã£ãã·ã¥ãã«ããŒããã«ã¯ã3ã€ã®æé ãå¿
èŠã§ãã
- ã©ã®ããŒãžãã©ã®ã¿ã°ãã£ãã·ã¥ã«äŸåããããVarnishã«èª¬æããŸãã Drupalã¯ãã§ã«ãã®ç¥èãæã£ãŠããã®ã§ãã¯ãã¹ã«æž¡ãã ãã§ãã
- ãã£ãã·ã¥ã¿ã°ãDrupalã§ç¡å¹ã«ãªã£ãæç¹ã§ããã®ã¿ã°ãã£ãã·ã¥ã«äŸåãããã¹ãã£ãã·ã¥å
ã®ãã¹ãŠã®ããŒãžãç¡å¹ã«ããå¿
èŠããããŸãã
- ããããã¹ãŠã®é©æ°ã®ããã«ãã¹ãæºåããŸãã
ãããã¯ãã¹ãŠãDrupalãšã³ã·ã¹ãã ã®ã¢ãžã¥ãŒã«ãšããŠæ¢ã«å®è£
ãããŠããŸãã å¿
èŠãªãã®ïŒ
- ããŒãž -å€éšHTTPãã£ãã·ã¥ãç¡å¹ã«ããããã®äžçš®ã®ãã¬ãŒã ã¯ãŒã¯ïŒã¯ãã¹ãCDNãNginxïŒ
- Varnish Purgerã¯ããã®ãã¬ãŒã ã¯ãŒã¯ãVarnishã§å®è£
ãããã®ã§ãã
ã³ã³ããŒã¶ãŒã䜿çšããŠããå ŽåïŒ
composer require "drupal/purge:^3.0" composer require "drupal/varnish_purge:^1.0"
次ã®ã¢ãžã¥ãŒã«ãå«ããŸãã
- ããŒãžïŒããŒãžïŒ
- ããŒãžãã©ã·ïŒpurge_drushïŒ
- ããŒã¯ã³ã®ããŒãžïŒpurge_tokensïŒ
- UIã®ããŒãžïŒpurge_uiïŒ
- cronããã»ããµãŒïŒpurge_processor_cronïŒãŸãã¯åŸæã©ã³ã¿ã€ã ããã»ããµãŒïŒpurge_processor_lateruntimeïŒã ããã2ã€ã®ã¢ãžã¥ãŒã«ã®éãã«ã€ããŠã¯ãå°ãåŸã§èª¬æããŸãã
- ã³ã¢ã¿ã°ãã¥ãŒã©ãŒïŒpurge_queuer_coretagsïŒ
- ã¯ãã¹ããŒãžã£ãŒïŒvarnish_purgerïŒ
- ã¯ãã¹ããŒãžã£ãŒã¿ã°ïŒvarnish_purge_tagsïŒ
Drupal 8ã®ã»ããã¢ãã
Drupalã«Varnishã®å Žæãšãã£ãã·ã¥ãéšåçã«ç¡å¹ã«ããæ¹æ³ã説æããå¿
èŠããããŸãã äžèšã®ã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããåŸãããŒãž
/admin/config/development/performance/purge
ãŸãã
Varnish purgerã远å ããVarnishãé
眮ãããŠãããã¹ããžã®æ£ãããã¹ãæå®ããŸãã
[
ã¿ã€ã]ã§ã Tagãæå®ããŸãã ç¡å¹åã«ã¯Drupalã®ãã£ãã·ã¥ã¿ã°ã䜿çšããŸãã
Requestã¡ãœããã§ Banãæå®ããŸã Varnishã®æ§æã®å¯Ÿå¿ããéšåã¯ããŸãã«ãã®ãããªHTTPãªã¯ãšã¹ãã¡ãœãããæ³å®ããŠããŸãã

[
ããã㌠]ã¿ãã§ïŒ
[invalidationïŒexpression]ã®ã³ã³ãã³ããå«ã
Cache-TagsããããŒã远å ããŸãã ãã®ããŒã¯ã³åãããåŒã¯ãããŒã¯ã³ã¢ãžã¥ãŒã«ã«ãã£ãŠç¡å¹ãªã¿ã°ãã£ãã·ã¥å€ã«çœ®ãæããããŸãã
æ®ãã¯ããªãã®å¥œã¿ãç¹å®ã®ç¶æ³ã«åãããŠèšå®ã§ããŸãïŒãŸãèšå®ããå¿
èŠããããŸãïŒã ããã§ãDrupalã¯ãã¹ãŠã®åçã«
Cache-TagsããããŒãå«ããçæãããããŒãžã®åœ¢æã«åå ãããã£ãã·ã¥ã¿ã°ã®ãªã¹ããå«ããŸãã Varnishã¯ãããã®ããããŒããã£ãã·ã¥ã®äžéšãšããŠä¿åãããããã䜿çšããŠãã£ãã·ã¥ãç¡å¹ã«ããŸãã
ãã®æç¹ã§ãçŽæ¥èŠæ±ãããšãïŒã¯ãã¹ããã€ãã¹ãããšãïŒã®Drupalã«å®éã«
Cache-TagsããããŒãå«ãŸããŠããããšã確èªããŠãã ããã ç§ã®å Žåãæåã«è¡šç€ºãããããŒãžã¯æ¬¡ã®ããã«ãªããŸãã
ãã¿ãã¬Cache-Tags: block_view config:block.block.seven_breadcrumbs config:block.block.seven_content config:block.block.seven_help config:block.block.seven_local_actions config:block.block.seven_login config:block.block.seven_messages config:block.block.seven_page_title config:block.block.seven_primary_local_tasks config:block.block.seven_secondary_local_tasks config:block_list config:coffee.configuration config:shortcut.set.default config:system.menu.admin config:user.role.administrator config:user.role.authenticated http_response rendered user:1
ããã©ã«ãã§ã¯ãDrupalã¯
Cache-Control: private, no-cache
å¿çããŸã
Cache-Control: private, no-cache
çæããããã¹ãŠã®HTMLãªãœãŒã¹ã«å¯ŸããŠ
Cache-Control: private, no-cache
ïŒã€ãŸãããã£ãã·ã¥ãç¡å¹ã«ããŸãïŒã ããã¯ãã¯ãã¹ããããããã£ãã·ã¥ããªãããšãæå³ããŸãã Drupalèšå®ã§å€éšãã£ãã·ã¥ãæå¹ã«ããå¿
èŠããããŸãã
/admin/config/development/performance
ããŒãžã«ç§»åãã
Page cache maximum ageã«ãŒã以å€ã®å€ãéžæããŸãã

ç¡å®³ãª5åã®ãã£ãã·ã¥ããéå§ããããšããå§ãããŸãããã¹ãŠããããã°ãããæ£åžžã«å®è¡ãããå Žåã«ã®ã¿ãæ°æéãŸãã¯æ°æ¥éã®ãã«ã¹ã±ãŒã«å€ã«åãæ¿ããŸãã
ããäžåºŠç¢ºèªããŠãã ãããå¿åãŠãŒã¶ãŒãDrupalããŒãžããªã¯ãšã¹ããããšãã
Cache-Control: public, max-age=[ ]
ããšããçãã衚瀺ãããŸãã ãããŠãèš±å¯ãŠãŒã¶ãŒã«ä»£ãã£ãŠå°ãããããšãã
Cache-Control: private, no-cache
fly backã ãããã£ãŠãVarnishã¯å¿åã®å¿åHTMLããŒãžã®ã¿ããã£ãã·ã¥ã§ããŸãã
ã¯ãã¹ãæ§æãã
ããã§ã¯ãã¯ãã¹ã®æºåã«ç§»ããŸãããã 以äžãVCLã«è¿œå ããå¿
èŠããããŸãã
æåã«ãDrupalã¯ããªãã®ãã¹ã«HTTPçŠæ¢ãªã¯ãšã¹ããéä¿¡ããŸãã ãŸãããã®ãªã¯ãšã¹ãã®åŠçãžã®ã¢ã¯ã»ã¹ãå¶éããå¿
èŠããããŸããããããªããšã誰ã§ãã¯ãã¹ã®ãã£ãã·ã¥ãã¯ãªã¢ã§ããŸãã ãããè¡ãã«ã¯ãaclã°ã«ãŒããå
¥åããŸãã
çŠæ¢ãªã¯ãšã¹ãèªäœã®åŠçã远å ããå¿
èŠããããŸãã
vcl_recvã§æåã«èšè¿°ããŸãã
if (req.method == "BAN") {
ãŸããããã©ã«ãã§ã¯ãVarnishã¯ãšã³ãã¯ã©ã€ã¢ã³ãïŒãã©ãŠã¶ãŒïŒãžã®å¿çã§Drupalããåä¿¡ãã
Cache-Tagsããã³
Cache-ControlããããŒã倿ããŸãã
Cache-Tagsã®å Žåãããã¯ããããã¯ãŒã¯ãä»ããŠé転ãããã¿ã§ãããã€ã³ãã©ã¹ãã©ã¯ãã£ã®å
éšæ§é ã«é¢ãã远å ã®æ
å ±æºã§ãã
Cache-ControlïŒpublicã®å Žåãããã¯ããªãæãŸãããªãåäœã§ãã Drupalã¯Varnishã®ãã£ãã·ã¥ãèš±å¯ããŸãããã蚪åè
ã®ãã©ãŠã¶ãŒã§ã®ããŒãžã®ãã£ãã·ã¥ã¯æ£ãããããŸããïŒæŽæ°ãããã³ã³ãã³ãã®åä¿¡ãé
ãããã£ãã·ã¥ã®ç¡å¹åã«é¢ããå·§åŠãªã¹ããŒã å
šäœãã¹ãã«ã«ã«ãªã£ãŠããŸãããïŒã ãããã£ãŠã
vcl_deliverã«æ¬¡ã远å ããå¿
èŠããããŸãã
ãã®æç¹ã§ã皌åäžã®ãµãŒããŒã§Varnishãã¯ãã¹ããŠåèµ·åã§ããŸãã çŸåšãã¯ãã¹ã¯ãDrupalãéä¿¡ããHTTPçŠæ¢ãªã¯ãšã¹ãã䜿çšããŠããã£ãã·ã¥ãéžæçã«æ¶å»ã§ããŸãã ãŸããHTMLãªãœãŒã¹ïŒDrupalãèš±å¯ãããã®ïŒãå·§ã¿ã«ãã£ãã·ã¥ããŸããããã©ãŠã¶ãŒã¯ãããããã£ãã·ã¥ã§ããŸããã ã¯ã©ã¹ãšããŠã®åå-ãªããŒã¹HTTPãããã·ãã£ãã·ã¥-ãããããæ¥ãŠãã¯ã©ã€ã¢ã³ãã§ã¯ãªãHTTPãããã·ã«ãã£ãã·ã¥ããŸãã
ãã³ããã£ã³ãã£ãŒã©ãããŒãã¯ãããŒ
æ£ããæ§æãå確èªããŠãã ããã ããã«ã€ããŠåŠã¶ããšã¯ã倿Žãè¡ã£ãçŽåŸãããåå2æã«ã¯ã©ã€ã¢ã³ãããèŠçãæããã§ãããã ç§ã®çŽèг
çµéšãä¿¡ããŠãã ããã
Cronããã»ããµããã³åŸæã©ã³ã¿ã€ã ããã»ããµã¢ãžã¥ãŒã«
ãããã®2ã€ã®ã¢ãžã¥ãŒã«ã®ãããããå¿
èŠã«ãªããšè¿°ã¹ãŸããã Varnishã®ãã£ãã·ã¥ã®ç¡å¹åã¯ãã¥ãŒåäœã§è¡ãããŸãããªã¯ãšã¹ãã®åŠçäžã«ãDrupalã¯ç¹å®ã®ãã£ãã·ã¥ã¿ã°ããã¥ãŒã«æ¿å
¥ãã察å¿ããHTTPçŠæ¢ãªã¯ãšã¹ããVarnishã«éä¿¡ããŠèª°ãããã®ãã¥ãŒãåŠçããå¿
èŠããããŸãã äž¡æ¹ã®ã¢ãžã¥ãŒã«ã¯ãã¥ãŒåŠçã®åé¡ã解決ããŸãããç°ãªãæ¹æ³ã§åŠçããŸãã
cronããã»ããµã¯ãcron Drupalã®èµ·åæã«ãã¥ãŒãåŠçããŸãã ããã¯ãcronãæŠç¥çã«éèŠã«ãªã£ãŠããããšãæå³ããŸãïŒä»¥åã®ããã«èæ
®ããå¿
èŠããããŸãïŒã ãã®ã¢ãã«ãããVarnishããã£ãã·ã¥ãããHTMLã³ã³ãã³ããå€ãHTMLã³ã³ãã³ããã¬ã³ããªã³ã°ã§ããå Žåã
XãŸã§ã®é
å»¶ïŒ
Xã¯cronã®èµ·åé »åºŠïŒãããããšã«ããªããŸãã å Žåã«ãã£ãŠã¯ããã§åé¡ãããŸããã
代æ¿ã®ïŒãããã£ãŠãããç©æ¥µçãªïŒãã¥ãŒããã»ããµã¯ãé
å»¶ã©ã³ã¿ã€ã ããã»ããµã§ãã åçä¿¡HTTPãªã¯ãšã¹ãã®åŠçã®çµããã«ã¿ã°ãã£ãã·ã¥ãã¥ãŒãåŠçããŸãã ãªã¢ã«ã¿ã€ã ã§ã
Webãµã€ãã«è¡šç€ºããã奜ã¿ãšèŠä»¶ã«å¿ããŠã2ã€ã®ãã³ãã©ãŒã®ãããããéžæããŸãã ã»ãšãã©ã®Drupal 8 Webãµã€ãã¯Cronããã»ããµã䜿çšããŠãããšããå°è±¡ãåããŸããã ãã ããLate Runtime Processorã®åé¡ãšæçœãªãã°ãç»é²ãããŠããŸããã
éä¿¡ãã£ãã«Drupalâã¯ãã¹
Drupalãé
眮ãããŠãããã¹ãããã
curl -X BAN --header 'Cache-Tags: dummy-cache-tag' http://varnish-server.com
Varnishã200 HTTP OKã§å¿çããŠããããšã確èªããŠãã ããã ããã¯ãã¯ãã¹ãæ£ããæ§æãããDrupalãéä¿¡ããç¡å¹åãªã¯ãšã¹ããåŠçããæºåãã§ããããšãæå³ããŸãã
DrupalãŠã©ããããã°ã®ãããã°æ
å ±
ããŒãž
/admin/config/development/performance/purge
ã§ãDrupalã®ãŠã©ããããã°ã§å¿
èŠãªãã°ã¬ãã«ãèšå®ã§ããŸãã åé¡ãç¹å®ããå¿
èŠãããå Žåã«éåžžã«äŸ¿å©ã§ãã
ç¡å¹åã®ãã¥ãŒ
/admin/config/development/performance/purge
ããŒãžã«çŸåšã®ã¹ããŒã¿ã¹ããããŸãã ç¹ã«ã
Queue sizeã«ãŠã³ã¿ãŒã«æ³šæããŠãã ããã ããã¯ãã¿ã°ãã£ãã·ã¥ç¡å¹åãã¥ãŒã®çŸåšã®é·ãã瀺ããŸããããã¯ãDrupalã§æ¢ã«ç¡å¹ã«ãªã£ãŠããããã¯ãã¹ã§ã¯ãŸã ç¡å¹ã«ãªã£ãŠããªãã¿ã°ãã£ãã·ã¥ã®æ°ã§ãã
cronã䜿çšããŠç¡å¹åã䜿çšããå Žåã¯ãcronã®èµ·ååŸã«ãã®æ°å€ããŒãã«ãªã£ãŠããããšã確èªããŠãã ããã
ãé
å»¶ã©ã³ã¿ã€ã ããã»ããµãã䜿çšããå ŽåããŒã以å€ã®å€ã¯å®æçã«ã®ã¿æåŸ
ããå¿
èŠããããŸãã æ°å€ãé«ãããå ŽåããŸãã¯é·æé0ã«ãªããªãå Žåã¯ãããã€ãã®åé¡ã®å
åã§ãã
ãã¹ã®ãã£ãã·ã¥ããã
çè«ãä¿¡ããå¿
èŠã¯ãããŸããã äœæ¥ãå®äºããããVarnishãå¿åã®HTMLããŒãžãæ£ãããã£ãã·ã¥ãããšããäºå®ãå®éã«å確èªããããšããå§ãããŸãïŒ Varnishãæåã«ãã£ãã·ã¥ãããããããŒãåçã«æ¿å
¥ããªãå Žåã¯ã
vcl_deliverã«è¿œå ããã ã
ã§ã ã
if (obj.hits > 0) { set resp.http.X-Varnish-Cache = "HIT"; } else { set resp.http.X-Varnish-Cache = "MISS"; }
å®éã«ã¯ãå¿åãŠãŒã¶ãŒããããŒãžããªã¯ãšã¹ããããšãã«ãã¯ãã¹ãããããã£ãã·ã¥ããããšã確èªããŠãã ããïŒ2åç®ã¯
X-Varnish-Cache: HIT
ããããŒã§å¿çããå¿
èŠããããŸãïŒã ãã®æç¹ã§ãDrupalã®èª¿æ»æžã¿ããŒãžã®ç¡å¹åãåŒãèµ·ãããŸã-Drupalã®ãã£ãã·ã¥ãã¯ãªã¢ããããããŒããåä¿åããŸãïŒããŒãã®ããŒãžãåæããŠããå ŽåïŒãªã©ã Varnishã§ãã£ãã·ã¥ãç¡å¹ã«ãã責任ãããå Žåã¯ãcron Drupalãå¿ããã«å®è¡ããŠãã ããã
調æ»ããããŒãžã«å¯ŸããŠãªã¯ãšã¹ããç¹°ãè¿ããŸãã æåã®åçã«ã¯ããããŒ
X-Varnish-Cache: MISS
ãå«ãŸããŠããå¿
èŠããããŸããããã«ãããDrupalãå¿
èŠãªã¿ã°ãã£ãã·ã¥ã®ç¡å¹åã«ã€ããŠVarnishã«æ£åžžã«éç¥ããåŸè
ãåä¿¡ããç¡å¹åãªã¯ãšã¹ããæ£åžžã«åŠçããããšã確èªã§ããŸãã
HTTPå¿çããããŒã®é·ã
Drupal 8ãµã€ãã¯é¢åãªå ŽåããããŸãã ç¹ã«ãããã«ãããç¹å®ã®HTMLããŒãžã«é¢é£ä»ããããã¿ã°ãã£ãã·ã¥ã®é·ããªã¹ããäœæãããå¯èœæ§ããããŸãã å€ãã®WebãµãŒããŒãããã³äžè¬çã«ãç°ãªãå®è£
ã®Webserver + PHPã¹ã¿ãã¯ã§ã¯ãå¿çããããŒã®æå€§é·ã«å¶éãããå ŽåããããŸãã æ¬åœã«ã€ãŸããããšãã§ããŸãã ããã«ããã¹ãç°å¢ã«ãã¹ãïŒåãæšãŠãããïŒããŒã¿ã»ãããããå Žåãåé¡ã¯å®éã®ç°å¢ã§ã®ã¿çºçããŸãã ã¹ã¿ãã¯ã®å±éæ¹æ³ã«å¿ããŠãåé¡ãåŠçããå¿
èŠããããŸãã
æŽæ°ïŒå¿çããããŒã®é·ããããã»ã©åçŽã§ã¯ãªãããšã倿ããŸããã ããã¯ãç§ãããããããŠã³ããŒãããdrupal.orgã®åé¡ã§ãã ãããã¯ãããããŒã®é·ããçããããšããéåžžã«è¯ãä»äºãããŸã
www.drupal.org/project/purge/issues/2952277Drupal 8ã®Cache APIã«ã€ããŠããäžåºŠ
ãã®èšäºã§èª¬æãããŠããã®ã¯ãDrupal 8ã§ã®ãã£ãã·ã¥APIã®äœ¿ç𿹿³ã®ã»ãã®äžéšã§ããç§ã¯å人çã«ããã£ãã·ã¥APIãDrupal 7ãšæ¯èŒããŠäž»èŠãªé©æ°ã§ãããšèããŠããŸãããã£ãã·ã¥API; ãã£ãã·ã¥ãšDrupal 8ã®ã¬ã³ããªã³ã°ãšã®é¢ä¿ã