# Amazon Marketing Cloud Export Integration Amazon Marketing Cloud (AMC)とTreasure Data CDPを統合することで、広告主はAmazon Adsを使用して、Treasure DataからAMCに戦略的なCDPセグメントを仮名化された形式で渡すことができます。広告主は、CDPの入力とAmazon Adsのシグナルを組み合わせて、メディアの影響、オーディエンスセグメンテーション、セグメントの重複、カスタマージャーニーなどのトピックに関する独自のインサイトをプライバシー保護された方法で取得できます。Treasure Data CDPとAMCを統合することで[広告キャンペーンをより効果的に推進する方法](https://aws.amazon.com/blogs/industries/integrating-cdp-with-amazon-marketing-cloud-to-drive-better-ad-campaigns/)について詳しく学んでください。 このAmazon Marketing Cloud Export Integrationを使用すると、Treasure Dataからジョブ結果を書き込み、仮名化されたオーディエンスデータセットをAmazon Marketing Cloudに直接アップロードできます。 個人を特定できる情報(PII)フィールドは、SHA-256を使用してプログラムで正規化およびハッシュ化されます。PIIフィールドがすでにハッシュ化されている場合は、そのまま転送されます。ハッシュ化される識別子タイプ:EMAIL、FIRST_NAME、LAST_NAME、PHONE、ADDRESS、CITY。 ## このIntegrationでできること - 仮名化されたオーディエンスデータセットをAmazon Marketing Cloudにアップロードする - 既存のすべてのデータセット内のIDを削除する - ルールベースのオーディエンスを作成し、Amazon DSPで直接アクティベートする Amazon Marketing Cloudは、ハッシュ化または仮名化された情報のみを受け入れます。広告主のAMCインスタンス内のすべての情報は、Amazonのプライバシーポリシーに厳密に従って処理され、広告主のシグナルはAmazonによってエクスポートまたはアクセスされることはありません。広告主は、AMCから集約された匿名の出力のみにアクセスできます。 ## 前提条件 - [TD Toolbelt](https://toolbelt.treasuredata.com/)を含むTreasure Dataの基本的な知識 - Amazon Marketing Cloud account - Amazon Marketing Cloud accountへのアクセスを許可するS3 bucket - AMCインスタンスに招待されたAmazon DSP account - (オプション)Amazon Marketing Cloud Export Integrationを使用する前にdataset定義を作成する。dataset作成workflowの例については、[Treasure Boxes](https://github.com/treasure-data/treasure-boxes/tree/e5d13703022cb6a3f608f9bd0d9ccba07f93229f/scenarios/create_amc_dataset)を参照してください。このintegrationは、最初のactivation実行時にdatasetを作成することをサポートしています。 ## 要件と制限事項 - Queryのカラムは、正確なカラム名(大文字小文字を区別しない)とデータタイプで指定する必要があります - AMCインスタンスに紐づく既存のS3 bucketの使用は推奨されません。データアップロード用に新しいS3 bucketを作成してください - Amazon DSPの最小オーディエンスサイズは2,000 identitiesです ## Treasure Data Integration の静的 IP アドレス セキュリティポリシーで IP ホワイトリストが必要な場合は、接続を成功させるために Treasure Data の IP アドレスを許可リストに追加する必要があります。 リージョンごとに整理された静的 IP アドレスの完全なリストは、次のリンクにあります: [https://api-docs.treasuredata.com/en/overview/ip-addresses-integrations-result-workers/](https://api-docs.treasuredata.com/en/overview/ip-addresses-integrations-result-workers/) ## Amazon Marketing Cloud情報の取得 [https://advertising.amazon.com/marketing-cloud](https://advertising.amazon.com/marketing-cloud)にログインします。 ## Amazon Marketing Cloud Instance IDとAccount IDの取得 Amazon Marketing Cloudインスタンスにログイン後、以下の手順でAmazon Marketing Cloudの**Instance ID**、**Account ID**、**Data upload AWS account ID**情報を取得します。 1. Instance listからAmazon Marketing Cloudの**Instance ID**を取得します。 ![](/assets/amc-instance-id.abc2ce38604fb5981160a05d8e500b97dc615cb846db07a6a80964b8c22c0c9f.56be814e.png) 2. パラメータ**entityId**に割り当てられたAmazon Marketing Cloudの**Account ID**を確認します。 ![](/assets/amc-account-id.4f957be8a7083286d9c2efaaae3f84769bc09229d808004a7d75f691d1040462.56be814e.png) 1. Instance Infoページから**Data upload AWS account ID**を取得できます。 ![](/assets/image2023-5-25_15-59-20.880a33b3c6ecb4eb8922f04975f7514151b85d487df4c53d6feb482cc0a8756a.56be814e.png) ## アップロード対象のDatasetの準備 最初のactivation時に、その場でデータセットを作成できます。その後の実行では、手動介入なしでdatasetが再利用されます。これには、dataset定義が設定されている必要があります。 以下は、dataset定義の例です。ターゲットdatasetが存在する場合は、このセクションをスキップできます。 **ハッシュ化されたPIIカラムを含まないシンプルなDimension datasetの例** このdatasetには、product_asinとproduct_skuの2つのカラムがあります。queryからのスキーマがこれと一致しない場合、アップロードはエラーになります。 ```json { "dataSet": {"columns":[{"name": "product_asin","columnType": "DIMENSION","dataType": "STRING"},{"name": "product_sku","columnType": "METRIC","dataType": "STRING"}],"dataSetId": "mydemosimledimensionds","description": "my demo dimension dataset"}} ``` **ハッシュ化されたPIIとしてのemailとconsent typeとしてのTCFを含むfact datasetの例** この例では、3つのカラムがあります:email(hashedPIIとして)、record_date(isMainEventTime = Trueはこれがfact datasetであることを示します)、tcf_string(consentのtcf文字列)。 ```json {"dataSet": {"dataSetId": "mydemofactdswithidentity","columns": [{"columnType": "DIMENSION","dataType": "STRING","externalUserIdType": {"hashedPii": "EMAIL"},"name": "email"},{"columnType": "DIMENSION","dataType": "DATE","isMainEventTime": true,"name": "record_date"},{"columnType": "DIMENSION","dataType": "STRING","name": "tcf_string","consentType": "TCF"}],"countryCode": "US"}} ``` 詳細なAmazonガイドラインについては、External Referenceセクションを確認してください。サポートが必要な場合は、テクニカルサポートチームにお問い合わせください。 ## Dataset IDとDataset Fields Nameの取得 このintegrationを使用してdatasetを作成する場合、指定されたDataset IDは次回のactivation実行で再利用されます。Amazon Query editorページから取得する必要はありません。 1. Amazon Query editorページから、**Dataset ID**と**Dataset Fields Name**を取得できます。 ![](/assets/image2023-5-13_10-34-51.caee09a878f3fe4aabb0b5fa3ada834586a21ad3f3761f878a928e2b234a716a.56be814e.png) 2. **info**アイコンを選択して、各filenameのデータタイプを取得します。 ![](/assets/image2023-5-13_11-39-11.342805db7ae0f5c91090897bdf58fdf1f4e4d4e481a58442f5677e10f3122189.56be814e.png) ## Data upload AWS account IDからのアクセスを許可するようS3 Bucketを設定 1. S3にログインし、bucket > permissionタブに移動し、**Bucket policy**の下の**Edit**を選択します。 ![](/assets/image2023-5-13_10-36-24.5387d4dea8fa1103eed4589b47476ed14b7dadfb8d6396b60761d08617336dfa.56be814e.png) 2. **Data upload AWS account ID**と**Bucket** **name**を置き換えた後、この設定をコピー&ペーストし、**Save**を選択します。 ```json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{{Data upload AWS account ID}}:root" }, "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:ListBucket", "s3:PutObject", "s3:PutObjectAcl", "s3:GetObjectTagging", "s3:GetBucketTagging" ], "Resource": [ "arn:aws:s3:::{{bucket name}}/*", "arn:aws:s3:::{{bucket name}}" ] } ] } ``` 1. bucketのtagを定義する インスタンスのtagを定義するには、以下の手順を実行します: 1. Amazon S3コンソールに移動し、tagを関連付けるbucket名をクリックします。 2. **Properties**をクリックし、**Tags**セクションまでスクロールします。**Edit**をクリックします。 3. **Add tag**をクリックしてtagのkeyを定義し、keyの値を入力します。この目的では、key" "instance"d"と定義し、データのアップロードに使用するインスタンスの識別子をkeyの値として入力します。 4. **Save**をクリックします。 詳細については、https://advertising.amazon.com/API/docs/en-us/guides/amazon-marketing-cloud/advertiser-data-upload/advertiser-data-s3-bucketを参照してください。 ## TD Consoleを使用してConnectionを作成 queryを実行する前に、Treasure Dataでデータconnectionを作成して設定する必要があります。データconnectionの一部として、integrationにアクセスするためのauthenticationを提供します。 ### 新しいAuthenticationの作成 1. **TD Console**を開きます。 2. **Integrations Hub** > **Catalog**に移動します。 3. Amazon Marketing Cloudを検索し、Amazon Marketing Cloudを選択します。 ![](/assets/image2023-5-13_10-37-51.4ad46ad5c1f770f3fa643704b97b33f5b48c4d3fca39fdbc0340123510f58f4b.56be814e.png) 1. New Authenticationの**Click here**リンクを選択して、新しいAmazon Accountに接続します。 ![](/assets/screen-shot-2023-04-24-at-17.29.15.277937262c2647f54bf8d538db9104329274257337aac7c7a1625c23045d81f8.56be814e.png) 1. Amazon Marketing Cloudインスタンスにリダイレクトされ、OAuthを使用してログインできます。usernameとpasswordを入力します。 ![](/assets/screen-shot-2023-04-24-at-17.33.04.59530de12fc559cc1e7aa5527f50209c153c9d47a35e9cc1a7021ed01b78437e.56be814e.png) 1. **Allow**を選択してconsent screenを承認します。これにより、TD consoleにリダイレクトされます。 ![](/assets/screen-shot-2023-04-24-at-17.35.48.7ff015ad82656050a4ccd0b4269a763308726ae72b89bf22f3d5d90ef19cf431.56be814e.png) 1. 必要なcredentialsフィールドに入力します。 ![](/assets/screenshot-2023-05-25-at-20.17.00.33f32ce1d7ed5fe7440059c27ac544a060c9c00770934f907553fc5a37de1da5.56be814e.png) 1. **Continue**を選択します。 2. authenticationの名前を入力します。 3. **Done**を選択します。 以下の表は、Amazon Marketing Cloud Export Integrationを設定するためのパラメータを説明しています。 | **Parameter** | **Description** | | --- | --- | | **AMC Instance Id** | Amazon Marketing Cloud Instance ID | | **AMC Account Id** | Amazon Marketing Cloud Account ID。空白のままにすると、instance IDの最初のaccountが使用されます。 | | **S3 Endpoint** | S3 service endpointオーバーライド。regionとendpoint情報は、[AWS service endpoints](http://docs.aws.amazon.com/general/latest/gr/rande.md#s3_region)ドキュメントから確認できます(例:[*s3.ap-northeast-1.amazonaws.com*](https://s3.ap-northeast-1.amazonaws.com/))。指定すると、region設定を上書きします。 | | **S3 Region** | AWS Region | | **S3 Authentication Method** | 以下のauthenticationメソッドから選択します:- **basic**: *access_key_id*と*secret_access_key*を使用して認証します。[AWS Programmatic access](https://docs.aws.amazon.com/general/latest/gr/managing-aws-access-keys.md)を参照してください。 - Access Key ID - Secret access key - **session (推奨)**: 一時的に生成された*access_key_id*、*secret_access_key*、*session_token*を使用します。 - Access Key ID - Secret access key - Session token - **assume_role**: roleアクセスを使用します。[AWS AssumeRoleを参照](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.md)。TD's Instance Profile。 - Account ID - Your Role Name - External ID - Duration In Seconds - **anonymous**: サポートされていません | | **Access Key ID** | AWS S3から発行されたAccess Key ID | | **Secret Access Key** | AWS S3から発行されたSecret Access Key | | **S3 Session token** | 一時的なAWS Session Token | | **TD's Instance Profile** | TD Consoleがこの値を提供します。値の数値部分が、IAM roleを作成するために使用するAccount IDを構成します。 | | **Account ID** | AWS Account ID | | **Your Role Name** | AWS Role Name | | **External ID** | Secret External ID | | **Duration In Seconds** | 一時的なCredentialsの期間 | ### Queryの定義 1. **Data Workbench** > **Queries**に移動します。 2. **New Query**を選択します。 3. queryを実行して、結果セットを検証します。 ![](/assets/image2021-9-7_15-1-38.a0ef34a3cfb6035eb6a53a758a755062decbb29fac046d1b24440a76d0662c7a.56be814e.png) ### Result Export Targetの指定 1. **Export Results**を選択します ![](/assets/image2021-9-7_15-10-56.ee7ed43caab64adefafcc22595462fd8068c974c4f47b5959a7babd7d99972b8.56be814e.png) 1. 既存のintegration authenticationを選択します。 ![](/assets/image2020-12-18_13-44-6.09e8af43184e33e337bef7c546600eaaa5be9f010b690af1d591c7c2b4bb2df3.56be814e.png) 2. 追加のExport Resultsの詳細を定義します。export integrationコンテンツで、integrationパラメータを確認します。 ### UploadまたはDelete Operation 1. Dataset Operationに対して**Upload**または**Delete**を選択します。 "Create new dataset if it does not exist"をチェックして、その場で新しいdatasetを作成します。"Prepare Dataset as upload target"セクションで説明されているdataset定義を提供します。 ### Rule-based Audiencesの作成 ![](/assets/image2023-10-2_15-58-16.9c8652d39d72fd74e5c6f373eb7be55c22902e167be9e11ef76cb2889543bc94.56be814e.png) 以下の表は、Amazon Marketing Cloud export integrationの設定パラメータを説明しています。 | Parameter | Required | Description | | --- | --- | --- | | Target | yes | 2つのtarget typeをサポート:- AMC dataset - Rule-based Audiences | | **For "AMC Data" Type** | | | | API version | yes、デフォルトはLatest | AMC version。値にはLatestのみが含まれます | | Dataset Operation | yes、targetがAMC datasetの場合 | Dataset operation: **Upload**: datasetにデータをアップロードする **Delete**: 既存のすべてのデータセットからidentitiesを削除する | | Dataset Identifier | yes、targetがAMC datasetでdataset operationがuploadの場合 | データがアップロードされるdataset ID | | Dataset Definition | "Create dataset if not exist"オプションがtrueの場合に必要 | ターゲットdatasetをJSON形式で定義する | | Update Strategy | yes、API versionがlatestの場合 | 値にはADDITIVE、FULL REPLACE、OVERLAP REPLACE、OVERLAP KEEPが含まれます 詳細については、https://advertising.amazon.com/API/docs/en-us/guides/amazon-marketing-cloud/advertiser-data-upload/advertiser-data-uploadを参照してください。 | | Country Code | | アップロードされたデータのソース国はISO_3166-1_alpha-2形式です。 詳細については、https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elementsを参照してください。 | | S3 Bucket | yes、targetがAMC datasetでdataset operationがuploadの場合 | S3 bucket名 | | S3 Path | yes、targetがAMC datasetでdataset operationがuploadの場合 | データアップロードを保存するS3パス | | File Name Prefix | | ファイルアップロード名のprefix | | Wait Until The Operation Finish? | yes、targetがAMC datasetでdataset operationがuploadの場合 | AMC側でoperationが完了するまで待機する | | Clean Uploaded Files After Done? | | 完了後、S3上のすべてのアップロードされたファイルを削除する | | **For "Rule-based Audiences" Type** | | | | Audience Name | yes、targetがRule-based Audiencesの場合 | | | Audience Description | | | | Advertiser Id | yes、targetがRule-based Audiencesの場合 | Amazon DSP上のAdvertiser ID | | SQL Statement | yes、targetがRule-based Audiencesの場合 | AMCインスタンス上で実行されるquery。 **user_id(大文字小文字を区別)は常にSELECT文の一部である必要があります。オーディエンスはuser_idsから構築されます。** **例: select user_id from tbl;** | | Start Time | yes、targetがRule-based Audiencesの場合 | queryするデータの開始日 | | End Time | yes、targetがRule-based Audiencesの場合 | queryするデータの終了日 | | Refresh Rate Days | | refresh rate daysの値は、SQL queryが再実行される頻度と、既存のAmazon DSPオーディエンスが新しいデータで完全に上書きされる頻度を決定します。0〜21の値のみが有効です。refresh rate daysが0に設定されている場合、オーディエンスは30日後に非アクティブになります。 デフォルト値: 21 | | Time Window Relative | | time window relativeパラメータを使用すると、refresh rate daysの値によってSQL queryの日付範囲をインクリメントできます。 デフォルト値: false | ### Dataset Queryをアップロードするための要件 - datasetにデータをアップロードするには、queryの結果にフィールド名(大文字小文字を区別)と一致するカラム名が必要です。queryカラムとdatasetフィールド間のすべての不一致は無視されます。 - **FACT dataset**にデータをアップロードする場合、メインイベント時刻カラムが必要です。 - datasetのすべての**non-nullableフィールド**がqueryに必要です。 - datasetフィールドがnon-nullableで、このフィールドのresult queriesの行にnull値がある場合、その行はスキップされます。例: - メインイベント時刻フィールドとして*purchase_time*を持つFACT dataset *tutorial_off_amazon_purchases*があります。すべてのフィールドはnon-nullableです。 ![](/assets/image2023-5-13_13-6-44.30fd735def984a2517f97c97ab7ab0c84690721227ad9b22fc8abb1d187da405.56be814e.png) サンプルquery: ```SQL SELECT product_name, product_sku, product_quantity, purchase_time, purchase_value FROM table_name; ``` また、aliasを使用してqueryカラム名をdatasetフィールドと一致させることもできます。サンプルquery: ```sql SELECT column_a AS product_name, column_b AS product_sku, column_c AS product_quantity, column_d AS purchase_time, column_e AS purchase_value FROM table_name ``` queryの結果の各カラムのデータタイプは、datasetフィールドと互換性がある必要があります。 | Column Data Type | Dataset Field Data type | | --- | --- | | STRING | STRING | | DOUBLE | DECIMAL | | LONG | INTEGER | | LONG | LONG | | TIMESTAMP | TIMESTAMP (yyyy-MM-ddThh:mm:ssZ) | | TIMESTAMP | DATE (yyyy-MM-dd) | | LONG (epoch second) | TIMESTAMP (yyyy-MM-ddThh:mm:ssZ) | | LONG (epoch second) | DATE (yyyy-MM-dd) | ### 既存のDataset QueryからIdentitiesを削除するための要件 既存のすべてのデータセットからidentitiesを削除するには、queryの結果に少なくとも1つのidentityカラム名が必要です。identityカラム名には、*first_name、last_name、email、phone、address、city、state、zip*、および*country_code*を含める必要があります。他の名前のカラムは無視されます。サンプルquery: ```SQL SELECT first_name, last_name, email FROM table_name ``` ### Rule-based Audiencesを作成するための要件 Audienceの作成には、TDからのデータは必要ありません。datasetからqueryを実行し、queryの結果に基づいてaudienceを作成します。したがって、TD側からjobをトリガーするために"**Select 1**"のみを使用します。TD側から1行を超える行を返すqueryは許可されません。 ## Audience Studio で Segment をアクティベートする Audience Studio で activation を作成することで、segment データをターゲットプラットフォームに送信することもできます。 1. **Audience Studio** に移動します。 2. parent segment を選択します。 3. ターゲット segment を開き、右クリックして、**Create Activation** を選択します。 4. **Details** パネルで、Activation 名を入力し、前述の Configuration Parameters のセクションに従って activation を設定します。 5. **Output Mapping** パネルで activation 出力をカスタマイズします。 ![](/assets/ouput.b2c7f1d909c4f98ed10f5300df858a4b19f71a3b0834df952f5fb24018a5ea78.8ebdf569.png) - Attribute Columns - **Export All Columns** を選択すると、変更を加えずにすべての列をエクスポートできます。 - **+ Add Columns** を選択して、エクスポート用の特定の列を追加します。Output Column Name には、Source 列名と同じ名前があらかじめ入力されます。Output Column Name を更新できます。**+ Add Columns** を選択し続けて、activation 出力用の新しい列を追加します。 - String Builder - **+ Add string** を選択して、エクスポート用の文字列を作成します。次の値から選択します: - String: 任意の値を選択します。テキストを使用してカスタム値を作成します。 - Timestamp: エクスポートの日時。 - Segment Id: segment ID 番号。 - Segment Name: segment 名。 - Audience Id: parent segment 番号。 1. **Schedule** を設定します。 ![](/assets/snippet-output-connector-on-audience-studio-2024-08-28.a99525173709da1eb537f839019fa7876ffae95045154c8f2941b030022f792c.8ebdf569.png) - スケジュールを定義する値を選択し、オプションでメール通知を含めます。 1. **Create** を選択します。 batch journey の activation を作成する必要がある場合は、[Creating a Batch Journey Activation](/products/customer-data-platform/journey-orchestration/batch/creating-a-batch-journey-activation) を参照してください。 ### (オプション) Query Export ジョブをスケジュールする Scheduled Jobs と Result Export を使用して、指定したターゲット宛先に出力結果を定期的に書き込むことができます。 Treasure Data のスケジューラー機能は、高可用性を実現するために定期的なクエリ実行をサポートしています。 2 つの仕様が競合するスケジュール仕様を提供する場合、より頻繁に実行するよう要求する仕様が優先され、もう一方のスケジュール仕様は無視されます。 例えば、cron スケジュールが `'0 0 1 * 1'` の場合、「月の日」の仕様と「週の曜日」が矛盾します。前者の仕様は毎月 1 日の午前 0 時 (00:00) に実行することを要求し、後者の仕様は毎週月曜日の午前 0 時 (00:00) に実行することを要求するためです。後者の仕様が優先されます。 #### TD Console を使用してジョブをスケジュールする 1. **Data Workbench > Queries** に移動します 2. 新しいクエリを作成するか、既存のクエリを選択します。 3. **Schedule** の横にある None を選択します。 ![](/assets/image2021-1-15_17-28-51.f1b242f6ecc7666a0097fdf37edd1682786ec11ef80eff68c66f091bc405c371.0f87d8d4.png) 4. ドロップダウンで、次のスケジュールオプションのいずれかを選択します: ![](/assets/image2021-1-15_17-29-47.45289a1c99256f125f4d887e501e204ed61f02223fde0927af5f425a89ace0c0.0f87d8d4.png) | ドロップダウン値 | 説明 | | --- | --- | | Custom cron... | [Custom cron... の詳細](#custom-cron-details)を参照してください。 | | @daily (midnight) | 指定されたタイムゾーンで 1 日 1 回午前 0 時 (00:00 am) に実行します。 | | @hourly (:00) | 毎時 00 分に実行します。 | | None | スケジュールなし。 | #### Custom cron... の詳細 ![](/assets/image2021-1-15_17-30-23.0f94a8aa5f75ea03e3fec0c25b0640cd59ee48d1804a83701e5f2372deae466c.0f87d8d4.png) | **Cron 値** | **説明** | | --- | --- | | `0 * * * *` | 1 時間に 1 回実行します。 | | `0 0 * * *` | 1 日 1 回午前 0 時に実行します。 | | `0 0 1 * *` | 毎月 1 日の午前 0 時に 1 回実行します。 | | "" | スケジュールされた実行時刻のないジョブを作成します。 | ``` * * * * * - - - - - | | | | | | | | | +----- day of week (0 - 6) (Sunday=0) | | | +---------- month (1 - 12) | | +--------------- day of month (1 - 31) | +-------------------- hour (0 - 23) +------------------------- min (0 - 59) ``` 次の名前付きエントリを使用できます: - Day of Week: sun, mon, tue, wed, thu, fri, sat. - Month: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec. 各フィールド間には単一のスペースが必要です。各フィールドの値は、次のもので構成できます: | フィールド値 | 例 | 例の説明 | | --- | --- | --- | | 各フィールドに対して上記で表示された制限内の単一の値。 | | | | フィールドに基づく制限がないことを示すワイルドカード `'*'`。 | `'0 0 1 * *'` | 毎月 1 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。 | | 範囲 `'2-5'` フィールドの許可される値の範囲を示します。 | `'0 0 1-10 * *'` | 毎月 1 日から 10 日までの午前 0 時 (00:00) に実行するようにスケジュールを設定します。 | | カンマ区切りの値のリスト `'2,3,4,5'` フィールドの許可される値のリストを示します。 | `0 0 1,11,21 * *'` | 毎月 1 日、11 日、21 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。 | | 周期性インジケータ `'*/5'` フィールドの有効な値の範囲に基づいて、 スケジュールが実行を許可される頻度を表現します。 | `'30 */2 1 * *'` | 毎月 1 日、00:30 から 2 時間ごとに実行するようにスケジュールを設定します。 `'0 0 */5 * *'` は、毎月 5 日から 5 日ごとに午前 0 時 (00:00) に実行するようにスケジュールを設定します。 | | `'*'` ワイルドカードを除く上記の いずれかのカンマ区切りリストもサポートされています `'2,*/5,8-10'` | `'0 0 5,*/10,25 * *'` | 毎月 5 日、10 日、20 日、25 日の午前 0 時 (00:00) に実行するようにスケジュールを設定します。 | 1. (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。 ### クエリを実行する クエリに名前を付けて保存して実行するか、単にクエリを実行します。クエリが正常に完了すると、クエリ結果は指定された宛先に自動的にエクスポートされます。 設定エラーにより継続的に失敗するスケジュールジョブは、複数回通知された後、システム側で無効化される場合があります。 (オプション) Delay execution を有効にすることで、クエリの開始時刻を遅延させることができます。 ## (オプション) WorkflowでExport Resultsを設定 Treasure Workflow内で、このintegrationの使用を指定してデータをエクスポートできます。 [Exporting Data with Parameters](https://docs.treasuredata.com/smart/project-product-documentation/exporting-data-with-parameters)について詳しく学んでください。 ### datasetをアップロードするためのWorkflowの例 ```yaml _export: td: database: amc_db +amc_task: td>: upload.sql database: ${td.database} result_connection: new_amc_auth result_settings: type: amazon_marketing_cloud target: dataset operation: upload dataset_id: dataset_id bucket: bucket_name path_prefix: path_prefix/ file_name_prefix: file_name_prefix wait_until_finish: true clean_upload_file: true ``` ### datasetを作成してアップロードするためのWorkflowの例 ```yaml _export: td: database: amc_db +amc_task: td>: upload.sql database: ${td.database} result_connection: new_amc_auth result_settings: type: amazon_marketing_cloud target: dataset operation: upload dataset_id: dataset_id create_dataset: true dataset_definition: dataset_definition_in_json_string bucket: bucket_name path_prefix: path_prefix file_name_prefix: file_name_prefix wait_until_finish: true clean_upload_file: true ``` ### datasetを削除するためのWorkflowの例 ```yaml _export: td: database: amc_db +amc_task: td>: delete.sql database: ${td.database} result_connection: new_amc_auth result_settings: type: amazon_marketing_cloud target: dataset operation: delete ``` ### rule-based audiencesを作成するためのWorkflowの例 ```yaml _export: td: database: amc_db +amc_task: td>: audience.sql database: ${td.database} result_connection: new_amc_auth result_settings: type: amazon_marketing_cloud target: rule_based_audiences amc_instance_id: amc_instance_id amc_account_id: amc_account_id audience_name: "test_audience" audience_description: "test audience description" advertiser_id: 123 query: "SELECT user_id FROM dsp_impressions" time_window_start: "2023-06-25T00:00:00" time_window_end: "2023-07-25T00:00:00" refresh_rate_days: 1 time_window_relative: false ``` ## External Reference - Fact vs. Dimension datasets: [https://docs.aws.amazon.com/solutions/latest/amazon-marketing-cloud-uploader-from-aws/amc-fact-compared-with-dimension-datasets.html](https://docs.aws.amazon.com/solutions/latest/amazon-marketing-cloud-uploader-from-aws/amc-fact-compared-with-dimension-datasets.html) - Dataset creation guideline: [https://advertising.amazon.com/API/docs/en-us/guides/amazon-marketing-cloud/advertiser-data-upload/advertiser-data-sets](https://advertising.amazon.com/API/docs/en-us/guides/amazon-marketing-cloud/advertiser-data-upload/advertiser-data-sets)