

# HubSpot への接続
<a name="connecting-to-data-hubspot"></a>

HubSpot の CRM プラットフォームには、マーケティング、営業、コンテンツ管理、カスタマーサービスに必要なすべてのツールと統合があります。
+ Marketing Hub – トラフィックを増やし、より多くの訪問者をコンバージョンに導き、完全なインバウンドマーケティングキャンペーンを大規模に実行するのに役立つマーケティングソフトウェア。
+ Sales Hub – 見込み客に関するより深いインサイトの取得、タスクの自動化、より多くの取引の迅速な締結に役立つ営業 CRM ソフトウェア。
+ Service Hub – 顧客とつながり、期待を上回り、顧客をビジネスの成長を促す推進者に変えるのに役立つカスタマーサービスソフトウェア。
+ Operations Hub – アプリを同期し、顧客データをクリーンアップして作成し、プロセスを自動化する、すべてのシステムとチームが連携しやすくなるオペレーションソフトウェア。

**Topics**
+ [HubSpot の AWS Glue サポート](hubspot-support.md)
+ [接続を作成および使用するための API オペレーションを含むポリシー](hubspot-configuring-iam-permissions.md)
+ [HubSpot の設定](hubspot-configuring.md)
+ [HubSpot 接続の設定](hubspot-configuring-connections.md)
+ [HubSpot エンティティからの読み取り](hubspot-reading-from-entities.md)
+ [HubSpot エンティティへの書き込み](hubspot-writing-to-entities.md)
+ [HubSpot 接続オプション](hubspot-connection-options.md)
+ [HubSpot コネクタの制限と注意事項](hubspot-connector-limitations.md)

# HubSpot の AWS Glue サポート
<a name="hubspot-support"></a>

AWS Glue は、次のように HubSpot をサポートします。

**ソースとしてサポートされていますか?**  
はい – Sync と Async。AWS Glue ETL ジョブを使用して、HubSpot からデータをクエリできます。

**ターゲットとしてサポートされているかどうか**  
はい。AWS Glue ETL ジョブを使用して、HubSpot にデータを書き込むことができます。

**サポートされている HubSpot API バージョン**  
次の HubSpot API バージョンがサポートされています。
+ v1
+ v2
+ v3
+ v4

バージョン固有ごとのエンティティサポートについては、「[Sync ソースに対応するエンティティ](hubspot-reading-from-entities.md#sync-table)」および「[Async ソースに対応するエンティティ](hubspot-reading-from-entities.md#async-table)」を参照してください。

# 接続を作成および使用するための API オペレーションを含むポリシー
<a name="hubspot-configuring-iam-permissions"></a>

次のサンプル ポリシーで、接続の作成と使用に必要な AWS IAM 権限について説明します。新しいロールを作成する場合は、以下を含むポリシーを作成します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

上記の方法を使用しない場合は、代わりに次のマネージド IAM ポリシーを使用します:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole) – さまざまな AWS Glue プロセスを実行するために必要なリソースへのアクセス権をユーザーに代わって付与します。これらのリソースには AWS Glue 、Amazon S3、IAM、CloudWatch Logs、および Amazon EC2 が含まれます。このポリシーで指定されたリソースの命名規則に従った場合、AWS Glue プロセスは必要なアクセス権限を使用できます。このポリシーは、通常、クローラ、ジョブ、開発エンドポイントを定義するときに指定されたロールにアタッチされます。
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess) — ポリシーがアタッチされているアイデンティティが AWS マネージメントコンソールを使用するときは、AWS Glue リソースへのフルアクセスを許可します。このポリシーで指定されたリソースの命名規則に従った場合、ユーザーは完全なコンソール機能を使用できます。このポリシーは、通常 AWS Glue コンソールのユーザーにアタッチされています。

# HubSpot の設定
<a name="hubspot-configuring"></a>

AWS Glue を使用して HubSpot からデータを転送できるようにするには、次の要件を満たす必要があります。

## 最小要件
<a name="hubspot-configuring-min-requirements"></a>

以下に、最小要件を示します。
+ HubSpot アカウントを持っている。詳細については、「[HubSpot アカウントの作成](#hubspot-configuring-creating-hubspot-account)」を参照してください。
+ HubSpot アカウントで API アクセスが有効になっている。
+ HubSpot デベロッパーアカウントの下には、AWS Glue がアカウントに対して認可呼び出しを行うときにデータに安全にアクセスするために使用するクライアント認証情報を提供するアプリケーションが必要です。詳細については、「[HubSpot 開発者アプリの作成](#hubspot-configuring-creating-hubspot-developer-app)」を参照してください。

これらの要件を満たすと、HubSpot アカウントに AWS Glue を接続する準備が整います。一般的な接続では、HubSpot で他に何もする必要はありません。

## HubSpot アカウントの作成
<a name="hubspot-configuring-creating-hubspot-account"></a>

HubSpot アカウントを作成するには:

1. [HubSpot CRM SignUp URL](https://app.hubspot.com/login) に移動します。

1. E メールアドレスを入力し、**[E メールを確認]** を選択します (または、Google、Microsoft、または Apple アカウントでサインアップすることもできます)。

1. 受信トレイで HubSpot の検証コードを確認してください。

1. 6 桁の検証コードを入力し、**[次へ]** をクリックします。

1. パスワードを入力し、**[次へ]** をクリックします。

1. 名と姓を入力し、**[次へ]** をクリックするか、**[Google でサインアップ]** リンクを使用してサインアップします。

1. 業界を入力し、**[次へ]** をクリックします。

1. 職務を入力し、**[次へ]** をクリックします。

1. 会社名を入力し、**[次へ]** をクリックします。

1. 会社の規模 (社内の従業員数) を選択し、**[次へ]** をクリックします。

1. 会社のウェブサイトを入力し、**[次へ]** をクリックします。

1. データをホストする場所 (米国または欧州) を選択し、**[アカウントの作成]** をクリックします。

1. アカウント作成の目的を選択し、**[次へ]** をクリックします。

1. **[Google アカウントを接続する]** を選択するか、自分で連絡先を追加して、連絡先を HubSpot アカウントにリンクします。

1. **[Google アカウントを接続する]** オプションを選択した場合は、Google アカウントにログインして連絡先をリンクし、HubSpot アカウントの使用を開始します。

## HubSpot 開発者アプリの作成
<a name="hubspot-configuring-creating-hubspot-developer-app"></a>

アプリ開発者アカウントは、アプリ、統合、開発者テストアカウントの作成と管理を目的としています。また、App Marketplace 出品を作成および管理できる場所でもあります。ただし、アプリ開発者アカウントおよび関連するテストアカウントは、標準の HubSpot アカウントに接続されません。別の HubSpot アカウントとの間でデータまたはアセットを同期することはできません。[クライアント ID] と [クライアントシークレット] を取得するには、デベロッパーアカウントを作成します。

1. https://developers.hubspot.com/ に移動します。

1. **[開発者アカウントの作成]** を選択し、下にスクロールします。

1. アプリ開発者アカウント、プライベートアプリアカウント、または CMS 開発者サンドボックスアカウントを作成するかどうか尋ねられます。**[アプリ開発者アカウントの作成]** を選択します。

1. HubSpot でアカウントを作成済みであるため、**[このユーザーで続行]** を選択できます。

1. **[サインアップを開始]** をクリックします。

1. 職務を入力し、**[次へ]** をクリックします。

1. デベロッパーアカウントに名前を付け、**[次へ]**、**[スキップ]** の順にクリックします。

1. [**Create App (アプリの作成)**] を選択します。

1. アプリを作成したら、**[認証]** を選択します。

1. [認証] の下にある [クライアント ID] と [クライアントシークレット] を書き留めます。

1. リージョン固有の **[リダイレクト URL]** を https:*//<aws-region>*.console.aws.amazon.com/gluestudio/oauth として追加します。例えば、us-east-1 リージョンの場合、https://us-east-1.console.aws.amazon.com/gluestudio/oauth を追加します。

1. 下にスクロールしてスコープを見つけます。「CRM」と「標準」の見出しの下に、選択する必要がある 2 種類のスコープがあります。

1. 以下のスコープを追加します。

   ```
   content
   automation
   oauth
   crm.objects.owners.read
   forms
   tickets
   crm.objects.contacts.write
   e-commerce
   crm.schemas.custom.read
   crm.objects.custom.read
   sales-email-read
   crm.objects.custom.write
   crm.objects.companies.write
   crm.lists.write
   crm.objects.companies.read
   crm.lists.read
   crm.objects.deals.read
   crm.objects.deals.write
   crm.objects.contacts.read
   ```

1. **[保存]** をクリックすると、開発アカウントを使用する準備が整います。

1. 上にスクロールして **[クライアント ID]** を見つけます。

1. 同じページで、**[表示]** をクリックして **[クライアントシークレット]** を取得します。

## HubSpot 開発者テストアカウントの作成
<a name="hubspot-configuring-creating-hubspot-developer-test-account"></a>

アプリ開発者アカウント内で、実際の HubSpot データに影響を与えることなく、アプリと統合をテストする開発者テストアカウントを作成できます。開発者テストアカウントは本番稼働用アカウントをミラーリングするのではなく、Marketing、Sales、Service、CMS、Operations Hub のエンタープライズバージョンの 90 日間トライアルにアクセスでき、ほとんどの HubSpot ツールと API をテストできます。

1. **[ホーム]** をクリックします。

1. **[テストアカウントの作成]** をクリックします。

1. **[アプリテストアカウントの作成]** をクリックします。

1. 新しいウィンドウが表示されます。アプリのテストアカウント名を入力し、**[作成]** をクリックします。

   これで、アプリテストアカウントが作成されました。

**注記**  
デベロッパーアカウントは API 統合などの開発アクティビティに関連しており、アプリテストアカウントはデベロッパーアカウントによって作成またはプルされたデータを表示するために使用されます。

# HubSpot 接続の設定
<a name="hubspot-configuring-connections"></a>

HubSpot は、OAuth2 の AUTHORIZATION\$1CODE のグラントタイプをサポートしています。
+ このグラントタイプは、ユーザーを認証するためにサードパーティーの認証サーバーにユーザーをリダイレクトすることから、「three-legged」の OAuth と見なされます。AWS Glue コンソール経由で接続を作成するときに使用されます。接続を作成するユーザーは、HubSpot クライアントアプリケーションのクライアント ID やクライアントシークレットなどの OAuth 関連情報を指定する必要があります。AWS Glue コンソールでは、ユーザーが HubSpot にリダイレクトされます。ここではユーザーがログインし、HubSpot インスタンスにアクセスするためのリクエストされた権限を AWS Glue に許可する必要があります。
+ ユーザーは、HubSpot で独自の接続アプリを作成し、AWS Glue コンソールを介して接続を作成するときに独自のクライアント ID とクライアントシークレットを指定することを選択できます。このシナリオでは、引き続き HubSpot にリダイレクトされてログインし、リソースへアクセスするために AWS Glue を承認します。
+ このグラントタイプは、更新トークンとアクセストークンになります。アクセストークンの有効期間は短く、更新トークンを使用してユーザーとやり取りすることなく自動的に更新される場合があります。
+ 認可コード OAuth フロー用の接続アプリケーションの作成に関する HubSpot の公開ドキュメントについては、「[パブリックアプリケーション](https://developers.hubspot.com/docs/api/creating-an-app)」を参照してください。

HubSpot 接続を設定するには:

1. AWS Secrets Manager で、次の詳細を含むシークレットを作成します。

   1. カスタマーマネージド接続アプリケーションの場合、シークレットには、`USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` を使用して接続されたアプリケーションのコンシューマーシークレットをキーとして含める必要があります。

   1. 注: AWS Glue で接続ごとにシークレットを作成する必要があります。

1. AWS Glue Glue Studio で、以下の手順に従って **[データ接続]** の下に接続を作成します。

   1. **[接続タイプ]** を選択する際に、[HubSpot] を選択します。

   1. HubSpot 環境を指定します。

   1. 次のアクションを実行でき、AWS Glue がその権限を持つ AWS IAM ロールを選択します。

------
#### [ JSON ]

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1. AWS Glue でこの接続に使用する `secretName` を選択して、トークンを配置します。

   1. ネットワークを使用する場合は、ネットワークオプションを選択します。

1. AWS Glue ジョブに関連付けられている IAM ロールに `secretName` を読み取るアクセス許可を付与します。

1. AWS Glue ジョブ設定で、**[追加のネットワーク接続]** として `connectionName` を指定します。

# HubSpot エンティティからの読み取り
<a name="hubspot-reading-from-entities"></a>

**前提条件**

読み取り元の HubSpot オブジェクト。連絡先またはタスクなどのオブジェクト名が必要です。次の表に、Sync ソースでサポートされているエンティティを示します。

## Sync ソースに対応するエンティティ
<a name="sync-table"></a>


| エンティティ | API バージョン | フィルタリング可能 | 制限をサポートする | Order By をサポートする | Select \$1 をサポートする | パーティショニングをサポートする | 
| --- | --- | --- | --- | --- | --- | --- | 
| キャンペーン | v1 | なし | あり | なし | あり | なし | 
| Companies | v3 | はい | あり | あり | あり | あり | 
| 問い合わせ | v3 | はい | あり | あり | あり | あり | 
| Contact Lists | v1 | なし | あり | なし | あり | なし | 
| Deals | v3 | はい | あり | あり | あり | あり | 
| CRM Pipeline (Deal Pipelines) | v1 | なし | なし | なし | あり | なし | 
| E メールイベント | v1 | なし | あり | なし | あり | なし | 
| 呼び出し | v3 | はい | あり | あり | あり | はい | 
| メモ | v3 | はい | あり | あり | あり | あり | 
| Emails | v3 | はい | あり | あり | あり | あり | 
| 会議 | v3 | はい | あり | あり | あり | あり | 
| タスク | v3 | はい | あり | あり | あり | あり | 
| Postal Mails | v3 | はい | あり | あり | あり | あり | 
| Custom Objects | v3 | はい | あり | あり | あり | あり | 
| Forms | v2 | なし | なし | なし | あり | なし | 
| Owners | v3 | なし | あり | なし | あり | なし | 
| 製品 | v3 | はい | あり | あり | あり | あり | 
| Tickets | v3 | はい | あり | あり | あり | あり | 
| ワークフロー | v3 | なし | なし | なし | あり | なし | 
| 関連付け | v4 | あり | なし | なし | あり | なし | 
| Associations Labels | v4 | なし | なし | なし | あり | なし | 

**例**:

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3"
    }
```

## Async ソースに対応するエンティティ
<a name="async-table"></a>


| エンティティ | API バージョン | フィルタリング可能 | 制限をサポートする | Order By をサポートする | Select \$1 をサポートする | パーティショニングをサポートする | 
| --- | --- | --- | --- | --- | --- | --- | 
| Companies | v3 | あり | なし | あり | あり | なし | 
| 問い合わせ | v3 | あり | なし | あり | あり | なし | 
| Deals | v3 | あり | なし | あり | あり | なし | 
| 呼び出し | v3 | あり | なし | あり | あり | なし | 
| メモ | v3 | あり | なし | あり | あり | なし | 
| Emails | v3 | あり | なし | あり | あり | なし | 
| 会議 | v3 | あり | なし | あり | あり | なし | 
| タスク | v3 | あり | なし | あり | あり | なし | 
| Postal Mails | v3 | あり | なし | あり | あり | なし | 
| Custom Objects | v3 | あり | なし | あり | あり | なし | 
| 製品 | v3 | あり | なし | あり | あり | なし | 
| Tickets | v3 | あり | なし | あり | あり | なし | 

**例**:

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "TRANSFER_MODE": "ASYNC"
    }
```

**HubSpot エンティティとフィールドの詳細**:

**HubSpot API v4**: 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/hubspot-reading-from-entities.html)

**注記**  
`Associations` オブジェクトの場合、2 つのオブジェクト間の関連付けを取得するには、AWS Glue ジョブの作成時に必須フィルターを介して「from Id」 (最初のオブジェクトの ID) を指定する必要があります。この場合、IDs から複数の の関連付けを取得するには、`where` 句に複数の IDsを指定する必要があります。例えば、問い合わせ ID 「1」と「151」の `Associations`を取得するには、フィルターを `where id=1 AND id=151` として指定する必要があります。

**HubSpot API v3**:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/hubspot-reading-from-entities.html)

次のエンティティについて、HubSpot はメタデータを動的に取得するエンドポイントを提供するため、オペレータのサポートは各エンティティのデータ型レベルでキャプチャされます。

**注記**  
`DML_STATUS` は、実行時にすべてのレコードに追加された仮想フィールドで、Sync モードでのそのステータス (CREATED/UPDATED) を決定します。`CONTAINS/LIKE` 演算子は Async モードではサポートされていません。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/hubspot-reading-from-entities.html)

**HubSpot API v2**:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/hubspot-reading-from-entities.html)

**HubSpot API v1**:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/hubspot-reading-from-entities.html)

## パーティショニングクエリ
<a name="hubspot-reading-partitioning-queries"></a>

Spark で同時実行を使用する場合は、追加の Spark オプション `PARTITION_FIELD`、`LOWER_BOUND`、`UPPER_BOUND`、および `NUM_PARTITIONS` を指定できます。これらのパラメータを使用すると、元のクエリは Spark タスクで同時に実行できるサブクエリの `NUM_PARTITIONS` の数に分割されます。
+ `PARTITION_FIELD`: クエリのパーティション化に使用するフィールドの名前。
+ `LOWER_BOUND`: 選択したパーティションフィールドの**包括的な**下限値。

  DateTime フィールドでは、ISO 形式の値を受け入れます。

  有効な値の例は次のとおりです:

  ```
  “2024-01-01T10:00:00.115Z" 
  ```
+ `UPPER_BOUND`: 選択したパーティションフィールドの**排他的**上限値。
+ `NUM_PARTITIONS`: パーティション数。

次の表に、エンティティパーティション分割フィールドのサポートの詳細を示します:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/glue/latest/dg/hubspot-reading-from-entities.html)

例:

```
hubspot_read = glueContext.create_dynamic_frame.from_options(
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "company",
        "API_VERSION": "v3",
        "PARTITION_FIELD": "hs_object_id"
        "LOWER_BOUND": "50"
        "UPPER_BOUND": "16726619290"
        "NUM_PARTITIONS": "10"
    }
```

# HubSpot エンティティへの書き込み
<a name="hubspot-writing-to-entities"></a>

## 前提条件
<a name="hubspot-writing-prerequisites"></a>
+ 書き込み先の HubSpot オブジェクト。連絡先またはチケットなどのオブジェクト名が必要です。
+ HubSpot コネクタは、次の書き込みオペレーションをサポートしています。
  + INSERT
  + UPDATE
+ `UPDATE` 書き込みオペレーションを使用する場合は、`ID_FIELD_NAMES` オプションを指定してレコードの ID フィールドを指定する必要があります。

## Sync Destination でサポートされているエンティティ
<a name="hubspot-supported-entities"></a>


| エンティティ | API バージョン | Destination Connector としてサポートされます | 挿入可能 | 更新可能 | 
| --- | --- | --- | --- | --- | 
| Companies | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| 問い合わせ | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| Deals | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| 製品 | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| 呼び出し | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| 会議 | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| メモ | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| Emails | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| タスク | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| Postal Mails | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| Custom Objects | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| Tickets | v3 | あり | はい (単一、一括) | はい (単一、一括) | 
| 関連付け | v4 | あり | はい (単一、一括) | なし | 
| Associations Labels | v4 | あり | はい (単一、一括) | はい (単一、一括) | 

**例:**

**INSERT オペレーション**

```
hubspot_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "contact",
        "API_VERSION": "v3",
        "WRITE_OPERATION": "INSERT"
    }
)
```

**UPDATE オペレーション**

```
hubspot_write = glueContext.write_dynamic_frame.from_options(
    frame=frameToWrite,
    connection_type="hubspot",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "deal",
        "API_VERSION": "v3",
        "WRITE_OPERATION": "UPDATE",
        "ID_FIELD_NAMES": "hs_object_id"
    }
)
```

# HubSpot 接続オプション
<a name="hubspot-connection-options"></a>

HubSpot の接続オプションは次のとおりです。
+ `ENTITY_NAME`(文字列) – (必須) 読み取りに使用されます。HubSpot のオブジェクトの名前。
+ `API_VERSION`(文字列) – (必須) 読み取りに使用されます。使用する HubSpot Rest API バージョン。例: v1、v2、v3、v4。
+ `SELECTED_FIELDS`(List<String>) – Default: empty(SELECT \$1). 読み込みに使用されます。オブジェクトに選択する列です。
+ `FILTER_PREDICATE`(文字列) – デフォルト: 空 読み込みに使用されます。Spark SQL 形式である必要があります。
+ `QUERY`(文字列) - デフォルト: 空 読み込みに使用されます。完全な Spark SQL クエリです。
+ `PARTITION_FIELD`(文字列) - 読み取りに使用されます。クエリをパーティション化するために使用するフィールドです。
+ `LOWER_BOUND`(文字列) - 読み取りに使用されます。選択したパーティションフィールドの包括的な下限値。
+ `UPPER_BOUND` (文字列) - 読み取りに使用されます。選択したパーティションフィールドの排他的上限値。
+ `NUM_PARTITIONS`(整数) – デフォルト: 1。読み込みに使用されます。読み取り用のパーティションの数です。
+ `TRANSFER_MODE`(文字列) - クエリを Async モードで実行するかどうかを示すために使用されます。
+ `WRITE_OPERATION`(文字列) - デフォルト: INSERT。書き込みに使用されます。値は INSERT または UPDATE である必要があります。
+ `ID_FIELD_NAMES`(文字列) - デフォルト: null。UPDATE は必須です。

# HubSpot コネクタの制限と注意事項
<a name="hubspot-connector-limitations"></a>

HubSpot コネクタの制限事項または注意事項は次のとおりです。
+ 検索エンドポイントは、特定のクエリに対して合計 10,000 件の結果に制限されます。10,000 を超えるレコードを持つパーティションは、400 エラーになります。
+ コネクタに関するその他の重要な制限については、「[制限事項](https://developers.hubspot.com/docs/api/crm/search#limitations)」を参照してください。
+ HubSpot では、最大 3 つのフィルタリングステートメントを使用できます。
+ 現在、HubSpot は標準 HubSpot オブジェクト (連絡先、会社、取引、チケットなど) とカスタムオブジェクト間の関連付けをサポートしています。
  + 無料アカウントの場合: 各オブジェクトペアの間に作成できる関連付けタイプは最大 10 個です (連絡先や会社など)。
  + スーパー管理者アカウントの場合: 各オブジェクトペアの間に作成できる関連付けタイプは最大 50 個です。
  + 詳細については、「[Associations v4](https://developers.hubspot.com/docs/api/crm/)」および「[Create and use association labels](https://knowledge.hubspot.com/object-settings/create-and-use-association-labels)」を参照してください。
+ 「引用」および「通信」オブジェクトは、現在コネクタでサポートされていないため、関連付けには存在しません。
+ Async の場合、SaaS は値を昇順でのみソートします。
+ `Ticket` エンティティの場合、SaaS は Async モードで `hs_object_id` フィールドを返しません。