

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 à Smartsheet
<a name="connecting-to-smartsheet"></a>

Smartsheet est un produit SaaS de gestion du travail et de collaboration. Smartsheet permet essentiellement aux utilisateurs d’utiliser des objets de type feuille de calcul pour créer, stocker et utiliser des données métier.

**Topics**
+ [AWS Glue support pour Smartsheet](smartsheet-support.md)
+ [Politiques contenant les opérations API pour la création et l’utilisation des connexions](smartsheet-configuring-iam-permissions.md)
+ [Configuration de Smartsheet](smartsheet-configuring.md)
+ [Configuration de connexions Smartsheet](smartsheet-configuring-connections.md)
+ [Lecture à partir d’entités Smartsheet](smartsheet-reading-from-entities.md)
+ [Options de connexion Smartsheet](smartsheet-connection-options.md)
+ [Création d’un compte Smartsheet](smartsheet-create-account.md)
+ [Limitations](smartsheet-connector-limitations.md)

# AWS Glue support pour Smartsheet
<a name="smartsheet-support"></a>

AWS Glue prend en charge Smartsheet comme suit :

**Prise en charge en tant que source ?**  
Oui. Vous pouvez utiliser des tâches AWS Glue ETL pour interroger les données de Smartsheet.

**Prise en charge en tant que cible ?**  
Non.

**Versions de l’API Smartsheet prises en charge**  
 v2.0 

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

L'exemple de politique suivant décrit les AWS autorisations 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 de Smartsheet
<a name="smartsheet-configuring"></a>

Avant de pouvoir AWS Glue effectuer un transfert depuis Smartsheet, vous devez satisfaire aux exigences suivantes :

## Configuration requise
<a name="smartsheet-configuring-min-requirements"></a>
+ Vous disposez d’un compte Smartsheet avec adresse e-mail et mot de passe. Pour plus d’informations sur la création d’un compte, consultez [Creating a Smartsheet account](smartsheet-create-account.md). 
+ Votre compte Smartsheet dispose d’un accès à l’API avec une licence valide.
+ Votre compte Smartsheet propose un forfait **Tarif Pro** pour l’entité `Sheets` et un forfait Tarif entreprise avec le module complémentaire Rapports d’événements pour les entités `Events`.

Si vous répondez à ces exigences, vous êtes prêt à vous connecter AWS Glue à votre compte Smartsheet. Pour les connexions classiques, vous n’avez rien d’autre à faire dans Smartsheet.

# Configuration de connexions Smartsheet
<a name="smartsheet-configuring-connections"></a>

 Smartsheet prend en charge le type de `AUTHORIZATION_CODE` subvention pour OAuth2. 

Ce type d’autorisation est considéré comme `OAuth` tridimensionnel, car il repose sur la redirection des utilisateurs vers le serveur d’autorisation tiers pour authentifier l’utilisateur. Les utilisateurs peuvent choisir de créer leur propre application connectée dans Smartsheet 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 vers Smartsheet pour se connecter et autoriser l'accès AWS Glue à 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 la documentation publique de Smartsheet sur la création d'une application connectée pour le flux AUTHORIZATION\$1CODE OAuth , consultez Smartsheet. APIs](https://smartsheet.redoc.ly/#section/OAuth-Walkthrough) 

Pour configurer une connexion Smartsheet :

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

   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é. 
**Note**  
Il est indispensable de créer un secret par connexion dans AWS Glue.

1. Dans le AWS Glue Studio, créez une connexion sous **Connexions de données** en suivant les étapes ci-dessous : 

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

   1. Indiquez l’`instanceUrl` de Smartsheet à laquelle vous souhaitez vous connecter.

   1. Sélectionnez le rôle IAM pour lequel AWS Glue vous pouvez assumer et qui dispose des autorisations nécessaires pour effectuer 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`. 

# Lecture à partir d’entités Smartsheet
<a name="smartsheet-reading-from-entities"></a>

 **Conditions préalables** 

Un objet `Smartsheet` à partir duquel vous souhaitez lire. Reportez-vous au tableau des entités prises en charge ci-dessous pour vérifier les entités disponibles. 

 **Entités prises en charge** 


| Entité | Peut être filtré | Limit prise en charge | Order by prise en charge | Select prise en charge\$1 | Partitionnement pris en charge | 
| --- | --- | --- | --- | --- | --- | 
| List Sheet | Oui | Oui | Non | Oui | Non | 
| Row Metadata | Oui | Oui | Non | Oui | Non | 
| Sheet Metadata | Non | Non | Non | Oui | Non | 
| Sheet Data | Oui | Oui | Oui | Oui | Non | 
| Événement | Oui | Oui | Non | Oui | Non | 

 **Exemple** 

```
Smartsheet_read = glueContext.create_dynamic_frame.from_options(
    connection_type="smartsheet",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "list-sheets",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://api.smartsheet.com"
    })
```

 **Détails des entités et des champs Smartsheet** 

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

**Entités avec métadonnées dynamiques :**

Pour l’entité suivante, Smartsheet fournit un point de terminaison permettant de récupérer les métadonnées de manière dynamique, afin que la prise en charge des opérateurs soit capturée au niveau du type de données.


| Entité |  Type de données  | Opérateurs pris en charge | 
| --- | --- | --- | 
|  Sheet Data  |  String  | NA | 
| Sheet Data |  Long  | "=" | 
| Sheet Data | Entier | NA | 
| Sheet Data | DateTime | > | 

 **Exemple** 

```
Smartsheet_read = glueContext.create_dynamic_frame.from_options(
    connection_type="smartsheet",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "list-sheets",
        "API_VERSION": "2.0",
        "INSTANCE_URL": "https://api.smartsheet.com"
    }
```

# Options de connexion Smartsheet
<a name="smartsheet-connection-options"></a>

Les options de connexion pour Smartsheet sont les suivantes :
+ `ENTITY_NAME`(Chaîne) - (Obligatoire) Utilisé pour la lecture/l’écriture. Le nom de votre objet dans Smartsheet. 
+ `API_VERSION`(Chaîne) - (Obligatoire) Utilisé pour la lecture/l’écriture. Version d’API Rest Smartsheet que vous souhaitez utiliser. Par exemple : v2.0. 
+ `INSTANCE_URL`(Chaîne) – (Obligatoire) Utilisé pour la lecture. URL d’instance Smartsheet.
+ `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. 

# Création d’un compte Smartsheet
<a name="smartsheet-create-account"></a>

1. Ouvrez un compte Smartsheet en accédant à la [page d’inscription à Smartsheet.](https://app.smartsheet.com/home) 

1. Choisissez **Créer un compte** pour créer un compte ou connectez-vous à l’aide de votre compte Google, Microsoft ou Apple enregistré.

1.   Saisissez votre adresse e-mail professionnelle lorsque vous y êtes invité.   

1.   Choisissez **Continuer** et, si nécessaire, vérifiez votre identité.  

1. Ouvrez l’e-mail de confirmation envoyé par Smartsheet et cliquez sur le lien de confirmation pour vérifier votre compte. 

   Vous serez abonné au forfait d’essai par défaut. 

1. Dans le coin inférieur gauche, cliquez sur l’icône du **compte**, puis sur **Ajouter des licences/Mettre à niveau** pour améliorer votre plan tarifaire.
**Note**  
Cette opération est nécessaire pour accéder à **Event Reporting**, qui est un module complémentaire du forfait **Entreprise**.

1. Sous le forfait **Entreprise**, choisissez **Contactez-nous** pour demander une mise à niveau de compte auprès de l’équipe d’assistance.

1. Dans le formulaire de demande d’assistance, fournissez les informations requises et vos exigences pour mettre le forfait à niveau.

   Cette opération permet de finaliser la mise à niveau vers le forfait **Entreprise**.

**Création d’informations d’identification `OAuth2.0`**

1. Après avoir mis à niveau le plan tarifaire de votre compte pour accéder aux **outils pour développeurs**, accédez à [Développeurs Smartsheet](https://developers.smartsheet.com/). 

   Vous recevrez un e-mail d’activation.

1. Ouvrez l’e-mail d’activation envoyé par Smartsheet et cliquez sur le lien d’activation pour activer les outils de développement sur votre compte. 

   L’outil Développeurs vous permet de créer l’application.

1. Ouvrez la page d’accueil de votre compte Smartsheet et sélectionnez **Compte** pour vérifier l’accès.

1. Choisissez **Outils pour développeurs** dans la liste des services, puis saisissez les détails du **profil du développeur**.

1. Choisissez **Créer une nouvelle application**.

1. Saisissez les informations suivantes dans le formulaire d’inscription à l’application :
   + **Nom** : nom de l’application.
   + **Description** : description de l’application.
   + **URL** : URL qui vous permet de lancer votre application ou URL de la page de destination.
   + **Contact/support** : coordonnées de l’équipe d’assistance.
   + **URL de redirection** : URL (également appelée URL de rappel) de votre application qui recevra les informations d'identification [OAuth 2.0](https://.console.aws.amazon.com/appflow/oauth). 

1. Choisissez **Enregistrer**.

   Smartsheet attribue un identifiant client et un secret client à votre application. Enregistrez ces valeurs pour les étapes suivantes. Vous pourrez également les consulter à nouveau ultérieurement dans la section **Outils pour développeurs**.

# Limitations
<a name="smartsheet-connector-limitations"></a>

Smartsheet ne prend pas en charge le partitionnement basé sur les champs ou les enregistrements.