

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connexion à HubSpot
<a name="connecting-to-data-hubspot"></a>

HubSpotLa plateforme CRM dispose de tous les outils et intégrations dont vous avez besoin pour le marketing, les ventes, la gestion de contenu et le service client.
+ Marketing Hub : un logiciel de marketing qui vous aide à augmenter le trafic, à convertir plus de visiteurs et à exécuter des campagnes de marketing entrant complètes à grande échelle.
+ Sales Hub : un logiciel CRM pour les ventes qui vous aide à obtenir des informations détaillées sur les prospects, à automatiser vos tâches et à conclure plus de ventes plus rapidement.
+ Service Hub : un logiciel de service client qui vous aide à entrer en contact avec les clients, à dépasser leurs attentes et à en faire des promoteurs capables de développer votre activité.
+ Operations Hub : un logiciel d’exploitation qui synchronise vos applications, nettoie et crée les données client, et qui automatise les processus, afin que tous vos systèmes et équipes fonctionnent mieux ensemble.

**Topics**
+ [AWS Glue support pour HubSpot](hubspot-support.md)
+ [Politiques contenant les opérations API pour la création et l’utilisation des connexions](hubspot-configuring-iam-permissions.md)
+ [Configuration HubSpot](hubspot-configuring.md)
+ [Configuration des HubSpot connexions](hubspot-configuring-connections.md)
+ [Lecture à partir d' HubSpot entités](hubspot-reading-from-entities.md)
+ [Écrire à des HubSpot entités](hubspot-writing-to-entities.md)
+ [HubSpot options de connexion](hubspot-connection-options.md)
+ [Limitations et remarques relatives au HubSpot connecteur](hubspot-connector-limitations.md)

# AWS Glue support pour HubSpot
<a name="hubspot-support"></a>

AWS Glue prend en charge HubSpot les éléments suivants :

**Prise en charge en tant que source ?**  
Oui : synchrone et asynchrone. Vous pouvez utiliser des tâches AWS Glue ETL pour interroger des données à partir de HubSpot.

**Prise en charge en tant que cible ?**  
Oui. Vous pouvez utiliser des tâches AWS Glue ETL pour y écrire des données HubSpot.

**Versions HubSpot d'API prises en charge**  
Les versions HubSpot d'API suivantes sont prises en charge :
+ v1
+   v2
+ v3
+ v4

Pour la prise en charge des entités par version spécifique, consultez [Entités prises en charge pour la source de synchronisation](hubspot-reading-from-entities.md#sync-table) et [Entités prises en charge pour la source asynchrone](hubspot-reading-from-entities.md#async-table).

# Politiques contenant les opérations API pour la création et l’utilisation des connexions
<a name="hubspot-configuring-iam-permissions"></a>

L'exemple de politique suivant décrit les autorisations AWS IAM requises pour créer et utiliser des connexions. Si vous créez un rôle, créez une politique contenant les éléments suivants :

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

****  

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

------

Si vous ne voulez pas utiliser la méthode ci-dessus, vous pouvez également utiliser les politiques IAM gérées suivantes :
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Accorde l'accès aux ressources dont AWS Glue les différents processus ont besoin pour s'exécuter en votre nom. Ces ressources incluent AWS Glue Amazon S3, IAM, CloudWatch Logs et Amazon EC2. Si vous suivez la convention de dénomination des ressources spécifiée dans cette politique, AWS Glue les processus disposent des autorisations requises. Cette politique est généralement attachée aux rôles spécifiés lorsque vous définissez les crawlers, les tâches et les points de terminaison de développement.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Accorde un accès complet aux AWS Glue ressources lorsqu'une identité à laquelle la politique est attachée utilise la console AWS de gestion. Si vous suivez la convention de dénomination pour les ressources spécifiées dans la politique, les utilisateurs bénéficient des capacités totales de la console. Cette politique s'applique généralement aux utilisateurs de la AWS Glue console.

# Configuration HubSpot
<a name="hubspot-configuring"></a>

Avant de pouvoir AWS Glue transférer des données depuis HubSpot, vous devez satisfaire aux exigences suivantes :

## Configuration requise
<a name="hubspot-configuring-min-requirements"></a>

Les exigences minimales sont les suivantes :
+ Tu as un HubSpot compte. Pour de plus amples informations, veuillez consulter [Création d'un HubSpot compte](#hubspot-configuring-creating-hubspot-account).
+ Votre HubSpot compte est activé pour accéder à l'API.
+ Vous devez disposer d'une application sous votre compte de HubSpot développeur qui fournit les informations d'identification du client qui AWS Glue permettent d'accéder à vos données en toute sécurité lorsqu'il passe des appels authentifiés vers votre compte. Pour de plus amples informations, veuillez consulter [Création d'une application HubSpot pour développeurs](#hubspot-configuring-creating-hubspot-developer-app).

Si vous remplissez ces conditions, vous êtes prêt à vous connecter AWS Glue à votre HubSpot compte. Pour les connexions classiques, vous n'avez rien d'autre à faire HubSpot.

## Création d'un HubSpot compte
<a name="hubspot-configuring-creating-hubspot-account"></a>

Pour créer un HubSpot compte, procédez comme suit :

1. Accédez à l'[ SignUp URL du HubSpot CRM](https://app.hubspot.com/login).

1. Saisissez votre adresse e-mail et choisissez **Vérifier l’adresse e-mail** (vous pouvez également choisir de vous inscrire avec un compte Google, Microsoft ou Apple).

1. Vérifiez dans votre boîte de réception le code de vérification provenant de HubSpot.

1. Saisissez le code de vérification à six chiffres et cliquez sur **Suivant**.

1. Saisissez un mot de passe et cliquez sur **Suivant**.

1. Saisissez votre prénom et votre nom de famille et cliquez sur **Suivant**, ou inscrivez-vous en utilisant le lien **S’inscrire avec Google**.

1. Saisissez votre secteur d’activité et cliquez sur **Suivant**.

1. Saisissez votre fonction et cliquez sur **Suivant**.

1. Saisissez le nom de votre entreprise et cliquez sur **Suivant**.

1. Sélectionnez la taille de votre entreprise (nombre d’employés) et cliquez sur **Suivant**.

1. Saisissez le site Web de votre entreprise et cliquez sur **Suivant**.

1. Sélectionnez l’endroit où vos données doivent être hébergées (États-Unis ou Europe) et cliquez sur **Créer un compte**.

1. Sélectionnez le but de la création de votre compte et cliquez sur **Suivant**.

1. Choisissez **Connect Google Account** ou choisissez d'ajouter vous-même des contacts pour les associer à votre HubSpot compte.

1. Connectez-vous à votre compte Google si vous avez choisi l'option **Connect Google Account** pour associer vos contacts et commencer à utiliser votre HubSpot compte.

## Création d'une application HubSpot pour développeurs
<a name="hubspot-configuring-creating-hubspot-developer-app"></a>

Les comptes de développeur d’applications servent à créer et à gérer des applications, des intégrations et des comptes de test pour développeurs. Vous pouvez également y créer et gérer des listes de la marketplace d’applications. Toutefois, les comptes de développeur d'applications et leurs comptes de test associés ne sont pas connectés à un HubSpot compte standard. Ils ne peuvent pas synchroniser les données ou les actifs depuis ou vers un autre HubSpot compte. Pour obtenir l’ID client et le secret client, vous devez créer un compte de développeur.

1. Accédez à https://developers.hubspot.com/

1. Choisissez **Créer un compte de développeur** et faites défiler l’écran vers le bas.

1. Il vous sera demandé si vous souhaitez créer un compte de développeurs d’applications, un compte d’application privé ou un compte d’environnement de test (sandbox) CMS Developer. Choisissez **Créer un compte de développeurs d’applications**.

1. Puisque vous avez déjà créé un compte auprès de cet utilisateur HubSpot, vous pouvez choisir **Continuer avec cet utilisateur**.

1. Cliquez sur **Démarrer l’inscription**.

1. Saisissez votre fonction et cliquez sur **Suivant**.

1. Donnez un nom à votre compte de développeur et cliquez sur **Suivant**, puis sur **Ignorer**.

1. Sélectionnez **Create App (Créer une application)**.

1. Une fois votre application créée, choisissez **Auth**.

1. Sous Auth, notez l’ID client et le secret client.

1. Ajoutez l'**URL de redirection** spécifique à votre région sous la forme https : *//<aws-region>* .console.aws.amazon. com/gluestudio/oauth. For example, add https://us-east-1.console.aws.amazon.com/gluestudio/oauthpour la région us-east-1.

1. Faites défiler la page vers le bas et trouvez des portées. Il existe deux types de portées que vous devez sélectionner sous les rubriques « CRM » et « Standard ».

1. Ajoutez les portées suivantes :

   ```
   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. Cliquez sur **Enregistrer** et votre compte de développeur est maintenant prêt à être utilisé.

1. Faites défiler la page ci-dessus pour trouver l’**ID client**.

1. Sur la même page, cliquez sur **Afficher** pour obtenir le **secret client**.

## Création d'un compte test pour HubSpot développeurs
<a name="hubspot-configuring-creating-hubspot-developer-test-account"></a>

Dans les comptes de développement d'applications, vous pouvez créer des comptes de test pour développeurs afin de tester des applications et des intégrations sans affecter les HubSpot données réelles. Les comptes de test pour développeurs ne reflètent pas les comptes de production, mais ont plutôt accès à un essai de 90 jours des versions Enterprise de Marketing, Sales, Service, CMS et Operations Hub, ce qui permet de tester la plupart des HubSpot outils et APIs.

1. Cliquez sur **Accueil**.

1. Cliquez sur **Créer un compte de test**.

1. Cliquez sur **Créer un compte de test d’application**.

1. Une nouvelle fenêtre s’affiche. Saisissez le nom du compte de test d’application et cliquez sur **Créer**.

   Votre compte de test d’application est à présent créé.

**Note**  
Le compte de développeur est lié aux activités de développement telles que l’intégration d’API, tandis que le compte de test d’application est utilisé pour voir les données créées ou extraites par le compte de développeur.

# Configuration des HubSpot connexions
<a name="hubspot-configuring-connections"></a>

HubSpot prend en charge le type de subvention AUTHORIZATION\$1CODE pour. OAuth2
+ Ce type de subvention est considéré comme « à trois étapes » OAuth car il repose sur la redirection des utilisateurs vers un serveur d'autorisation tiers pour authentifier l'utilisateur. Il est utilisé lors de la création de connexions via la AWS Glue console. L'utilisateur qui crée une connexion doit fournir les informations OAuth associées telles que l'ID client et le secret client pour son application HubSpot cliente. La AWS Glue console redirigera l'utilisateur vers l' HubSpot endroit où il doit se connecter et autorisera AWS Glue les autorisations demandées pour accéder à son HubSpot instance.
+ Les utilisateurs peuvent toujours choisir de créer leur propre application connectée HubSpot et de fournir leur propre identifiant client et leur propre secret client lors de la création de connexions via la AWS Glue console. Dans ce scénario, ils seront toujours redirigés HubSpot vers pour se connecter et autoriser AWS Glue l'accès à leurs ressources.
+ Ce type d’autorisation donne lieu à un jeton d’actualisation et à un jeton d’accès. Le jeton d’accès est de courte durée et peut être actualisé automatiquement sans interaction de l’utilisateur à l’aide du jeton d’actualisation.
+ Pour consulter HubSpot la documentation publique sur la création d'une application connectée pour le OAuth flux de code d'autorisation, consultez la section [Applications publiques](https://developers.hubspot.com/docs/api/creating-an-app).

Pour configurer une HubSpot connexion, procédez comme suit :

1. Dans AWS Secrets Manager, créez un secret avec les informations suivantes :

   1. Pour l’application connectée gérée par le client, le secret doit contenir le secret du consommateur de l’application connectée avec `USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET` comme clé.

   1. Remarque : Vous devez créer un secret pour la connexion dans AWS Glue.

1. Dans AWS Glue Glue Studio, créez une connexion sous **Data Connections** en suivant les étapes ci-dessous :

   1. Lorsque vous sélectionnez un **type de connexion**, sélectionnez HubSpot.

   1. Fournissez l' HubSpot environnement.

   1. Sélectionnez le rôle AWS IAM qui AWS Glue peut assumer les actions suivantes et qui dispose des autorisations nécessaires pour les actions suivantes :

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

****  

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

------

   1. Sélectionnez celui `secretName` que vous souhaitez utiliser pour cette connexion AWS Glue afin d'y placer les jetons.

   1. Sélectionnez les options réseau si vous souhaitez utiliser votre réseau.

1. Accordez au rôle IAM associé à votre AWS Glue travail l'autorisation de lire`secretName`.

1. Dans la configuration de votre AWS Glue tâche, fournissez `connectionName` une **connexion réseau supplémentaire**.

# Lecture à partir d' HubSpot entités
<a name="hubspot-reading-from-entities"></a>

**Prérequis**

Un HubSpot objet que vous aimeriez lire. Vous aurez besoin du nom de l’objet, comme contact ou task. Le tableau suivant présente les entités prises en charge pour la source de synchronisation.

## Entités prises en charge pour la source de synchronisation
<a name="sync-table"></a>


| Entité | Version de l’API | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge\$1 | Partitionnement pris en charge | 
| --- | --- | --- | --- | --- | --- | --- | 
| Campagnes | v1 | Non | Oui | Non | Oui | Non | 
| Companies | v3 | Oui | Oui | Oui | Oui | Oui | 
| Contacts | v3 | Oui | Oui | Oui | Oui | Oui | 
| Contact Lists | v1 | Non | Oui | Non | Oui | Non | 
| Deals | v3 | Oui | Oui | Oui | Oui | Oui | 
| CRM Pipeline (Deal Pipelines) | v1 | Non | Non | Non | Oui | Non | 
| Événements d'e-mail | v1 | Non | Oui | Non | Oui | Non | 
| Appels | v3 | Oui | Oui | Oui | Oui | Oui | 
| Remarques | v3 | Oui | Oui | Oui | Oui | Oui | 
| Emails | v3 | Oui | Oui | Oui | Oui | Oui | 
| Meetings | v3 | Oui | Oui | Oui | Oui | Oui | 
| Tâches | v3 | Oui | Oui | Oui | Oui | Oui | 
| Postal Mails | v3 | Oui | Oui | Oui | Oui | Oui | 
| Custom Objects | v3 | Oui | Oui | Oui | Oui | Oui | 
| Forms |   v2 | Non | Non | Non | Oui | Non | 
| Owners | v3 | Non | Oui | Non | Oui | Non | 
| Produits | v3 | Oui | Oui | Oui | Oui | Oui | 
| Tickets | v3 | Oui | Oui | Oui | Oui | Oui | 
| Flux de travail | v3 | Non | Non | Non | Oui | Non | 
| Associations | v4 | Oui | Non | Non | Oui | Non | 
| Associations Labels | v4 | Non | Non | Non | Oui | Non | 

**Exemple :**

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

## Entités prises en charge pour la source asynchrone
<a name="async-table"></a>


| Entité | Version de l’API | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge\$1 | Partitionnement pris en charge | 
| --- | --- | --- | --- | --- | --- | --- | 
| Companies | v3 | Oui | Non | Oui | Oui | Non | 
| Contacts | v3 | Oui | Non | Oui | Oui | Non | 
| Deals | v3 | Oui | Non | Oui | Oui | Non | 
| Appels | v3 | Oui | Non | Oui | Oui | Non | 
| Remarques | v3 | Oui | Non | Oui | Oui | Non | 
| Emails | v3 | Oui | Non | Oui | Oui | Non | 
| Meetings | v3 | Oui | Non | Oui | Oui | Non | 
| Tâches | v3 | Oui | Non | Oui | Oui | Non | 
| Postal Mails | v3 | Oui | Non | Oui | Oui | Non | 
| Custom Objects | v3 | Oui | Non | Oui | Oui | Non | 
| Produits | v3 | Oui | Non | Oui | Oui | Non | 
| Tickets | v3 | Oui | Non | Oui | Oui | Non | 

**Exemple :**

```
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 détails de l'entité et du champ** :

**HubSpot API v4** : 

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

**Note**  
Pour l'`Associations`objet, pour récupérer les associations entre deux objets, vous devez fournir le « from Id » (l'ID du premier objet) via un filtre obligatoire lors de la création d'une tâche. AWS Glue Si vous souhaitez récupérer des associations pour plusieurs IDs dans ce cas, vous devez en fournir plusieurs IDs dans la `where` clause. Par exemple : pour récupérer `Associations` les contacts IDs « 1 » et « 151 », vous devez fournir un filtre sous `where id=1 AND id=151` la forme.

**HubSpot API version 3** :

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

Pour les entités suivantes, HubSpot fournit des points de terminaison permettant de récupérer les métadonnées de manière dynamique, afin que le support des opérateurs soit capturé au niveau du type de données pour chaque entité.

**Note**  
`DML_STATUS` est un champ virtuel ajouté à chaque enregistrement lors de l’exécution afin de déterminer son état (CRÉÉ/MIS À JOUR) en mode de synchronisation. L’opérateur `CONTAINS/LIKE` n’est pas pris en charge en mode asynchrone.

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

**HubSpot API v2** :

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

**HubSpot API v1** :

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

## Requêtes de partitionnement
<a name="hubspot-reading-partitioning-queries"></a>

Vous pouvez indiquer les options Spark supplémentaires `PARTITION_FIELD`, `LOWER_BOUND`, `UPPER_BOUND` et `NUM_PARTITIONS` si vous souhaitez utiliser la simultanéité dans Spark. Avec ces paramètres, la requête d’origine serait divisée en `NUM_PARTITIONS` nombres de sous-requêtes pouvant être exécutées simultanément par les tâches Spark.
+ `PARTITION_FIELD` : le nom du champ à utiliser pour partitionner la requête.
+ `LOWER_BOUND` : une valeur limite inférieure **inclusive** du champ de partition choisi.

  Pour le DateTime champ, nous acceptons la valeur au format ISO.

  Exemples de valeurs valides :

  ```
  “2024-01-01T10:00:00.115Z" 
  ```
+ `UPPER_BOUND` : une valeur limite supérieure **exclusive** du champ de partition choisi.
+ `NUM_PARTITIONS` : le nombre de partitions.

Le tableau suivant décrit les détails de prise en charge dans les champs de partitionnement d’entités :

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

Exemple :

```
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"
    }
```

# Écrire à des HubSpot entités
<a name="hubspot-writing-to-entities"></a>

## Conditions préalables
<a name="hubspot-writing-prerequisites"></a>
+ Un HubSpot objet sur lequel vous souhaitez écrire. Vous aurez besoin du nom de l’objet, comme contact ou ticket.
+ Le HubSpot connecteur prend en charge les opérations d'écriture suivantes :
  + INSERT
  + UPDATE
+ Lorsque vous utilisez l’opération d’écriture `UPDATE`, vous devez proposer l’option `ID_FIELD_NAMES` afin de spécifier le champ d’ID pour les enregistrements.

## Entités prises en charge pour la destination de la synchronisation
<a name="hubspot-supported-entities"></a>


| Entité | Version de l'API | Sera pris en charge en tant que connecteur de destination | Peut être inséré | Peut être mis à jour | 
| --- | --- | --- | --- | --- | 
| Companies | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Contacts | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Deals | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Produits | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Appels | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Meetings | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Remarques | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Emails | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Tâches | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Postal Mails | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Custom Objects | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Tickets | v3 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 
| Associations | v4 | Oui | Oui (Unique, en bloc) | Non | 
| Associations Labels | v4 | Oui | Oui (Unique, en bloc) | Oui (Unique, en bloc) | 

**Exemples :**

**Opération 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"
    }
)
```

**Opération 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 options de connexion
<a name="hubspot-connection-options"></a>

Les options de connexion suivantes sont disponibles pour HubSpot :
+ `ENTITY_NAME`(Chaîne) - (Obligatoire) Utilisé pour la lecture. Le nom de votre objet dans HubSpot.
+ `API_VERSION`(Chaîne) - (Obligatoire) Utilisé pour la lecture. HubSpot Version de l'API Rest que vous souhaitez utiliser. Par exemple : v1, v2, v3, v4.
+ `SELECTED_FIELDS`(Liste<Chaîne>) - Par défaut : vide (SELECT \$1). Utilisé pour la lecture. Colonnes que vous souhaitez sélectionner pour l’objet.
+ `FILTER_PREDICATE`(Chaîne) - Par défaut : vide. Utilisé pour la lecture. Doit être au format SQL Spark.
+ `QUERY`(Chaîne) - Par défaut : vide. Utilisé pour la lecture. Requête Spark SQL complète.
+ `PARTITION_FIELD`(Chaîne) - Utilisé pour la lecture. Champ à utiliser pour partitionner la requête.
+ `LOWER_BOUND`(Chaîne) - Utilisé pour la lecture. Une valeur limite inférieure inclusive du champ de partition choisi.
+ `UPPER_BOUND`(Chaîne) - Utilisé pour la lecture. Une valeur limite supérieure exclusive du champ de partition choisi. 
+ `NUM_PARTITIONS`(Entier) - Par défaut : 1. Utilisé pour la lecture. Nombre de partitions pour la lecture.
+ `TRANSFER_MODE`(Chaîne) - Utilisé pour indiquer si la requête doit être exécutée en mode asynchrone.
+ `WRITE_OPERATION`(Chaîne) - Par défaut : INSERT. Utilisé pour l’écriture La valeur doit être INSERT ou UPDATE.
+ `ID_FIELD_NAMES`(Chaîne) - Valeur par défaut : null. Nécessaire pour UPDATE.

# Limitations et remarques relatives au HubSpot connecteur
<a name="hubspot-connector-limitations"></a>

Les limitations ou remarques suivantes concernent le HubSpot connecteur :
+ Les points de terminaison de recherche sont limités à 10 000 résultats au total pour une requête donnée. Toute partition contenant plus de 10 000 enregistrements provoquera une erreur 400.
+ Les autres restrictions importantes du connecteur sont décrites dans [Restrictions](https://developers.hubspot.com/docs/api/crm/search#limitations).
+ Un maximum de trois instructions de filtrage sont acceptées par HubSpot.
+ Actuellement, HubSpot prend en charge les associations entre HubSpot des objets standard (par exemple, contact, entreprise, offre ou ticket) et des objets personnalisés.
  + Pour un compte gratuit : vous ne pouvez créer que 10 types d’associations entre chaque appariement d’objets (par exemple, contacts et companies).
  + Pour un compte de superadministrateur : vous ne pouvez créer que 50 types d’associations au maximum entre chaque appariement d’objets.
  + Pour plus d’informations, consultez [Associations v4](https://developers.hubspot.com/docs/api/crm/) et [Create and use association labels](https://knowledge.hubspot.com/object-settings/create-and-use-association-labels).
+ Les objets « Quote » et « Communications » ne sont pas présents pour Associations, car ils ne sont actuellement pas pris en charge dans le connecteur.
+ Pour le mode asynchrone, SaaS trie les valeurs par ordre croissant uniquement.
+ Pour l’entité `Ticket`, SaaS ne renvoie pas le champ `hs_object_id` en mode asynchrone.