Techioz Blog

Shopify Ruby gemを通じてproduct.metafieldsを取得する際のレイテンシを短縮するにはどうすればよいですか?

概要

shopify Ruby gem と対話する次の行を考えてみましょう。

まず、Shopify の REST API を通じて大量の商品を取得します。

products = ShopifyAPI::Product.find(:all, :params => {})
product  = products.first

次に、製品のメタフィールドを取得してみます。

puts Benchmark.measure { 100.times { |s| product.metafields } }
# => 0.375952   0.083343   0.459295 ( 26.157793)

メタフィールドの取得にこれほど時間がかかる理由はありますか?私が理解している限り、これらは製品オブジェクトの一部であり、個別の API リクエストは必要ありません。

解決策

素晴らしい!何という進歩でしょう! このために Rest API を使用することは忘れてください。RestAPI は、等価ではないため、GraphQL によって提供されない基本情報が必要な場合にのみ使用してください。代わりに、GraphQL に切り替えてください。魔法のように、製品クエリでメタフィールドを要求して抽出できるようになりました。