ジョブの結果をSalesforce Marketing Cloud(SFMC)SFTPサーバーに直接送信できます。
この機能はベータ版です。詳細については、カスタマーサクセス担当者にお問い合わせください。
- TD Toolbeltを含むTreasure Dataの基本知識
- Salesforce Marketing Cloudの基本知識
- TDアカウント
SFMCダッシュボードのアカウントで、Administrationを選択します。

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

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

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

次の記事の説明に従って、keyとIV(初期化ベクトル)の値を取得します:Field-Level Encryption
TD Consoleで、Queriesに移動し、New Queryを選択してクエリエディタにアクセスします。クエリ言語を選択してクエリを記述します。Output Resultsを選択します。

| オプション | タスクステップ | ヒント |
|---|---|---|
| コネクタを作成する | - 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ダイアログで接続をフィルタリングするために、接続名を入力する必要があります。


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

configurationダイアログを完了した後、configurationダイアログのフィールドを編集および更新する場合は、SFMCに暗号化されたデータを送信するためにkeyとIVを再入力する必要があります。
SMC SFTPに送信するデータを暗号化したくない場合は、encryption columns、key、IVを空白のままにしてください。
| Field | Type | Description |
|---|---|---|
| Encoders | string |
|
Public Key(EncoderがPGP Encryptionの場合は必須) | string | アップロード前にファイルを暗号化するために使用される公開鍵。 |
Key Identifier(EncoderがPGP Encryptionの場合は必須) | string | ファイルを保護するために使用される暗号化サブキーのKey ID。マスターキーは暗号化プロセスから除外されます。 |
| Armor(オプション) | checkbox | 暗号化されたファイルのASCII armorを有効にします。 |
| Compression Type(オプション) | string | SFTPサーバーへのアップロードのために暗号化の前に適用される圧縮アルゴリズム。 暗号化とアップロードの前にファイルを圧縮します。復号化後、ファイルは元の圧縮形式(例: |
クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定されたContainer宛先に自動的にインポートされます。
ジョブが終了したら、次の例に示すように、一般的なSFTPコマンドを使用してSMC SFTPサーバー上の出力ファイルを確認できます:

SFMCダッシュボードをチェックして、インポートが成功したことを確認します。
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 prestoQ: 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に設定する必要があります。
注:暗号化とアップロードの前にファイルを圧縮してください。
ビルトインでない暗号化を使用して復号化する場合、ファイルは.gzや.bz2などの圧縮形式に戻ります。
ビルトインの暗号化を使用して復号化する場合、ファイルは生データに戻ります。