見出し画像

【第183回】 REST API を使ってすべての SQL クエリを一括で取得する方法

今回の記事では、Salesforce Marketing Cloud の Automation Studio で作成した SQL クエリを一括で取得するための REST API を紹介します。この API を利用することで、以下のようなことが簡単に分かるようになります。

・特定の項目がどの SQL クエリで使用されているかを把握
・格納先のデータエクステンションが何に指定されているかを確認

これにより、データエクステンションの削除や、データエクステンションのフィールドの削除やフィールド名の変更を行う前に、該当する SQL クエリでの使用状況を事前にチェックでき、非常に便利です


■ 事前準備

今回の記事では、REST API を使用します。過去の連載「Marketing Cloud REST API 超入門」の Part.1Part.2 で紹介した以下の 2 つが必要です。

■ Part.1 で取得した「REST ベース URL」
■ Part.2 で取得した「アクセストークン」

今回、以下のスコープがセットアップで選択されている必要があります。
■ AUTOMATION - Automation - Read

これらの準備が整ったら、以下の手順で SQL クエリを一括で取得してみましょう。


■ REST API の設定方法

まず、Talend API Tester で以下の設定を行ってください。

--- メソッド 
GET

--- エンドポイント
https://[REST ベース URL].rest.marketingcloudapis.com/automation/v1/queries?$page=1&$pagesize=500

--- ヘッダー
Content-Type:application/json 
Authorization:Bearer [アクセストークン] 

?$page=1&$pagesize=500 パラメーターを使用することで、最大 500 件の SQL クエリアクティビティを一括で取得できます。パラメーターを設定しない場合は、25 件のみが取得されます。

クエリの数が 500 件を超える場合は、次のページを指定することでさらに取得可能です。例:?$page=2&$pagesize=500

注意点

  • GET メソッドであるため、ボディの入力は不要です。

  • Filter パラメーターで "queryText" を使用することはできません。

  • 非公式エンドポイントであるため、下記 Salesforce 公式のヘルプページには記載されていません。(2024 年 9 月現在)


■ JSON ファイルの取得と処理

これを Talend API Tester で実行すると、最大500件の SQL クエリアクティビティの情報が JSON 形式で取得できます。私の環境では、277件のクエリアクティビティが取得できました。

次に、この JSON をダウンロードしてください。「queries.json」という名前の JSON ファイルがダウンロードできたと思います。

この JSON ファイルが取得できたら、エクセルを「新規」で開き「データ」タブをクリックします

続いて、「データの取得」から「ファイルから」→「JSON から」を選択すると、参照が開きますので、先ほどダウンロードした JSON ファイルを選択してください

すると、Power Query エディターが自動的に立ち上がるので、List の部分をクリックしてください

下記画面になったら、「テーブルへの変換」をクリックします

以下のポップアップが表示されますが、デフォルトのまま OK をクリックして先に進んでください。

続いて、下記の赤枠のアイコンをクリックしてください。

列の選択画面が出るので、そのまま OK をクリックしてください。

すると、JSON が展開されるプレビューが表示されます。最後に「閉じて読み込む」ボタンから「閉じて読み込む」をクリックしてください

これで、277 個の SQL クエリアクティビティが 1 行ごと展開されました。

これで、E 列の queryText 列で SQL クエリが取得され、F 列の targetName 列で格納先データエクステンション名が取得できました

あとは、フィルター機能でテキストフィルターを使用すれば、調べたいクエリが自由に検索できますね


いかがでしたでしょうか。

今回紹介した方法で、REST API を使って Salesforce Marketing Cloud の SQL クエリアクティビティを一括で取得し、効率的に管理できるようになりますね。ぜひ、この方法を積極的に活用してみてください。

今回は以上です。


Click here for English version

次の記事はこちら

前回の記事はこちら

私の note のトップページはこちら

いいなと思ったら応援しよう!