Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Azure Microsoft

Azure Synapse AnalyticsでRestAPIのデータを取得する方法

投稿日:2023年8月24日 更新日:

 

<目次>

Azure Synapse AnalyticsでRestAPIのデータを取得する方法
 やりたいこと/概要
 STEP0:前提条件
 STEP1:リンクサービスの作成(例)
 STEP2:統合データセットの作成(例)
 STEP3:パイプライン(内でデータフロー)の作成(例)
 STEP4:動作確認
 【注意】Azure Synapse Analyticsの料金について

Azure Synapse AnalyticsでRestAPIのデータを取得する方法

やりたいこと/概要

●やりたいこと
・Azure Synapse AnalyticsでRestAPIからデータを取得する
・今回は例として「郵便番号API」の検索結果を、SQL Serverのテーブルに格納する
(図100)

●概要
データ取得のコネクタは3種類あり、それぞれ以下の特徴を持つ。
(表)

■コネクタ種別 ■概要
REST RESTful APIからデータをコピーする
HTTP ・HTTPエンドポイント全般からデータを取得する(ファイルのダウンロードなど)。
・RESTコネクタと比較すると、機能は少ないが手軽(最初の選択として良い)
Web Table HTMLのWebページからデータを抽出。

STEP0:前提条件

・【前提①】Synapseのワークスペースが準備済みであること
 
・【前提②】Azure SQL Serverのリソースが準備済みであること
⇒(手順)Azure SQL Serverのリソースが準備済である事

(参考)【前提②】で作成するテーブルのDDL文
CREATE TABLE your_table_name_results (
    id INT PRIMARY KEY IDENTITY(1,1),
    address1 NVARCHAR(255),
    address2 NVARCHAR(255),
    address3 NVARCHAR(255),
    kana1 NVARCHAR(255),
    kana2 NVARCHAR(255),
    kana3 NVARCHAR(255),
    prefcode NVARCHAR(255),
    zipcode NVARCHAR(255)
);

STEP1:リンクサービスの作成(例)

●STEP1-1:入力データ取得用の「REST」のリンクサービスを作成

・①左メニュー「Manage」→「Linked services」→「新規」
(図111)
・②「REST」→「続行」
(図112)
・③必要項目を入力して「作成」
(表)設定例
ベースURL https://zipcloud.ibsnet.co.jp/api/search
認証の種類 匿名
パラメータ 名前1:zipcode、値1:0790177
名前2:limit、値2:2
 (図113①②)

・④「すべて発行」押下⇒「発行」押下
(図114①②)

 

●STEP1-2:出力データ保存用の「SQL Server」のリンクサービスを作成

 
・①左メニュー「Manage」→「Linked services」→「新規」
(図121)
・②「Azure SQL Database」→「続行」
(図122)
・③必要項目を入力して「作成」
※【前提②】で準備したAzure SQL Serverの情報を入力
(図123)
・④作成完了
(図124)
 

STEP2:統合データセットの作成(例)

●STEP2-1:入力データ取得用の「REST」の統合データセット作成

・①左メニュー「Data」→「+」押下
(図211)
・②「統合データセット」押下
(図212)
・③「REST」⇒「続行」
(図213)
・④先ほど「●STEP1-1」で作成したRESTのリンクサービスを指定
(図214)
・⑤「すべて発行」→「発行」押下
(図215①②)


●STEP2-2:出力データ保存用の「SQL Server」の統合データセット作成

・①左メニュー「Data」→「+」押下→「統合データセット」押下
(図221)
・②「Azure SQL Database」⇒「続行」
(図222)
・③先ほど「●STEP1-2」で作成したSQL Serverのリンクサービスを指定
(図223)
・④「すべて発行」→「発行」押下
(図224①②)
 

STEP3:パイプライン(内でデータフロー)の作成(例)

●STEP3-1:パイプライン作成&データフロー作成

それぞれの入れ物を作成します。
 
・①左メニュー「Integrate」→「+」→「パイプライン」
(図311)
・②「移動と変換」の中から「データフロー」を右エリアにドラッグ&ドロップ
(図312)
・③「設定」タブ→「データフロー」で「+新規」
(図313)
・④「デバッグ」を有効化
(図314①②)


●STEP3-2:ソースの設定

・①「ソースの追加」
(図321)
・②「ソースの設定」タブは下記例のように設定する。
(図322)
・②「ソースのオプション」タブ→「クエリパラメータ」を設定
zipcode : 0790177
limit : 2
(図325)
・③「プロジェクション」タブで「プロジェクションのインポート」
(図323①②)


・④「データのプレビュー」タブで「最新の情報に更新」
(図324①②)

ステータスコード:200の正常応答が返ってくる

●STEP3-3:フラット化の設定

・①「+」→「フラット化」
(図331)
・②「フラット化の設定」を設定する
・「着信ストリーム」→「source1」(●STEP3-2の結果)
・「アンロール方法」→「body.requests」
・「入力列」→「body.requests ⇒ body」
 
(図332①②)

・③「データのプレビュー」タブで「最新の情報に更新」
(図333)

●STEP3-4:シンクの設定

・①「+」→「シンク」
(図341)
・②「シンク」を設定する
・「着信ストリーム」→「flatten」(●STEP3-3の結果)
・「データセット」→「AzureSqlTable2」(●STEP2-2の結果)
 
(図342)
・③「マップ」を設定する
(図343)
・④「データのプレビュー」タブで「最新の情報に更新」
(図344①②)

 

STEP4:動作確認

 
・①パイプラインのタブから「デバッグ」押下
(図411)
・②出力タブにアクティビティが追加され「キューに挿入済み」になる
(図412)
・③状態が「成功」になった
(図413)
・④データ2件が「SQL Server」のテーブルにINSERTされた
(図414)

【注意】Azure Synapse Analyticsの料金について

非常に強力な分、料金も他のAzureサービスと比較すると高いので、注意が必要。
 

Adsense審査用広告コード


Adsense審査用広告コード


-Azure, Microsoft
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Azure Blob Storageでファイル検索(セマンティック検索)する方法

  <目次> Azure Blob Storageでファイル検索(セマンティック検索)する方法  やりたいこと/概要  STEP1:Azure AI Search(旧称:Azure Cogn …

Azure AD Privileged Identity Management(PIM)とは?

  <目次> (1) Azure AD Privileged Identity Management(PIM)とは?  (1-1) Azure AD Privileged Identity …

no image

「Not enough quota available」エラーがAzureで発生した際の原因/対処について

  <目次> (1) 「Not enough quota available」エラーがAzureで発生した際の原因/対処について  (1-1) エラーメッセージ  (1-2) 原因  (1- …

Azureアカウントの作成方法と概要について

  <目次> (1) Azureアカウントの作成方法と概要について  (1-1) Azureアカウントの概要  (1-2) Azureアカウント作成手順   ①:Azureサイトにアクセス …

Azureで「支払いに使用されたクレジット カードが拒否されました。」となった場合の対処

  <目次> Azureで「支払いに使用されたクレジット カードが拒否されました。」となった場合の対処  事象  原因(一般論)  原因(私の例)  対策(概要)  対策(例:UCカードの場 …

  • English (United States)
  • 日本語
Top