Développement d'applications avec Amazon QuickSight API - Amazon QuickSight

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.

Développement d'applications avec Amazon QuickSight API

Vous pouvez gérer la plupart des aspects de votre déploiement en utilisant le AWS SDKs pour accéder à un API outil adapté au langage de programmation ou à la plate-forme que vous utilisez. Pour plus d'informations, consultez AWS SDKs.

Pour plus d'informations sur les API opérations, consultez Amazon QuickSight API Reference.

Avant de pouvoir appeler les QuickSight API opérations d'Amazon, vous devez quicksight:operation-name obtenir l'autorisation figurant dans une politique attachée à votre IAM identité. Par exemple, pour appeler list-users, vous avez besoin de l'autorisation quicksight:ListUsers. Le même modèle s'applique à toutes les opérations.

Si vous ne connaissez pas avec certitude l'autorisation nécessaire, vous pouvez essayer d'effectuer un appel. Le client vous précisera l'autorisation manquante. Vous pouvez utiliser un astérisque (*) dans le champ Ressource de votre politique d'autorisation à la place des ressources explicites. Toutefois, nous vous conseillons fortement de restreindre chaque autorisation autant que possible. Nous recommandons toutefois de restreindre chaque autorisation autant que possible. Vous pouvez restreindre l'accès des utilisateurs en spécifiant ou en excluant des ressources dans la politique, à l'aide de leur identifiant QuickSight Amazon Resource Name (ARN).

Pour plus d’informations, consultez les ressources suivantes :

Pour récupérer le ARN nom d'un utilisateur ou d'un groupe, utilisez l'Describeopération sur la ressource correspondante. Vous pouvez également ajouter des conditions IAM pour restreindre davantage l'accès à un API dans certains scénarios. Par exemple, lorsque vous ajoutez User1 àGroup1, la ressource principale est Group1 que vous pouvez autoriser ou refuser l'accès à certains groupes, mais vous pouvez également ajouter une condition en utilisant la QuickSight clé IAM Amazon quicksight:UserName pour autoriser ou empêcher l'ajout de certains utilisateurs à ce groupe.

Voici un exemple de stratégie. Cela signifie que le mandataire auquel cette stratégie est attachée est en mesure d'invoquer l'opération CreateGroupMembership sur n'importe quel groupe, à condition que le nom d'utilisateur qu'il ajoute au groupe ne soit pas user1.

{ "Effect": "Allow", "Action": "quicksight:CreateGroupMembership", "Resource": "arn:aws:quicksight:us-east-1:aws-account-id:group/default/*", "Condition": { "StringNotEquals": { "quicksight:UserName": "user1" } } }
AWS CLI

La procédure suivante explique comment interagir avec les QuickSight API opérations Amazon via le AWS CLI. Les instructions suivantes ont été testées dans Bash, mais doivent être identiques ou similaires dans d'autres environnements de ligne de commande.

  1. Installez-le AWS SDK dans votre environnement. Les instructions pour ce faire se trouvent ici : Interface de ligne de AWS commande.

  2. Configurez votre AWS CLI identité et votre région à l'aide des instructions de commande et de suivi suivantes. Utilisez les informations d'identification d'une IAM identité ou d'un rôle disposant des autorisations appropriées.

    aws configure
  3. Consultez l' QuickSight SDKaide d'Amazon en exécutant la commande suivante :

    aws quicksight help
  4. Pour obtenir des instructions détaillées sur l'utilisation d'unAPI, entrez son nom suivi de l'aide, comme suit :

    aws quicksight list-users help
  5. Vous pouvez désormais appeler une QuickSight API opération Amazon. Cet exemple renvoie une liste des QuickSight utilisateurs Amazon de votre compte.

    aws quicksight list-users --aws-account-id aws-account-id --namespace default --region us-east-1
Java SDK

Suivez la procédure ci-dessous pour configurer une application Java qui interagit avec Amazon QuickSight.

  1. Pour commencer, créez un projet Java dans votreIDE.

  2. Importez l'Amazon QuickSight SDK dans votre nouveau projet, par exemple : AWSQuickSightJavaClient-1.11.x.jar

  3. Une fois que vous IDE aurez indexé l'Amazon QuickSight SDK, vous devriez pouvoir ajouter une ligne d'importation comme suit :

    import com.amazonaws.services.quicksight.AmazonQuickSight;

    Si vous IDE ne le reconnaissez pas comme valide, vérifiez que vous avez importé leSDK.

  4. Comme d'autres AWS SDKs, Amazon a QuickSight SDK besoin de dépendances externes pour exécuter bon nombre de ses fonctions. Vous devez télécharger et importer celles-ci dans le même projet. Les dépendances suivantes sont obligatoires :

  5. Vous êtes maintenant prêt à créer un QuickSight client Amazon. Vous pouvez utiliser un point de terminaison public par défaut avec lequel le client peut communiquer. Vous pouvez également référencer le point de terminaison de façon explicite. Il existe plusieurs manières de fournir vos AWS informations d'identification. Dans l'exemple suivant, nous fournissons une approche simple et directe. La méthode client suivante est utilisée pour effectuer tous les API appels suivants :

    private static AmazonQuickSight getClient() { final AWSCredentialsProvider credsProvider = new AWSCredentialsProvider() { @Override public AWSCredentials getCredentials() { // provide actual IAM access key and secret key here return new BasicAWSCredentials("access-key", "secret-key"); } @Override public void refresh() {} }; return AmazonQuickSightClientBuilder .standard() .withRegion(Regions.US_EAST_1.getName()) .withCredentials(credsProvider) .build(); }
  6. Maintenant, nous pouvons utiliser le client ci-dessus pour répertorier tous les utilisateurs de notre QuickSight compte Amazon.

    Note

    Vous devez fournir l'identifiant de AWS compte que vous avez utilisé pour vous abonner à Amazon QuickSight. Il doit correspondre à l'identifiant de AWS compte correspondant à l'identité de l'appelant. Les appels entre comptes ne sont pas pris en charge à l'heure actuelle. En outre, le paramètre requis namespace doit toujours être réglé sur default.

    getClient().listUsers(new ListUsersRequest() .withAwsAccountId("relevant_AWS_account_ID") .withNamespace("default")) .getUserList().forEach(user -> { System.out.println(user.getArn()); });
  7. Pour voir une liste de toutes les API opérations possibles et des objets de requête qu'elles utilisent, vous pouvez CTRLcliquer sur l'objet client IDE dans votre boîte afin d'afficher l' QuickSight interface Amazon. Vous pouvez également le trouver dans le com.amazonaws.services.quicksight package dans le QuickSight JavaClient JAR fichier Amazon.

JavaScript (Node.js) SDK

Suivez la procédure ci-dessous pour interagir avec Amazon à QuickSight l'aide de Node.js.

  1. Configurez votre environnement Node à l'aide des commandes suivantes :

    • npm install aws-sdk

    • npm install aws4

    • npm install request

    • npm install url

  2. Pour plus d'informations sur la configuration du fichier Node.js avec AWS SDK et la définition de vos informations d'identification, reportez-vous au guide du AWS SDK for JavaScript développeur pour SDK la version 2.

  3. Utilisez l'exemple de code suivant pour tester votre configuration. HTTPSest obligatoire. L'exemple affiche une liste complète des QuickSight opérations Amazon ainsi que leurs paramètres de URL demande, suivie de la liste des QuickSight utilisateurs Amazon de votre compte.

    const AWS = require('aws-sdk'); const https = require('https'); var quicksight = new AWS.Service({ apiConfig: require('./quicksight-2018-04-01.min.json'), region: 'us-east-1', }); console.log(quicksight.config.apiConfig.operations); quicksight.listUsers({ // Enter your actual AWS account ID 'AwsAccountId': 'relevant_AWS_account_ID', 'Namespace': 'default', }, function(err, data) { console.log('---'); console.log('Errors: '); console.log(err); console.log('---'); console.log('Response: '); console.log(data); });
Python3 SDK

Utilisez la procédure suivante pour créer un botocore package personnalisé afin d'interagir avec Amazon QuickSight.

  1. Créez un fichier d'informations d'identification dans le AWS répertoire de votre environnement. Dans un Linux/Mac-based environment, that file is called ~/.aws/credentials et cela ressemble à ceci :

    [default] aws_access_key_id = Your_IAM_access_key aws_secret_access_key = Your_IAM_secret_key
  2. Décompressez le dossier botocore-1.12.10. Modifiez le répertoire en botocore-1.12.10 et saisissez l'environnement d'interpréteur Python3.

  3. Les réponses sont renvoyées sous forme d'objet de dictionnaire. Ils ont chacun une ResponseMetadata entrée qui contient le statut de la demande IDs et de la réponse. Les autres entrées dépendent du type d'opération exécuté.

  4. L'exemple suivant est un exemple d'application qui, dans un premier temps, crée, supprime et répertorie les groupes. Ensuite, il répertorie les utilisateurs dans un compte Quicksight :

    import botocore.session default_namespace = 'default' account_id = 'relevant_AWS_Account' session = botocore.session.get_session() client = session.create_client("quicksight", region_name='us-east-1') print('Creating three groups: ') client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup1') client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup2') client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup3') print('Retrieving the groups and listing them: ') response = client.list_groups(AwsAccountId = account_id, Namespace=default_namespace) for group in response['GroupList']: print(group) print('Deleting our groups: ') client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup1') client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup2') client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup3') response = client.list_users(AwsAccountId = account_id, Namespace=default_namespace) for user in response['UserList']: print(user)
.NET/C# SDK

Utilisez la procédure suivante pour interagir avec Amazon à QuickSight l'aide de C#. NET. Cet exemple est construit sur Microsoft Visual pour Mac ; les instructions peuvent varier légèrement en fonction de votre plateforme IDE et de votre ordinateur. Cependant, elles devraient être relativement similaires.

  1. Décompressez le fichier nuget.zip dans un dossier intitulé nuget.

  2. Créez un nouveau projet Application de console dans Visual Studio.

  3. Dans votre solution, localisez les dépendances de l'application, puis ouvrez le menu contextuel d'un clic droit et choisissez Add Packages (Ajouter des packages).

  4. Dans la liste des sources, choisissez Configure Sources (Configurer les sources).

  5. Choisissez Add (Ajouter), puis attribuez à la source le nom QuickSightSDK. Ouvrez le dossier nuget et choisissez Add Source (Ajouter source).

  6. Choisissez OK. Ensuite, une QuickSightSDK fois sélectionné, sélectionnez les trois QuickSight packages Amazon :

    • AWSSDK.QuickSight

    • AWSSDK.Extensions.NETCore.Setup

    • AWSSDK.Extensions.CognitoAuthentication

  7. Cliquez sur Add Package (Ajouter un package).

  8. Copiez et collez l'exemple d'application suivant dans l'éditeur de votre application de console.

    using System; using Amazon.QuickSight.Model; using Amazon.QuickSight; namespace DotNetQuickSightSDKTest { class Program { private static readonly string AccessKey = "insert_your_access_key"; private static readonly string SecretAccessKey = "insert_your_secret_key"; private static readonly string AccountID = "AWS_account_ID"; private static readonly string Namespace = "default"; // leave this as default static void Main(string[] args) { var client = new AmazonQuickSightClient( AccessKey, SecretAccessKey, Amazon.RegionEndpoint.USEast1); var listUsersRequest = new ListUsersRequest { AwsAccountId = AccountID, Namespace = Namespace }; client.ListUsersAsync(listUsersRequest).Result.UserList.ForEach( user => Console.WriteLine(user.Arn) ); var listGroupsRequest = new ListGroupsRequest { AwsAccountId = AccountID, Namespace = Namespace }; client.ListGroupsAsync(listGroupsRequest).Result.GroupList.ForEach( group => Console.WriteLine(group.Arn) ); } } }