Amazon S3とSQL Server間でデータを同期するレシピ
このユースケースでは、Amazon S3とSQL Serverを接続して強力な自動化を作成する手順を説明します。
このレシピの機能
このレシピは、スケジュールに従って実行され、Amazon S3とSQL Server間でデータを同期します。
レシピの作成
Amazon S3とSQL Server間でデータを同期するために、スケジュールに従って実行されるレシピを作成するには、次の手順を完了します。
ユースケースは例示のみを目的としています
このユースケースは一例です。 このレシピをワークフローに合わせて適応させるには、トリガー、アクション、または条件ロジックの変更が必要になる場合があります。
Workatoにサインインします。
レシピを作成する予定のプロジェクトを選択します。
Amazon S3とSQL Serverのコネクションを作成します。
Amazon S3コネクションを作成します。
Amazon S3コネクションの作成
このステップでは、WorkatoとAmazon S3アカウント間のコネクションを作成します。
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページでAmazon S3を検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
Amazon S3への接続
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
Authorization typeドロップダウンメニューを使用して、IAM roleを選択します。
IAM role ARNフィールドに入力します。 Workatoは、workato-user-84762など、Workatoユーザーごとに一意の外部IDを生成します。 Amazon S3でIAMロールを作成する際は、この外部IDを指定する必要があります。
Restrict to bucketドロップダウンメニューを使用して、このコネクションの制限先となるバケットを選択します。 これは、ユーザーが制限されたs3:ListBucketアクセスのみを持つ場合に必要です。
RegionフィールドにAmazon S3アカウントのリージョンを入力します。 この値はAmazon S3アカウントのURLで確認できます。 たとえば、アカウントURLがhttps://eu-west-1.console.s3.amazon.comの場合、リージョンはeu-west-1です。
Download threadsフィールドでダウンロードスレッドを指定します。 このフィールドはダウンロード速度を向上させるために使用されます。 デフォルトは1、最大は20です。
接続をクリックします。
SQL Serverコネクションを作成します。
SQL Serverコネクションの作成
このステップでは、Workatoとお使いのSQL Serverアカウントの間にコネクションを作成します。
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページでSQL Serverを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
SQL Serverに接続
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
コネクションがクラウドベースか、オンプレミスグループを使用するかを指定するには、コネクションタイプドロップダウンメニューを使用します。
ホストされているサーバーのURLをホストフィールドに入力します。
サーバーが実行されているポート番号をポートフィールドに入力します。 デフォルトは1433です。
SQL Serverへの接続に使用するユーザー名をユーザー名フィールドに入力します。
SQL Serverへの接続に使用するパスワードをパスワードフィールドに入力します。
アクセスするデータベースの名前をデータベースフィールドに入力します。
任意です。 Azure SQLに接続しているかどうかを指定するには、Azure SQLドロップダウンメニューを使用します。
任意です。 詳細設定を展開して、追加のdatetime設定を構成します。
接続をクリックします。
プロジェクトに戻り、Create > Recipeをクリックするか、C+Rを押します。
新しいレシピを作成
Nameフィールドにレシピの名前を入力します。
Locationドロップダウンメニューを使用して、レシピを保存するプロジェクトを選択します。
ビルドを開始をクリックします。
レシピの構築を開始
開始点を選択をクリックし、スケジュールに従って実行を選択します。 これにより、スケジューラー by WorkatoのNew recurring eventトリガーを使用する新しいレシピが作成されます。 このトリガーでは、コネクションを確立する必要はありません。
スケジューラー by Workato New recurring eventトリガーを設定します。
スケジューラー by Workato New recurring eventトリガーの設定
このトリガーは、レシピを実行する頻度の間隔を設定します。
レシピエディターでトリガーをクリックします。
トリガーをクリック
時間単位ドロップダウンメニューを使用して、レシピを実行する頻度を指定します。 このレシピでは分を選択します。
- 使用可能なオプションには、Minutes、Hours、Days、Weeks、Months、またはCustom scheduleがあります。
トリガー間隔フィールドに整数を入力します。 この例では5を使用して、レシピを5分ごとに実行します。
New recurring eventトリガーの設定
+ Add stepをクリックし、Action in appを選択します。
Add step > Add action in appをクリック
Amazon S3の署名付きURLを生成アクションを設定します。
Amazon S3の署名付きURLを生成アクションの設定
このステップでは、Amazon S3バケット内のオブジェクトへの一時的な認証済みURLを作成します。 サードパーティは、このURLを使用して、指定された期間、このオブジェクトをアップロードおよび変更できます。
Amazon S3を検索し、アプリとして選択します。
Amazon S3を選択
署名付きURLを生成アクションを選択します。
署名付きURLを生成アクションを選択します。 署名付きURLとは
前の手順で作成したAmazon S3コネクションを選択します。
バケット名ドロップダウンメニューから監視するバケットを選択します。
オブジェクト名フィールドにオブジェクトのフォルダパスを入力します。 たとえば、ファイルがバケットのルートにある場合はorders.csvを入力します。
オブジェクト名とファイル名は大文字と小文字が区別されるため、フォルダパスが正確であることを確認してください。 詳細については、AWSプレフィックスのドキュメントを参照してください。
HTTPメソッドドロップダウンメニューを使用してPUTを選択します。
署名付きURLを生成アクションの設定
+ Add stepをクリックし、Action in appを選択します。
SQL Serverのクエリ結果をエクスポートアクションを設定します。
SQL Serverのクエリ結果をエクスポートアクションの設定
このステップでは、SQLクエリを実行して指定したテーブルからすべての行と列を取得し、結果をCSVファイルとしてエクスポートして、指定したAmazon S3オブジェクトの場所にファイルをアップロードします。
SQL Serverを検索し、アプリとして選択します。
SQL Serverを選択
クエリ結果をエクスポートアクションを選択します。
クエリ結果をエクスポートアクションを選択
前の手順で作成したSQL Serverコネクションを選択します。
SQLフィールドに次のクエリを入力します。 {YOUR_TABLE}をテーブルの名前に置き換え、スキーマを更新します。
SELECT * FROM {YOUR_SCHEMA}.{YOUR_TABLE};このクエリは、指定されたテーブルからすべての行と列を取得します。 たとえば、テーブルの名前がOrdersで、デフォルトのスキーマdboに存在する場合、クエリは次のようになります。
SELECT * FROM dbo.Orders;列区切り文字ドロップダウンメニューを使用して、CSVファイル内の各列を区切る区切り文字を指定します。 たとえば、カンマを選択します。
アップロードURLフィールドの設定
保存をクリックします。
Amazon S3とSQL Server間でデータを同期するレシピをテストおよび実装する準備ができました。
レシピ設定の例。
Amazon S3とSQL Server間でデータを同期するレシピ
Last updated: