https://data.e-gov.go.jp/info/ja

e-Govデータポータルは、デジタル庁が運営する、行政機関が公開しているオープンデータを検索できるポータルサイトです。

人口・世帯、国土・気象、運輸・観光、行財政など、様々な行政機関等が提供するオープンデータを対象としてカタログを整備し、横断的な検索を可能にするとともに、提供されるオープンデータの内容をわかりやすく提供することにより、誰でもオープンデータをプロジェクトや業務で活用しやすくなることを目的としています。

e-Govデータポータルでは、メタデータ(データの説明)とリソース(ファイル等)の集合を「データセット」と呼んでいます。

データにはタイトルや説明の他に提供組織・カテゴリー・タグや最終更新日などのメタデータが付与され、ファイルはPDFやCSV、Excelなど様々な形式で提供されています。

データポータルでは、複数の切り口からデータセットを探すことができます。

https://data.e-gov.go.jp/data/api_guide

今回紹介するe-Govメタデータ取得APIは、そのe-Govデータポータルで提供される、オープンデータのメタデータを取得できるAPIです。

データポータル上には18,000件を超える大量のデータセットがあるため、どんなデータが存在するのか全容を把握したり、どんなデータが更新されたかを知るには、データポータル画面の検索では難しい面もあります。

そこで、e-Govメタデータ取得APIを用いてそれらのメタデータを一括収集して利用してみましょう。

本記事では、クラウドETLサービス「TROCCO」のカスタムコネクタを利用し、ノーコードでe-Govメタデータ取得APIとのデータ連携を実現する手順を具体的に解説します。

e-Govメタデータ取得APIのユースケース

e-Govメタデータ取得APIでオープンデータのメタデータを一括取得することで、以下のような利用が考えられます。

  • 動向分析:特定分野の政府統計や公開データの更新状況を自動的に把握
  • 市場調査:統計調査結果や白書を幅広く把握し、市場調査や分析の切り口を拡張
  • 新規サービス企画:オープンデータを活用したサービスの構築の検討
  • 自社サービスの分析:発見したオープンデータを継続的に把握・収集し、自社サービスのシェア拡大状況を分析

TROCCOのカスタムコネクタとは?

ETLツールでは一般的に、2つの異なるインターフェース間の接続を可能にする実装のことを、コネクタと呼びます。

カスタムコネクタは、ユーザー自身で独自コネクタをノーコードで作成できるTROCCOの機能です。

  • OAuth認証(認可コード・クライアントクレデンシャルズ)やAPIキーの設定に対応
  • ページネーションや任意のクエリパラメータに対応
  • 通常のコネクタと同様にスケジュールによる定期実行が可能

カスタムコネクタの作成方法の詳細は下記ドキュメントを御覧ください。

https://documents.trocco.io/docs/create-custom-connector

※ カスタムコネクタは TROCCO の Advanced プラン以上のプランでご利用いただける機能です。

【実践編】e-Govメタデータ取得APIのカスタムコネクタを作成してみる

1. 事前準備

カスタムコネクタの作成時にはサービス側のAPIドキュメントを参照が必要となるため、事前に準備しておきましょう。

e-Govメタデータ取得APIのAPIリファレンスは下記です。

https://data.e-gov.go.jp/data/api_guide

e-Govメタデータ取得APIの認証について

e-Govメタデータ取得APIは認証不要で利用可能な公開APIです。APIキーの取得や認証設定は不要で、すぐにAPIを利用開始できます。

ただし、以下の点にご注意ください:

  • 過度なアクセスは控え、適切な間隔を空けてリクエストを送信してください
  • 商用利用の際は利用規約を確認してください

2. カスタムコネクタの作成

TROCCOの [カスタムコネクタ] メニューから [新規作成] ボタンを押してカスタムコネクタを作成します。

2-1: 基本設定

カスタムコネクタの基本情報を設定します。

後述の「3. 接続確認」に進みやすいよう、下記を設定後にカスタムコネクタを一度保存するのがおすすめです。

セクション項目
基本情報名前 ※任意e-Govメタデータ取得API
コネクタ情報ベースURLhttps://data.e-gov.go.jp/data/api/action
認証情報認証種別APIキー
認証ヘッダー名Authorization
認証スキームBearer

2-2: エンドポイントの追加

e-Gov法令APIで提供されている主要なエンドポイントを追加します。

ここでは、「データセット検索(package_search)」のエンドポイントを例に設定を行います。

エンドポイント設定

項目設定値
名前 ※任意データセット検索(package_search)
パス/package_search
HTTPメソッドGET

パラメータ

パラメータ名表示名デフォルト値編集可能必須
fqfq:検索フィルターを指定する

レスポンス設定

項目設定値
JSONPathルート$.result.results
ページング設定オフセットベース

ページング設定の詳細

「最終位置を自動判定」にすることで、検索結果の全件が取得されるまで自動的に繰り返し実行されます。

項目小項目設定値
開始位置パラメータ名offset
0
終了位置終了判定方法最終位置を自動判定
最大リクエスト数1000
1リクエストの取得件数パラメータ名limit
100

3. 接続情報の作成と確認

3-1: 接続情報の作成

カスタムコネクタとエンドポイントの設定が完了したら、次は接続設定を作成します。

e-Govメタデータ取得APIは認証不要で利用可能な公開APIのため、APIキーに任意の値を入力したダミーの接続情報です。

  1. エンドポイント作成画面下部の「接続情報を追加」ボタンをクリック
    • ※ボタンが有効でない場合は、カスタムコネクタを一度保存してください
  2. 接続タイプで「e-Govメタデータ取得API」(作成したカスタムコネクタ)を選択
  3. 接続名とAPIキーを以下のように入力し保存
項目
名前 ※任意e-Gov dummy
APIキー“dummy”

3-2: 接続確認

接続情報の作成が完了したら、エンドポイント編集画面に戻り、接続確認を行います。

  1. エンドポイント編集画面下部で「接続確認に利用する接続情報」を選択
    • ドロップダウンリストから、STEP2-1で作成した接続情報を選択する
  2. 「接続を確認」ボタンをクリック
    • カスタムコネクタのベースURLとエンドポイントのパス、パラメータ、認証情報などに問題がなければ、接続確認結果に「エンドポイントへのリクエストに成功しました。」と表示されます

4. データ取得のための転送設定の作成

接続設定が完了したら、実際にデータを取得するための転送設定を作成します。

ここでは作成したカスタムコネクタからGoogleスプレッドシートへの転送を例に設定します。

4-1: 転送元・転送先の選択

まず、転送元、転送先をそれぞれ選択します。

  1. TROCCOの「データ転送」の「転送設定」メニューから「新規転送設定作成」ボタンをクリック
  2. 転送元に「カスタムコネクタ」を選択
  3. 転送先に「Google Spreadsheets」を選択

4-2: 転送元、転送先の設定

転送設定の名前、転送元の設定、転送先の設定を行います。

基本設定

項目設定値
名前 ※任意e-Gov – データセット検索

転送元カスタムコネクタの設定

1〜4で作成したカスタムコネクタ、接続情報、エンドポイントを選択し、必要に応じてパラメータを設定します。

今回は「宿泊旅行統計調査」という検索フィルターを指定しましたが、適宜ご設定ください。

検索フィルターを指定しない場合は全件検索となりますが、データ量が多くなるため、後述のカラム定義で書き込むカラムを絞り込むなどご検討ください。

項目設定値
カスタムコネクタ「e-Govメタデータ取得API」を選択
カスタムコネクタ接続情報「e-Gov dummy」を選択
取得対象「データセット検索(package_search)」を選択
パラメータ「fq:検索フィルターを指定する」宿泊旅行統計調査

転送先Google Spreadsheetsの設定

Google Spreadsheetsの接続情報は、個人のGoogleアカウントかサービスアカウントに紐づけて作成可能です。

詳細は以下のドキュメントを参照して設定してください。

項目設定値
Google Spreadsheets接続情報上記で作成した接続情報を選択
スプレッドシートID任意のスプレッドシートのURLのID部分を入力
シート名「シート1」といったシート名を入力
タイムゾーン「Asia/Tokyo」のまま
セルの書式設定「USER_ENTERED (セルの書式設定を適用する)」のまま
転送モード「全件洗い替え (シート作り直し)」のまま

4-3: プレビューとカラム定義

「次のSTEPへ」ボタンを押すと、カスタムコネクタからサンプルデータ取得とプレビュー表示が実行され、さらにカラム定義が自動的に設定されます。

カラムのデータ型とカラム名は自動的に設定されますが、GUI上で任意に編集できます。

カラムの左端をドラッグアンドドロップすることでカラム順を入れ替えたり、右端のゴミ箱ボタンをクリックしてカラムを除外し絞り込むことができます。

データ型が「json」のカラムについては、Google Spreadsheetsに書き込む際に1セルのデータが大きくエラーになることがありますので、抽出する条件に応じてカラムの除外を行ってください。

※主要なカラムが先頭に来るようカラム順を入れ替えています

4-4: 転送設定を確認

「確認画面へ」ボタンをクリックすると、設定内容の確認画面が表示されます。

問題なければ「保存して適用」ボタンをクリックして保存してください。

5. 転送ジョブの実行

設定が完了したら、転送ジョブを実行します。

  1. 作成した転送設定の詳細画面で「実行」ボタンをクリック
  2. 実行ログを確認し、正常にデータが転送されることを確認
  3. 転送先のスプレッドシートを開く
    • 転送設定概要のタブの「シート名」の箇所から、該当のスプレッドシートを開くこともできます
  1. 取得したデータを確認

Googleスプレッドシートにe-Govメタデータ取得APIのデータが転送できました。

追加のエンドポイント例

e-Govメタデータ取得APIにはその他にもエンドポイントが用意されており、用途に応じて追加できます。

◯データセット詳細の取得

  • パス: /package_show
  • 用途: データセットのidやnameを指定して取得することができます。一覧取得はidやnameのみにし、詳細は別途取得するなどの使い分けが考えられます

◯最近更新されたデータセット履歴の取得

  • パス: /recently_changed_packages_activity_list
  • 用途: 最近更新されたものから数件を取得することで、効率的に更新状況を確認できます

まとめ

TROCCOのカスタムコネクタなら、GUIベースでe-Govメタデータ取得APIのコネクタを手軽に作成でき、DWHをはじめクラウドアプリケーションやGoogleスプレッドシートなど、さまざまなサービスへのデータ転送がすぐに実現できます。

一度作成したコネクタは何度でも再利用でき、検索フィルター等のパラメータを変えて転送設定を複数作ることも可能なため、現場の担当者でも手軽にデータ連携や運用の自動化が可能です。

オープンデータ活用の初期開発・運用コストを最小化したい場合、TROCCOのカスタムコネクタ利用を是非ご検討ください。

primeNumber編集長

primeNumberのブログを担当している編集長