Amazon Appflowを使用してVantageからSalesforceへ接続する方法
概要
このハウツーでは、SalesforceとTeradata Vantageの間でデータを移行するプロセスについて説明します。これには 2 つのユースケースが含まれます。
- Salesforceから顧客情報を取得し、Vantageから注文および出荷情報と組み合わせて、分析的な洞察を得ます。
- Vantage の
newleads
テーブルを Salesforce のデータで更新し、AppFlow を使用して新しいリードを Salesforce に追加します。
Amazon AppFlow は、顧客アカウント データを Salesforce から Amazon S3 に転送します。その後、Vantage は Native Object Store (NOS) の読み取り機能を使用して、Amazon S3 のデータと Vantage のデータを 1 つのクエリーで結合します。
アカウント情報は、Vantage の newleads
テーブルを更新するために使用されます。テーブルが更新されると、Vantage は NOS Write を使用してそれを Amazon S3 バケットに書き戻します。新しいリード データ ファイルが到着すると、Lambda 関数がトリガーされ、データ ファイルが Parquet 形式から CSV 形式に変換さ れ、AppFlow によって新しいリードが Salesforce に挿入されます。
Amazon AppFlow について
Amazon AppFlow は、Salesforce、Marketo、Slack、ServiceNow などの Software-as-a-Service (SaaS) アプリケーションと、Amazon S3 や Amazon Redshift などの AWS サービス間でデータを安全に転送できる、フルマネージド型の統合サービスです。AppFlow は移動中のデータを自動的に暗号化し、AWS PrivateLink と統合された SaaS アプリケーションのデータがパブリックインターネットを経由しないように制限できるため、セキュリティの脅威にさらされる可能性が減ります。
現在、Amazon AppFlowは16のソースから選択でき、4つの宛先にデータを送信することができます。
Teradata Vantage について
Teradata Vantageは、エンタープライズ分析のためのマルチクラウド対応データプラットフォームであり、データに関する課題を最初から最後まで解決します。
Vantage を使用すると、企業は小規模から始めてコンピューティングやストレージを柔軟に拡張し、使用した分だけ支払い、低コストのオブジェクト ストアを活用し、分析ワークロードを統合することができます。Vantage は、R、Python、Teradata Studio、およびその他の SQL ベースのツールをサポートしています。
Vantageは、記述的分析、予測的分析、処方的分析、自律的意思決定、ML機能、可視化ツールを統合したプラットフォームで、データがどこにあっても、リアルタイムのビジネスインテリジェンスを大規模に発掘することができます。
Teradata Vantage Native Object Store (NOS) を使用すると、標準 SQL を使用して、Amazon S3 などの外部オブジェクト ストア内のデータを探索できます。NOS を使用するには、特別なオブジェクト ストレージ側のコンピューティング インフラストラクチャは必要ありません。ユーザーは、バケットを指す NOS テーブル定義を作成するだけで、Amazon S3 バケット内のデータを探索できます。NOS を使用すると、Amazon S3 からデータをすばやくインポートしたり、Vantage データベース内の他のテーブルと結合したりすることもできます。
前提条件
Amazon AppFlowサービスおよびTeradata Vantageに精通していることが前提です。
以下のアカウントとシステムが必要です。
- Teradata Vantageインスタンスへのアクセス。
注記
Vantage のテストインスタンスが必要な場合は、 https://clearscape.teradata.com で無料でプロビジョニングできます
- フローの作成と実行が可能なロールを持つAWSアカウント。
- Salesforce データを保存するための Amazon S3 バケット (例: ptctsoutput)
- 生のVantageデータ(Parquetファイル)を保存するAmazon S3バケット(つまり、vantageparquet)。このバケットには、Amazon AppFlowアクセスを許可するポリシーが必要です。
- 変換された Vantage データ (CSV ファイル) を保存する Amazon S3 バケット (例: vantagecsv)
- 以下の要件を満たすSalesforceアカウント。
- Salesforce アカウントで API アクセスを有効にする必要があります。API アクセスは、Enterprise、Unlimited、Developer、および Performance エディションではデフォルトで有効になっています。
- Salesforce アカウントでは、接続されたアプリケーションのインストールが許可されている必要があります。これが無効になっている場合は、Salesforce 管理者に問い合わせてください。Amazon AppFlow で Salesforce 接続を作成した後、「Amazon AppFlow Embedded Login App」という名前の接続されたアプリケーションが Salesforce アカウントにインストールされていることを確認します。
- 「Amazon AppFlow Embedded Login App」のリフレッシュ トークン ポリシーは、「リフレッシュ トークンは取り消されるまで有効」に設定する必要があります。そうしないと、リフレッシュ トークンの有効期限が切れたときにフローが失敗します。
- イベント駆動型フロートリガーを使用するには、Salesforce で変更データキャプチャを有効にする必要があります。[設定] から、[クイック検索] に「変更データキャプチャ」と入力します。
- Salesforce アプリが IP アドレスの制限を実施している場合、Amazon AppFlow で使用するアドレスをホワイトリストに登録する必要があります。詳細については、Amazon Web Services 全般リファレンス のAWS IP アドレス範囲を参照してください。
- 100 万件を超える Salesforce レコードを転送する場合、Salesforce 複合フィールドを選択することはできません。Amazon AppFlow は転送に Salesforce Bulk API を使用しますが、複合フィールドの転送は許可されません。
- AWS PrivateLink を使用してプライベート接続を作成するには、Salesforce アカウントで「メタデータの管理者」と「外部接続の管理」の両方のユーザー権限を有効にする必要があります。プライベート接続は現在、us-east-1 および us-west-2 AWS リージョンで利用できます。
- 履歴オブジェクトなど、一部の Salesforce オブジェクトは更新できません。これらのオブジェクトの場合、Amazon AppFlow はスケジュールトリガーフローの増分エクスポート ([新しいデータのみを転送] オプション) をサポートしていません。代わりに、[すべてのデータを転送] オプションを選 択し、適切なフィルタを選択して転送するレコードを制限できます。
手順
前提条件を満たした上で、以下の手順で行います。
- Salesforce to Amazon S3 フローの作成する
- NOSを使ったデータを探索する
- NOS を使用して Vantage データを Amazon S3 にエクスポートする
- Amazon S3からSalesforceへのフローを作成する
Salesforce to Amazon S3 フローの作成する
このステップでは、Amazon AppFlow を使用してフローを作成します。この例では、 Salesforce 開発者アカウント を使用して Salesforce に接続しています。
AppFlowコンソールに移動し、AWS ログイン認証情報でサインインして Create flowをクリックします。正しいリージョンにいることを確認し、Salesforce データを保存するためのバケットが作成されていることを確認します。
ステップ1:フローの詳細を指定する
このステップでは、フローの基本情報を提供する。
Flow name (例: salesforce) と Flow description (optional) を入力し、 Customize encryption settings (advanced) のチェックを外したままにします。Nextをクリックします。
ステップ2. フローを構成する
このステップでは、フローのソースと宛先に関する情報を提供します。この例では、ソースとして Salesforce を使用し、宛先として Amazon S3 を使用します。
-
Source name で Salesforce を選択し、Choose Salesforce connectionで * Create new connection*を選択します。
-
Salesforce環境 と データの暗号化にはデフォルトを使用します。接続に名前 (つまり salesforce) を付けて Continueをクリックします。