HubSpotとAWS S3の接続(BETA)
更新日時 2024年 9月 25日
以下の 製品でご利用いただけます(別途記載されている場合を除きます)。
Operations Hub Enterprise |
HubSpotとAWS S3を接続して、HubSpotのデータをS3バケットに同期する方法をご紹介します。
HubSpotとAWS S3の接続
HubSpotとAWS S3を接続するには、以下の手順を順番に実行する必要があります:
- AWS S3バケットのアクセス権限を設定する
- IAMポリシーの作成
- AWSでIAM役割を作成する
- HubSpotとAWS S3の接続
- IAMユーザーにS3バケットオブジェクトへのアクセス権限を与える
1. S3バケットのアクセス権限を設定する
HubSpotがフォルダーとサブフォルダー内のファイルにアクセスするには、AWS S3バケットとフォルダーに以下の権限が必要です:
- s3:GetBucketLocation
- s3:GetObject
- s3:GetObjectVersion
- s3:リストバケット
- s3:PutObject
- s3:DeleteObject
2. IAMポリシーの作成
- AWS Management Consoleにログインする。
- ホームダッシュボードで、Services > Security, Identity, & Compliance > IAMをクリックする。
- 左サイドバーで、アカウント設定をクリックします。
- Security Token Service (STS)セクションで、AWS アカウントがあるリージョンに対応する AWS リージョンを探します。クリックしてスイッチを切り替えるで地域をアクティブにする。
- 左側のパネルで、Policiesをクリックします。
- ポリシーの作成をクリックします。
- JSONタブで、 Add new statementをクリックする。
- HubSpotは単一のバケットとフォルダーパスを使用してデータをロードまたはアンロードするために必要な権限を与える以下のポリシードキュメントを追加します。PURGE copyオプションを使用してデータファイルをパージすることもできます。
注:
<bucket>
と<prefix>
を実際のバケツ名とフォルダパスのプレフィックスに置き換えてください。T 政府リージョンのバケットのAmazonリソース名(ARN)は、 arn:aws-us-gov:s3:::プレフィックスを持つ。s3:prefix
の条件を ["*"] または ["] のいずれかに設定する。<path>/*"] は、それぞれ指定したバケツまたはバケツ内のパスにある全ての接頭辞へのアクセスを許可する。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:DeleteObject",
"s3:DeleteObjectVersion"
],
"Resource": "arn:aws:s3:::<bucket>/<prefix>/*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::<bucket>",
"Condition": {
"StringLike": {
"s3:prefix": [
"<prefix>/*"
]
}
}
}
]
}
- [次へ]をクリックします。
- 確認および作成セクションに、ポリシー名と、オプションで説明を追加します。
- ポリシーの作成をクリックします。
3.AWSでIAM役割を作成する
AWS管理コンソールでHubSpotのアクセス権を設定するには:
- AWS Management Consoleにログインする。
- ホームダッシュボードで、Services > Security, Identity, & Compliance > IAMをクリックする。
- 左サイドバーで、Rolesをクリックする。
- 役割の作成をクリックする。
- Trusted entity typeセクションで、AWS アカウントを選択する。
- An AWS acount」セクションで、「Another AWS account」を選択し、自分のAWSアカウントIDを入力します。後で信頼関係を変更してHubSpotへのアクセス権を付与します。
- Require external IDを選択し、0000のようなプレースホルダーIDを入力する。後でIAM役割の信頼関係を変更し、ストレージ連携の外部IDを指定する。外部IDは、HubSpotのようなサードパーティーアプリにAWSリソースへのアクセスを許可するために使用されます。
- [次へ]をクリックします。
- ステップ 1 で作成したポリシーを選択し、次へをクリックします。
- 役割の詳細セクションに、役割名および説明を入力し、役割を識別する。
- 役割の作成をクリックする。
- 役割の要約ページで、ARNの値をコピーする。この値は次のステップで使用する。
4. HubSpotとAWS S3の接続
- HubSpotアカウントがこのベータ版にオプトインされていることを確認してください:AWS S3のHubSpotデータにアクセスする .
- this URLに移動し、HubSpotアカウントを選択します。
- 右上にある[アプリをインストール]をクリックします。
- ステップ3で設定したIAM Role 「名前」と、データをダンプしたいバケットのS3 URL Pathを入力する。
- 「次へ」 をクリックする。
- AWS IAM User および AWS External ID の値は、次のステップで必要になるので確認およびコピーしてください。次に、「接続されたアプリに進む」をクリックします。
5. IAMユーザーにバケツオブジェクトへのアクセス権限を与える。
- AWS Management Consoleにログインする。
- ホームダッシュボードで、Services > Security, Identity, & Compliance > IAMをクリックする。
- 左サイドバーで、Rolesをクリックする。
- ステップ3で作成した役割を選択します。
- Trust relationshipsタブを選択し、「編集」 trust policyをクリックする。
- ステップ 3 で記録した値で契約文書を変更します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "<hubspot_user_arn>"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "<hubspot_external_id>"
}
}
}
]
}
上記のポリシーで、以下の2つのフィールドをステップ4で記録した値に変更します:
- hubspot_user_arnをSTORAGE_AWS_IAM_USER_ARNの値に変更。
- hubspot_external_idをSTORAGE_AWS_EXTERNAL_IDの値に変更。
上記の手順を完了すると、HubSpotはAWS S3にデータを同期できるようになります。
HubSpotとAWS S3によるデータ同期フォーマット
使用可能な同期先データ
以下のデータをHubSpotからAWS S3に同期できます:
- オブジェクト:コンタクト、会社、チケット、製品などの標準およびカスタムオブジェクト。
- レコード:個々のオブジェクトのレコード。
- Associations:全ての関連タイプと関連レコード。
- イベント:標準のHubSpotイベントとカスタム行動イベントの両方のイベントデータ。
- リスト HubSpotのコンタクトおよび会社リスト。
- 所有者:レコード所有者。
- パイプライン:取引とチケットのパイプラインとパイプラインステージ。
- Properties:プロパティー履歴を含む、オブジェクトレコード上のプロパティーとその値。
さまざまな種類のオブジェクトデータは、2つの方法で整理され、利用することができます。
- Individual: e 各オブジェクトタイプは独自のテーブルに格納され、同じオブジェクトタイプのレコードのみを持つ。例えば、
objects_contacts
、コンタクトレコードのみを含む。 - Combined:全てのオブジェクトタイプのレコードが1つのデータベースオブジェクトに統合される。したがって、クエリーを行う際には、"WHERE objectTypeId='0-1'"のようなフィルターを指定する必要がある。
カスタムオブジェクト"には、作成時にIDが割り当てられ、2-unique_IDとして識別される。例えば「2-12345」などです。
objects_xテーブル
カスタムオブジェクトを含め、利用可能なオブジェクトタイプにはそれぞれ固有のテーブルがある。These tables are named following the format OBJECTS_<object type name>
where <object type name>
is the plural form label of the objecttype
.(Note that if the object type has no plural form, then <object type name>
will be the singular form label of the object type name concatenated with “S”).
以下は、使用可能なHubSpotオブジェクトタイプの全リストと、それらが表すデータの簡単な説明、および対応するテーブルです。
HubSpot オブジェクトタイプ |
ObjectTypeId |
説明 |
0-1 |
あなたのビジネスに関わる個人に関する情報 |
|
0-2 |
個々の企業・団体に関する情報 |
|
0-3 |
コンタクトや会社との収益機会に関する詳細。 |
|
0-4 |
メモ、タスク、Eメール、ミーティング、コールなど、CRMのアクションからのデータを保存します。 |
|
0-5 |
お客さまからのヘルプやサポートの依頼を代行する。 |
|
0-14 |
購入希望者と価格情報を共有するために使用します。 |
|
0-15 |
HubSpotのフォームに対する個別投稿の詳細です。 |
|
0-8 |
取引で販売される製品のサブセットを表す。製品は取引に紐付けられると、商品項目になります。 |
|
0-11 |
複数のチャンネルからの受信メッセージの詳細。 |
|
0-25 |
ランディングページの詳細 |
|
0-27 |
ToDoリストに関する情報を格納 |
|
0-28 |
訪問者やコンタクトのリード情報を収集するために使用します。 |
|
0-29 |
Marketing Hub からのメールに関する詳細 |
|
AD_ACCOUNT |
0-30 |
Linkedin、Facebook、Googleの広告アカウントに関する情報を保存します。 |
0-31 |
広告キャンペーンの詳細です。広告キャンペーンには、1つまたは複数の広告を含めることができます。 |
|
AD_GROUP |
0-32 |
広告キャンペーン内の広告の論理的なグループ化 |
AD |
0-33 |
個別広告の詳細 |
0-35 |
関連するマーケティング資産やコンテンツの情報により、集合的なマーケティング活動の効果を容易に測定することができます。 |
|
SITE_PAGE |
0-38 |
ウェブサイト内の個別ページに関するデータ |
0-39 |
ブログ記事に関するデータ |
|
オブジェクトリスト |
0-45 |
プロパティーまたはアクティビティーに基づくオブジェクトレコードのグループ化に関する情報 |
0-48 |
その他のCRMレコード(例えばコンタクト")から発信された通話。 |
|
請求書 |
0-53 |
請求書の管理および外部会計システムとの同期 |
0-57 |
HubSpotにインポートしたメディアアセットに関する情報 |
|
0-58 |
シーケンスとは、コンタクトを長期的に育成するための、ターゲットを絞った一連のメールテンプレートのことです。 |
|
0-72 |
取引分割は、複数のユーザー間で取引クレジットを共有するために使用されます。 |
|
0-83 |
セールスドキュメントは、チーム全体でコンテンツのライブラリーを構築し、コンタクトとドキュメントをアップロードして共有することができます。 |
|
0-19 |
フィードバックアンケートに投稿された情報を保存します。 |
|
0-69 |
定期的な支払いの詳細が含まれています。 |
|
0-101 |
お客さまからお預かりした資金のデータが含まれます |
object_with_object_properties
このテーブルにはHubSpotレコードのデータが含まれています。オブジェクトタイプ内の各レコードに対して1行を取得することができます(例えば、contactsオブジェクトタイプ内のすべてのコンタクトレコード)。
object_properties_history
この表は過去のプロパティー値を含む。コンタクトの場合、最新の45個の値が含まれています。その他のすべてのオブジェクトでは、最新の20個の値が含まれています。この表には、過去のプロパティー値ごとに行がある。プロパティーの現在値は、プロパティーの履歴の中で最も新しいUPDATEDATタイムスタンプによって決定される。
関連付けクエリ
オブジェクトデータと同様に、関連付けデータも2つの方法で整理される。
- Individual:各関連付けタイプはそれ自身のテーブルに保存され、そのタイプのレコードのみを含む。例えば、
associations_contacts_to_deals
、コンタクトオブジェクトと取引オブジェクトへの関連付けレコードのみが含まれている。T - Combined:全ての関連タイプの全てのレコードが1つのテーブルにまとめられる。
x_to_y
各関連付けタイプは、associations_<association type name>
、例えばassociations_contacts_to_deals
。
association_definitions
このテーブルには、HubSpotオブジェクトへの関連付けの種類に関する情報が1種類につき1行ずつ含まれています。
property_definitions
この表にはオブジェクトプロパティーとHubSpotアカウントのイベントプロパティーに関する情報が含まれています。イベントプロパティーには、Eメールの開封数やクリック数などの標準イベントと、カスタム行動イベントプロパティーがあります。この情報は、object_properties、eventsデータに見られる値を定義するのに役立つ。
イベント
イベントには、HubSpotの標準イベントとカスタム行動イベントがあります。各イベントにはそれぞれテーブルがあり、events_eventname
。
object_and_event_type_definitions
このテーブルには、HubSpotアカウントで使用できるすべてのオブジェクトとイベントの定義が含まれています。
同期頻度とデータ構成
データの同期HubSpotとAWS S3間で毎日。データが同期される日ごとにフォルダーが作成されます。以下の各テーブルは、gzip圧縮されたCSVファイルを含むフォルダーとして提供される:
ASSOCIATIONS
ASSOCIATION_DEFINITIONS
EVENTS_[Event name]
LISTS
LIST_MEMBERSHIPS
OBJECTS
OBJECT_AND_EVENT_TYPE_DEFINITIONS
OBJECT_PROPERTIES
OBJECT_PROPERTIES_HISTORY
OBJECT_WITH_OBJECT_PROPERTIES
OWNERS
OWNER_TEAM
PIPELINES
PIPELINE_STAGES
PROPERTY_DEFINITIONS
TEAMS
各テーブルにはいくつかのサブフォルダーがある。表のサイズが15MBを超える場合、各表フォルダーの下に複数のgzip圧縮されたCSVファイルが存在することになります。