Desenvolvendo aplicativos com a QuickSight API da Amazon - Amazon QuickSight

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Desenvolvendo aplicativos com a QuickSight API da Amazon

Você pode gerenciar a maioria dos aspectos de sua implantação usando AWS os SDKs para acessar uma API personalizada para a linguagem de programação ou plataforma que você está usando. Para obter mais informações, consulte AWS SDKs.

Para obter mais informações sobre as operações de API, consulte Amazon QuickSight API Reference.

Antes de chamar as operações de QuickSight API da Amazon, você precisa da quicksight:operation-name permissão em uma política anexada à sua identidade do IAM. Por exemplo, para chamar list-users, você precisa da permissão quicksight:ListUsers. O mesmo padrão se aplica a todas as operações.

Se não tiver certeza de qual é a permissão necessária, você pode tentar fazer uma chamada. O cliente informará qual é a permissão ausente. Você pode usar o símbolo de asterisco (*) no campo Recurso da política de permissão em vez de especificar recursos explícitos. No entanto, recomendamos restringir cada permissão o máximo possível. Você pode restringir o acesso do usuário especificando ou excluindo recursos na política, usando o identificador QuickSight Amazon Resource Name (ARN) da Amazon.

Para ver mais informações, consulte:

Para recuperar o ARN de um usuário ou grupo, use a operação Describe no recurso relevante. Você também pode adicionar condições ao IAM para restringir ainda mais o acesso a uma API em alguns cenários. Por exemplo, User1 ao adicionarGroup1, o recurso principal é Group1 permitir ou negar acesso a determinados grupos, mas você também pode adicionar uma condição usando a QuickSight chave IAM Amazon quicksight:UserName para permitir ou impedir que determinados usuários sejam adicionados a esse grupo.

Veja abaixo um exemplo de política. Isso significa que o autor da chamada com essa política vinculada pode invocar a operação CreateGroupMembership em qualquer grupo, desde que o nome do usuário que ele está adicionando ao grupo não seja 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

O procedimento a seguir explica como interagir com as operações de QuickSight API da Amazon por meio da AWS CLI. As instruções a seguir foram testadas em Bash, mas devem ser idênticas ou semelhantes em outros ambientes de linha de comando.

  1. Instale o AWS SDK em seu ambiente. As instruções sobre como fazer isso estão localizadas aqui: Interface de linha de AWS comando.

  2. Configure sua identidade e região da AWS CLI usando as instruções de comando e acompanhamento a seguir. Use as credenciais de uma identidade ou função do IAM que tenha as permissões apropriadas.

    aws configure
  3. Veja a ajuda do Amazon QuickSight SDK emitindo o seguinte comando:

    aws quicksight help
  4. Para obter instruções detalhadas sobre como usar uma API, insira seu nome seguido por “help” (ajuda), da seguinte forma:

    aws quicksight list-users help
  5. Agora você pode chamar uma operação de QuickSight API da Amazon. Este exemplo retorna uma lista de QuickSight usuários da Amazon em sua conta.

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

Use o procedimento a seguir para configurar um aplicativo Java que interaja com a Amazon QuickSight.

  1. Para começar, crie um projeto Java em seu IDE.

  2. Importe o Amazon QuickSight SDK para seu novo projeto, por exemplo: AWSQuickSightJavaClient-1.11.x.jar

  3. Depois que seu IDE indexar o Amazon QuickSight SDK, você poderá adicionar uma linha de importação da seguinte forma:

    import com.amazonaws.services.quicksight.AmazonQuickSight;

    Se o IDE não reconhecer isso como válido, verifique se você importou o SDK.

  4. Como outros AWS SDKs, o Amazon QuickSight SDK exige dependências externas para realizar muitas de suas funções. Você precisará fazer download e importá-las para o mesmo projeto. As seguintes dependências são obrigatórias:

  5. Agora, você está pronto para criar um QuickSight cliente Amazon. Você pode usar um endpoint público padrão com o qual o cliente possa se comunicar ou pode fazer referência explícita ao endpoint. Há várias maneiras de fornecer suas AWS credenciais. No exemplo a seguir, fornecemos uma abordagem simples e direta. O seguinte método do cliente é usado para fazer todas as chamadas de API a seguir:

    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. Agora, podemos usar o cliente acima para listar todos os usuários em nossa QuickSight conta Amazon.

    nota

    Você precisa fornecer o ID da AWS conta que você usou para assinar a Amazon QuickSight. Isso deve corresponder ao ID da AWS conta da identidade do chamador. As chamadas entre contas não são compatíveis no momento. Além disso, o parâmetro obrigatório namespace sempre deve ser definido como default.

    getClient().listUsers(new ListUsersRequest() .withAwsAccountId("relevant_AWS_account_ID") .withNamespace("default")) .getUserList().forEach(user -> { System.out.println(user.getArn()); });
  7. Para ver uma lista de todas as operações de API possíveis e os objetos de solicitação que elas usam, você pode clicar com a tecla Ctrl pressionada no objeto cliente em seu IDE para visualizar a interface da Amazon. QuickSight Como alternativa, encontre-o dentro do com.amazonaws.services.quicksight pacote no arquivo QuickSight JavaClient JAR da Amazon.

JavaScript (Node.js) SDK

Use o procedimento a seguir para interagir com a Amazon QuickSight usando o Node.js.

  1. Configure o ambiente do nó usando os seguintes comandos:

    • npm install aws-sdk

    • npm install aws4

    • npm install request

    • npm install url

  2. Para obter informações sobre como configurar o Node.js com o AWS SDK e definir suas credenciais, consulte--> o Guia do AWS SDK for JavaScriptdesenvolvedor para SDK v2.

  3. Use o exemplo de código a seguir para testar sua configuração. O HTTPS é obrigatório. A amostra exibe uma lista completa das QuickSight operações da Amazon junto com seus parâmetros de solicitação de URL, seguida por uma lista de QuickSight usuários da Amazon em sua conta.

    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

Use o procedimento a seguir para criar um botocore pacote personalizado para interagir com a Amazon QuickSight.

  1. Crie um arquivo de credenciais no AWS diretório do seu ambiente. Em um ambiente Linux/Mac, esse arquivo se chama ~/.aws/credentials e é semelhante a:

    [default] aws_access_key_id = Your_IAM_access_key aws_secret_access_key = Your_IAM_secret_key
  2. Descompacte a pasta botocore-1.12.10. Altere o diretório em botocore-1.12.10 e entre no ambiente do interpretador Python3.

  3. As respostas voltam como um objeto de dicionário. Cada uma delas tem uma entrada ResponseMetadata que contém IDs de solicitação e status de resposta. As outras entradas dependerão do tipo de operação que você executar.

  4. O exemplo a seguir mostra um exemplo de aplicação que primeiro cria, exclui e lista grupos. Em seguida, ela lista os usuários em uma conta do 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

Use o procedimento a seguir para interagir com a Amazon QuickSight usando C#.NET. Este exemplo foi criado no Microsoft Visual para Mac; as instruções podem variar com base no IDE e na plataforma. No entanto, elas devem ser semelhantes.

  1. Descompacte o arquivo nuget.zip em uma pasta chamada nuget.

  2. Crie um novo projeto chamado Console app no Visual Studio.

  3. Em sua solução, localize as Dependencies (Dependências) da aplicação e, em seguida, abra o contexto (clique com o botão direito no menu) e selecione Add Packages (Adicionar pacotes).

  4. Na lista de fontes, escolha Configure Sources (Configurar fontes).

  5. Escolha Add (Adicionar) e dê o nome QuickSightSDK à fonte. Acesse a pasta nuget e escolha Add Source (Adicionar fonte).

  6. Escolha OK. Em seguida, com a QuickSightSDK opção selecionada, selecione os três QuickSight pacotes da Amazon:

    • AWSSDK.QuickSight

    • AWSSDK.Extensions.NETCore.Setup

    • AWSSDK.Extensions.CognitoAuthentication

  7. Clique em Add Package (Adicionar pacote).

  8. Copie e cole o seguinte exemplo de aplicação no editor de aplicação 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) ); } } }