Skip to content
Last updated

Salesforce Marketing Cloud Export Integration Using SFTP

ジョブの結果をSalesforce Marketing Cloud(SFMC)SFTPサーバーに直接送信できます。

この機能はベータ版です。詳細については、カスタマーサクセス担当者にお問い合わせください。

前提条件

  • TD Toolbeltを含むTreasure Dataの基本知識
  • Salesforce Marketing Cloudの基本知識
  • TDアカウント

SMC SFTPアカウント

SFMCダッシュボードのアカウントで、Administrationを選択します。

Accountドロップダウンメニューから、FTP Accountsを選択します。SFTPアカウントを設定します。

FTP Accountsペインで、Add FTP Userを選択します。

FTPアカウントのパスワードを入力します。

SMC KeyとIV

次の記事の説明に従って、keyとIV(初期化ベクトル)の値を取得します:Field-Level Encryption

基本的な使い方

TD Consoleで、Queriesに移動し、New Queryを選択してクエリエディタにアクセスします。クエリ言語を選択してクエリを記述します。Output Resultsを選択します。

SMC SFTP接続を作成または既存の接続を選択する

オプションタスクステップヒント
コネクタを作成する- Integrations Hub > Catalogに移動 - Salesforce Marketing Cloud via SFTPアイコンを選択 - 最初のペインで必要なフィールドを入力します。次に、Configurationフィールドを入力します。クエリを記述する前に列のマッピングを定義する必要がある場合があります。
コネクタを選択する- TD Consoleに移動 - クエリエディタに移動します。- データをエクスポートするために使用する予定のクエリにアクセスします。- Output Resultsを選択します。Choose Save Connection ダイアログが開きます。- 検索ボックスに接続名を入力してフィルタリングし、使用する接続を選択します。次に、Configurationフィールドを入力します。Create New Connectionを選択して、ここから新しい接続を作成することもできます。

新しい接続の作成

ユーザー名とパスワードの指定

Authentication modeとしてPasswordを選択する必要があります

シークレットキーファイルの指定

Authentication modeとしてPublic/Private key pairを選択する必要があります。

認証情報を入力した後、Choose Saved Connectionダイアログで接続をフィルタリングするために、接続名を入力する必要があります。

既存の接続を選択する

Configurationフィールドを入力する

ここから、暗号化する対象列を入力します。SMC SFTPサーバーに送信する前に列を暗号化するには、KeyとIVが必要です

configurationダイアログを完了した後、configurationダイアログのフィールドを編集および更新する場合は、SFMCに暗号化されたデータを送信するためにkeyとIVを再入力する必要があります。

SMC SFTPに送信するデータを暗号化したくない場合は、encryption columns、key、IVを空白のままにしてください。

暗号化データ

Field Type Description
Encodersstring
  • None: エンコーダーを適用しない(デフォルト)
  • GZ: アップロード前にgzipでファイルを圧縮する
  • BZIP2: アップロード前にbzip2でファイルを圧縮する
  • PGP Encryption: アップロード前に提供された公開鍵でファイルを暗号化する
Public Key(EncoderがPGP Encryptionの場合は必須)stringアップロード前にファイルを暗号化するために使用される公開鍵。
Key Identifier(EncoderがPGP Encryptionの場合は必須)stringファイルを保護するために使用される暗号化サブキーのKey ID。マスターキーは暗号化プロセスから除外されます。
Armor(オプション)checkbox暗号化されたファイルのASCII armorを有効にします。
Compression Type(オプション)stringSFTPサーバーへのアップロードのために暗号化の前に適用される圧縮アルゴリズム。

暗号化とアップロードの前にファイルを圧縮します。復号化後、ファイルは元の圧縮形式(例:.gzまたは.bz2)に戻ります。

クエリを実行する

クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定されたContainer宛先に自動的にインポートされます。

ジョブが終了したら、次の例に示すように、一般的なSFTPコマンドを使用してSMC SFTPサーバー上の出力ファイルを確認できます:

SFMCダッシュボードをチェックして、インポートが成功したことを確認します。

CLIからの使用

CLIを使用してSMC SFTPへのResult Exportを行うことができます。

シークレットキーファイルの使用

次の例では、キー内のバックスラッシュによる改行のエスケープに注意してください。

例:

td query \
--result '{"type":"smc_sftp","host":"xx.xx.xx.xx","port":22,"username":"xxxx","secret_key_file":"{\"content\":\"-----BEGIN RSA PRIVATE KEY-----\nABCDEFJ\nABCDEFJ\n-----END RSA PRIVATE KEY-----\"}","secret_key_passphrase":"xxxxxx", "user_directory_is_root":true,"path_prefix":"/path/to/file.csv","sequence_format":"","rename_file_after_upload":false,"header_line":true,"quote_policy":"MINIMAL","delimiter":",","null_string":"","newline":"CRLF","encryption_column_names":"name, email", "encryption_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "encryption_iv":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}' \
-d sample_datasets \
"SELECT id, name, email FROM (\ VALUES (1,'a','a@gmail.com'),\ (2,'b','b@gmail.com'),\ (3,'c','c@gmail.com')\ ) tbl (id, name, email)" \
-T presto

ユーザー名とパスワードの使用

次の例を参照してください:

td query --result \
'{"type":"smc_sftp","host":"xx.xx.xx.xx","port":22,"auth_method":"Password","username":"xxxx","password":"xxxxx","user_directory_is_root":true,"path_prefix":"/path/to/file.csv","sequence_format":"","rename_file_after_upload":false,"header_line":true,"quote_policy":"MINIMAL","delimiter":",","null_string":"","newline":"CRLF","encryption_column_names":"name, email", "encryption_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "encryption_iv":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}' \
-d sample_datasets \
"SELECT id, name, email FROM (VALUES (1,'a','a@gmail.com'),(2,'b','b@gmail.com'),(3,'c','c@gmail.com')) tbl (id, name, email)" -T presto

参考資料

SMC_SFTP Data Connectorに関するFAQ

Q: SFTPサーバーに接続できません。どうすればよいですか?

A: 以下の点を確認してください:

  • プロトコルが有効であることを確認してください。SFTPを使用する場合は、このインテグレーションを使用できます。FTP/FTPSを使用する場合は、FTP Server Import Integrationで接続してみてください。
  • ファイアウォールを使用している場合は、許可されたIP範囲とポートを確認してください。サーバー管理者は、セキュリティ上の理由から、デフォルトのポート番号TCP 22を変更することがあります。
  • プライベートキーがOpenSSH形式であることを確認してください。Treasure Dataは「PuTTY」などの他の形式をサポートしていません。
  • Treasure Dataは、OpenSSH 7.8以降のプライベートキーのデフォルト形式をサポートしていません。'-m PEM'オプションを使用してキーを再生成してください。

Q: アップロードしたファイルがSFTPサーバー上で見つかりません。何が起こったのでしょうか?

A: SFTPサーバーがAppendモードをサポートしていない場合、インテグレーションは「SFTP Exception: no such file.」というエラーでファイルを更新できない可能性があります。安定性の理由から、インテグレーションはファイルの内容をバッチでアップロードします。そのため、SFTPサーバーでAppendモードを有効にする必要があります。SFTPサーバーでAppendモードを有効にできない場合は、この機能をバイパスするためにtemp_file_thresholdを0に設定する必要があります。

注:暗号化とアップロードの前にファイルを圧縮してください。

  1. ビルトインでない暗号化を使用して復号化する場合、ファイルは.gzや.bz2などの圧縮形式に戻ります。

  2. ビルトインの暗号化を使用して復号化する場合、ファイルは生データに戻ります。