介紹
要使用ApolloData 提供的Engine 先到 https://engine.apollographql.com/ 頁面使用Github帳號登入
並申請的engine api,目前支持的版本有這幾個
啟動一個基本的 apollo-engine 以 node為範例
1.在server端 graphqlExpress 套件中 打開 tracing cacheControl
app.use('/graphql', bodyParser.json(), graphqlExpress({
schema,
context: { ... },
// Add the two options below
tracing: true,
cacheControl: true
}));
2.ApolloData建議在傳送中使用壓縮 middleware , 所以安裝 npm install compression --save 後
程式碼
var compression = require('compression')
app.use(compression());
然後安裝 npm install --save apollo-engine 套上剛剛申請的engine api
import { Engine } from 'apollo-engine';
const engine = new Engine({
engineConfig: {
apiKey: 'API_KEY_HERE'
}
});
engine.start();
engine 的 option設定
const engine = new Engine({
engineConfig: {
apiKey: engineApiKey,
logging: {
level: 'DEBUG' // Engine Proxy logging level. DEBUG, INFO, WARN or ERROR
}
},
// GraphQL port
graphqlPort: process.env.PORT || 8003,
// GraphQL endpoint suffix - '/graphql' by default
endpoint: '/graphql',
// Debug configuration that logs traffic between Proxy and GraphQL server
dumpTraffic: true
});
engine的log可以指定level,graphql server 可以指定 port跟端點 proxy server要把dumpTraffic 設定為true
3.目前node 有支援四個版本的middleware
expressMiddleware – use for Express servers.
connectMiddleware – use for Connect or Restify servers.
instrumentHapiServer – use for Hapi servers.
koaMiddleware – use for Koa servers.
設定完engine後就用middleware的方式坎入
const app = express();
app.use(engine.expressMiddleware());
4.接著就可以去看 engine 提供的 ui介面看到設定好的監聽成果
總結
ApolloData 2.0後提供了engine 在串接上提供簡單的API與 middleware 只要選定好後就可以開始使用了,引擎每個月的前100萬查詢是免費的,對許多應用程序是綽綽有餘快來試用吧。