# データウェアハウスへのデータのエクスポート Stripe から Snowflake、Redshift、または Databricks へのデータのエクスポートを自動化します。 Data Pipeline は現在、[Snowflake](https://docs.snowflake.com/en/user-guide/intro-regions.html) (AWS、Azure、Google Cloud に導入)、[Amazon Redshift](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/select-region.html)、[Databricks](https://docs.databricks.com/aws/en/resources/supported-regions) のデータリージョンに対応しています。 | AWS リージョン | Snowflake | Amazon Redshift RA3 (暗号化付き) | Databricks | | ----------------------- | --------- | --------------------------- | ---------- | | us-west-2 (オレゴン州) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | us-east-2 (オハイオ州) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | us-east-1 (バージニア州北部) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | us-west-1 (カリフォルニア州北部) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | ca-central-1 (カナダ中部) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | sa-east-1 (サンパウロ) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | eu-central-1 (フランクフルト) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | eu-central-2 (チューリッヒ) | ✓ サポート対象 | ❌ サポート対象外 | ✓ サポート対象 | | eu-west-1 (アイルランド) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | eu-west-2 (ロンドン) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | eu-west-3 (パリ) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | eu-north-1 (ストックホルム) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | me-south-1 (バーレーン) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | ap-southeast-1 (シンガポール) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | ap-southeast-2 (シドニー) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | ap-southeast-3 (ジャカルタ) | ✓ サポート対象 | ❌ サポート対象外 | ✓ サポート対象 | | ap-northeast-1 (東京) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | ap-northeast-2 (ソウル) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | | ap- northeast-3 (大阪) | ✓ サポート対象 | ❌ サポート対象外 | ✓ サポート対象 | | ap-east-1 (香港) | ✓ サポート対象 | ✓ サポート対象 | ✓ サポート対象 | ## 始める ダッシュボードで Reporting > [Data management](https://dashboard.stripe.com/data-management) に移動し、[アカウント登録手順](https://docs.stripe.com/stripe-data/access-data-in-warehouse/data-warehouses.md#sdp-onboarding-video)を進めます。データ共有に同意してオンボーディングを完了すると、12 時間以内に Snowflake、Amazon Redshift、または Databricks で Stripe のコアデータにアクセスできます。初回の読み込み後、Stripe のデータは[定期的に更新](https://docs.stripe.com/stripe-data/data-pipeline/data-freshness.md)されます。 > Stripe アカウントに連結できるウェアハウスアカウントは 1 件のみです。 ### アカウントの登録方法 #### Snowflake [Watch on YouTube](https://www.youtube.com/watch?v=Ric7L5BCSQM) ### Snowflake アカウントをリンク まず、すべての最新 Stripe データとレポートをダッシュボード経由で送信します。 1. ダッシュボードの [Data Pipeline 設定](https://dashboard.stripe.com/settings/stripe-data-pipeline) ページで、**登録** をクリックします。 1. ドロワーから **Snowflake** を選択し、次に **続行** をクリックします。 1. Snowflake [アカウント識別子](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html) を入力し、次に Snowflake アカウントが導入されているクラウドプロバイダー (AWS、Azure、GCP) を選択します。 1. 地域を選択して、**次へ** をクリックします。 1. コードブロックから SQL をコピーして Snowflake ウェアハウスの SQL ワークシートに挿入し、クエリを実行して一意の値を取得します。テキストボックスに値を入力して、**登録** をクリックします。 ### Snowflake でデータ共有にアクセスする Stripe のコアデータが利用可能になった後 (通常は 12 時間以内)、Snowflake アカウントからデータにアクセスします。 1. Snowflake アカウントに移動して、Stripe とのデータ共有を承諾します。 1. Snowflake クラウドプロバイダーが、以下の 7 つの地域のいずれかで AWS にデプロイされている場合。 - `us-east-1`: アカウント `GSWUDFY_STRIPE_AWS_US_EAST_1` からシェアを受け付ける - `us-west-2`: アカウント `JZA07263` から共有を受け入れる - `us-east-2`: アカウント `VM70738` から共有を受け入れる - `ca-central-1`: アカウント `TD26747` から共有を受け入れる - `eu-central-1`: アカウント `GSWUDFY-STRIPE_AWS_EU_CENTRAL_1` からシェアを受け付ける - `eu-west-1`: アカウント `GSWUDFY-STRIPE_AWS_EU_WEST_1` からシェアを受け付ける - `ap-southeast-2`: アカウント `KB26084` から共有を受け入れる Snowflakeで、`ACCOUNTADMIN` アクセス権を持つユーザーに **データ** > **共有データ** に移動します。**準備完了** で、対応するStripe アカウントから `SHARE_[ACCOUNT_IDENTIFIER]` という共有に移動します。次に、**共有データを取得** をクリックして共有を受け入れます。 1. Snowflake クラウドプロバイダーが AWS でない場合、または AWS リージョンが上記の 7 つのリージョンのいずれにも該当しない場合: 1. シェアはプライベートリストとして `JZA07263` アカウントから取得されました。 1. Snowflake では、`ACCOUNTADMIN` 権限を持つユーザーは、 **データ共有** > **外部共有** にアクセスする必要があります。 1. `JZA07263` から共有を見つけ、Snowflake の指示に従ってください。 1. 表示されるモーダルで、データベースに名前 (「Stripe」など) を付け、アクセス権限を付与するロール (`SYSADMIN` など) を選択して、次に **データを取得** をクリックします。 1. **直接共有からのデータ** と **データベース** にお客様の Stripe データが表示されることを確認します。これで、Snowflake で直接お客様の Stripe データをクエリできるようになります。 #### Amazon Redshift RA3 [Watch on YouTube](https://www.youtube.com/watch?v=cp8684Lyi0M) 開始する前に、クラスタが Data Pipeline と互換性があることを確認してください。このデータ共有方法と互換性があるのは、[クラスタ暗号化](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) が有効になっている RA3 ノードタイプのみです。 ### Redshift アカウントをリンク まず、すべての最新 Stripe データとレポートをダッシュボード経由で送信します。 1. ダッシュボードの [Data Pipeline 設定](https://dashboard.stripe.com/settings/stripe-data-pipeline) ページで、**登録** をクリックします。 1. モーダルから **Redshift** を選択し、次に **続行** をクリックします。 1. Amazon [アカウントID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) と AWS リージョンを入力し、**続行** をクリックします。 1. 情報を確認して **登録** をクリックし、データ共有の作成を開始します。データは、12 時間以内に Redshift で利用できるようになります。12 時間経過しても受信データ共有が表示されない場合は、[AWS コンソールで](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-db-encryption-console.html) クラスターの暗号化が有効になっていることを確認してください。Amazon Redshift には、互換性のあるクラスターの共有情報のみが表示されます。 ### Redshift でデータ共有にアクセスする 次に、12 時間後に Amazon Redshift アカウントからデータ共有にアクセスします。 1. Amazon Redshift アカウントに移動し、Stripe とのデータ共有を承認します。Amazon Redshift で、管理者にコンソールの左側のナビゲーションにあるアカウントレベルの **データ共有** タブに移動してもらいます。 1. **他のアカウントから** セクションで、`share_[ACCOUNT_ID]` という名前の共有に移動します。データ共有の横にあるボックスをチェックし、次に **関連付ける** をクリックします。 1. 開いたモーダルで、このデータにアクセスできるネームスペースを選択します。もしこのリージョン内のすべての Amazon Redshift クラスターにデータへのアクセスを許可したい場合は、**AWS アカウント全体を関連付ける** を選択してください。 1. 承認された共有を選択して共有の詳細ページを開き、**データベースに接続** をクリックします。次に、Redshift クエリコンソールの場合と同様に、既存のデータベースの 1 つに接続し、**データ共有からデータベースを作成** をクリックします。 1. 次のモーダルで、データベースに名前 (「Stripe」など) を指定します。これで、Amazon Redshift で直接 Stripe をクエリできるようになります。 > Amazon Redshift UI では、受信するデータ共有がアカウントレベルのビューとクラスターレベルのビューの 2 つのビューに表示されます。Stripe からのデータ共有を承認する際、個々のクラスターで共有を表示しないでください。Amazon Redshift コンソールの左側のナビゲーションを使用して、アカウントのすべての共有を表示してください。 #### Databricks ### Databricks アカウントをリンク まず、すべての最新 Stripe データとレポートをダッシュボード経由で送信します。 1. ダッシュボードの [Data Pipeline 設定](https://dashboard.stripe.com/settings/stripe-data-pipeline) ページで、**登録** をクリックします。 1. ドロワーから **Databricks** を選択し、次に **続行** をクリックします。 1. [Databricks コンソール](https://accounts.cloud.databricks.com)で、**新規 > クエリ** をクリックします。 1. 次のクエリをコピーして実行します。 ```sql select current_metastore(); ``` 1. 結果をコピーします。形式は `cloud:region:uuid` です (例: `aws:us-east-2:a1b2c3d4-e5f6-7890-abcd-ef1234567890`)。 1. テキストフィールドに共有 ID を貼り付け、**続行** をクリックします。 ### Databricks でデータ共有にアクセスする Stripe が Databricks アカウントにデータ共有を送信したら、Databricks コンソールからデータ共有にアクセスします。 1. Databricks コンソールで **新規 > クエリ** をクリックし、次のコマンドを実行して、プロバイダーアクセスを自身に付与します。 ```sql GRANT USE PROVIDER ON METASTORE TO `your_email`; ``` `your_email` を Databricks アカウントのメールアドレスに置き換えます。 1. **Catalog > Delta Sharing > 自分と共有** に移動します。 1. **Stripe** 共有をクリックします。 1. **カタログにマウント** をクリックします。 1. **新しいカタログを作成** を選択し、一意のカタログ名を入力します。 1. **作成** をクリックします。 1. 新しいカタログで Stripe データにアクセスできることを確認します。 ### アカウントを確認する カタログをマウントしたら、ダッシュボードの確認ステップを完了します。 1. Databricks コンソールで、**新規 > クエリ** をクリックします。 1. ダッシュボードに表示される確認クエリをコピーして実行します。クエリは、新しくマウントされたカタログからテスト値を取得します。 1. クエリ結果をコピーして、ダッシュボードの確認フィールドに貼り付けます。 1. **Activate Databricks (Databricks を有効にする)** をクリックして、設定を完了します。 ### ウェアハウスアカウントを変更する Stripe アカウントが連結されているウェアハウスアカウントを変更するには、以下の手順を実行します。 1. ダッシュボードの[設定ページ](https://dashboard.stripe.com/settings/stripe-data-pipeline) でData Pipeline をオフにします。 1. 上記で説明されている手順に倣い、連結する新しいウェアハウスアカウントの Data Pipeline に再登録します。 ウェアハウスアカウントに別の Stripe アカウントを追加するには以下の手順を実行します。 1. 新しい Stripe アカウントで上記の [登録](https://docs.stripe.com/stripe-data/access-data-in-warehouse/data-warehouses.md#get-started) ステップに従います。 1. それぞれのウェアハウスに上記と同じアカウント ID を使用します。アカウント ID を確認するには、ダッシュボードの [設定ページ](https://dashboard.stripe.com/settings/stripe-data-pipeline) に移動して、**接続されたデータウェアハウス** セクションで **ID** を探します。 ## データウェアハウスで Stripe のデータをクエリする Snowflake、Amazon Redshift、Databricks では、データを安全なビューとして利用できます。データをクエリするには、以下のステップに従います。 #### Snowflake 作成したデータベースで **ビュー** に移動し、使用できる Stripe データを表示します。テーブルをクリックして **列** に移動すると、各テーブルの利用可能な列も確認できます。 #### Amazon Redshift RA3 利用可能なすべてのデータを確認するには、作成したデータベースで **テーブルとビュー** に移動します。 #### Databricks Databricks で **カタログ** に移動して、利用可能な Stripe データを表示します。アカウント登録時に作成したカタログを選択し、利用可能なスキーマとビューを参照します。 ## Data Pipeline の財務レポート 決算処理を円滑に進めるため、データウェアハウスでは Stripe の [レポート](https://docs.stripe.com/stripe-reports.md) に直接アクセスできます。 > 現時点では、財務レポートは Amazon Redshift または Databricks で使用できません。 財務レポートテンプレートには `FINANCIAL_REPORT` というプレフィックスが付いています。このテンプレートはデータウェアハウスでビューとして使用できます。 ![](https://b.stripecdn.com/docs-statics-srv/assets/finrep.eb725f745cb57d3e03e813f96b3e8071.png) ### Snowflake で財務レポートを生成する 日付の形式は、さまざまな精度のレベルで設定できます。 START_DATE = ‘2021-09-01’; START_DATE = ‘2021-09-01 00:00:00’; START_DATE = ‘2021-09-01 00:00:00.000’; Data Pipeline から財務レポートを生成するには、カスタム変数をいくつか設定する必要があります。これらは、ダッシュボードまたは API を通じてレポートを生成するときに設定する変数と同じです。 - `START_DATE`: レポートの開始日 (この日付も範囲に含む)。 - `END_DATE` (varchar): レポートの終了日 (この日付は範囲に含まない)。 - `TIMEZONE` (varchar): UTC 以外のデータ時間列のタイムゾーン。 これらの変数を設定してレポートクエリを実行するには、次の手順を実行します。 1. 新しいワークシートを作成します。 1. データベーススキーマと必須の変数を任意の値に設定します。 ```sql -- set schema based on the name you gave your Stripe database use schema db_name.stripe; -- set financial report template variables set (TIMEZONE, START_DATE, END_DATE) = ('UTC', '2021-09-01', '2021-10-01'); ``` > これらのコード行を別に実行してから、これらを必要とするテーブルをクエリしてください。手順に従わなかった場合、セッション変数が存在しないエラーが発生します。 > > [Snowflake Connector for Python](https://docs.snowflake.com/en/user-guide/python-connector.html) を使用している場合は、`ALTER SESSION SET TIMEZONE = 'UTC'` コマンドでセッションパラメータ `TIMEZONE` を設定します。 1. 必要な変数を設定するコードを実行したら、生成するレポートのビューをクエリします。以下は実行例です。 ```sql select * from FINANCIAL_REPORT_BALANCE_CHANGE_FROM_ACTIVITY_ITEMIZED; ``` 次のようにダッシュボードまたは API で表示される、アクティビティによる項目別残高変更レポートと同じ結果が返されます。 ![](https://b.stripecdn.com/docs-statics-srv/assets/report.601f8e6f124d2dbf1adc74388fa58025.png) > #### 異なるファイル形式のサポートが必要な場合 > > 異なる構造またはカスタム形式のファイルをアップロードする場合は、[Stripe サポート](https://support.stripe.com/contact/email?topic=third_party_integrations&subject=Stripe%20Data%20Pipeline%20(SDP) にお問い合わせください。