O Guia de referência da API do AWS SDK para JavaScript V3 descreve em detalhes todas as operações da API para o AWS SDK para JavaScript versão 3 (V3).
Conceitos básicos sobre o navegador
Esta seção mostra um exemplo que demonstra como executar a versão 3 (V3) do SDK para JavaScript no navegador.
nota
A execução da V3 no navegador é um pouco diferente da versão 2 (V2). Para obter mais informações, consulte Uso dos navegadores na V3.
Para ver outros exemplos de uso (V3) do SDK para JavaScript, consulte Exemplos de código do SDK para JavaScript (v3).
Este exemplo de aplicativo web mostra:
Como acessar serviços da AWS usando o Amazon Cognito para autenticação.
Como ler uma lista de objetos em um bucket do Amazon Simple Storage Service (Amazon S3) usando um perfil do AWS Identity and Access Management (IAM).
nota
Este exemplo não usa o AWS IAM Identity Center para autenticação.
O cenário
O Amazon S3 é um serviço de armazenamento de objetos que oferece escalabilidade, disponibilidade de dados, segurança e performance líderes do setor. Você pode usar o Amazon S3 para armazenar dados como objetos em contêineres chamados buckets. Para obter mais informações sobre o Amazon S3, consulte o Guia do usuário da Amazon S3.
Este exemplo mostra como configurar e executar um aplicativo web que assume um perfil do IAM para ler de um bucket do Amazon S3. O exemplo usa a biblioteca de front-end React e as ferramentas de front-end Vite para fornecer um ambiente de desenvolvimento para JavaScript. O aplicativo web usa um banco de identidades do Amazon Cognito para fornecer as credenciais necessárias para acessar os serviços da AWS. O exemplo de código incluído demonstra os padrões básicos para carregar e usar o SDK para JavaScript em aplicativos web.
Etapa 1: Criar um banco de identidades e um perfil do IAM do Amazon Cognito
Neste exercício, você cria e usa um banco de identidades do Amazon Cognito para fornecer acesso não autenticado ao aplicativo web do serviço Amazon S3. A criação de um banco de identidades também cria um perfil do AWS Identity and Access Management (IAM) para oferecer suporte a usuários convidados não autenticados. Neste exemplo, vamos trabalhar apenas com a função de usuário não autenticado para manter o enfoque na tarefa. Você poderá integrar o suporte para um provedor de identidade e os usuários autenticados depois. Para obter mais informações sobre como adicionar um banco de identidades do Amazon Cognito, consulte Tutorial: criação de um banco de identidades no Guia do desenvolvedor do Amazon Cognito.
Para criar um banco de identidades e um perfil do IAM associado do Amazon Cognito
Faça login no Console de gerenciamento da AWS e abra o console do Amazon Cognito em https://console.aws.amazon.com/cognito/
. No painel de navegação à esquerda, escolha Bancos de identidades.
Selecione Criar banco de identidades.
Em Configurar confiança do grupo de identidades, escolha Acesso de convidado para autenticação do usuário.
Em Configurar permissões, escolha Criar um novo perfil do IAM e insira um nome (por exemplo, getStartedRole) no nome do perfil do IAM.
Em Configurar propriedades, insira um nome (por exemplo, getStartedPool) em Nome do grupo de identidades.
Em Revisar e criar, confirme as seleções que você fez para o novo banco de identidades. Selecione Editar para retornar ao assistente e alterar as configurações. Quando terminar, selecione Criar banco de identidades.
Observe o ID do grupo de identidades e a Região do banco de identidades recém-criado do Amazon Cognito. Você precisa desses valores para substituir
IDENTITY_POOL_IDeREGIONna Etapa 4: Configurar o código do navegador.
Depois de criar o banco de identidades do Amazon Cognito, você estará pronto para adicionar permissões do Amazon S3 necessárias para o aplicativo web.
Etapa 2: Adicionar uma política ao perfil do IAM criado
Para permitir o acesso a um bucket do Amazon S3 em seu aplicativo web, use o perfil do IAM não autenticada (por exemplo, getStartedRole) criado para seu banco de identidades do Amazon Cognito (por exemplo, getStartedPool). Isso exige que você anexe uma política do IAM ao perfil. Para obter mais informações sobre como modificar os perfis do IAM, consulte Modificação de uma política de permissões de perfil no Guia do usuário do IAM.
Para adicionar uma política do Amazon S3 ao perfil do IAM associado a usuários não autenticados
Faça login no Console de gerenciamento da AWS e abra o console do IAM, em https://console.aws.amazon.com/iam/
. No painel de navegação à esquerda, selecione Perfis.
Escolha o nome do perfil que você deseja modificar (por exemplo, getStartedRole) e escolha a guia Permissões.
Escolha Adicionar permissões e selecione Anexar políticas.
Na página Adicionar permissões desse perfil, encontre e marque a caixa de seleção de AmazonS3ReadOnlyAccess.
nota
Você pode usar esse processo para habilitar o acesso a qualquer serviço da AWS.
Escolha Adicionar permissões.
Depois de criar o banco de identidades do Amazon Cognito e adicionar permissões do Amazon S3 ao perfil do IAM para usuários não autenticados, você estará pronto para adicionar e configurar um bucket do Amazon S3.
Etapa 3: Adicionar um bucket e um objeto do Amazon S3
Nesta etapa, você adicionará um bucket e um objeto do Amazon S3 como exemplo. Você também poderá fazer o compartilhamento de recursos de origem cruzada (CORS) para o bucket. Para obter mais informações sobre como criar buckets e objetos do Amazon S3, consulte Conceitos básicos do Amazon S3 no Guia do usuário do Amazon S3.
Para adicionar um bucket e um objeto do Amazon S3 com CORS
Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. No painel de navegação à esquerda, escolha Buckets e selecione Criar bucket.
Insira um nome de bucket que esteja em conformidade com as regras de nomenclatura de bucket (por exemplo, getstartedbucket) e escolha Criar bucket.
Escolha o bucket que você criou e, em seguida, escolha a guia Objetos. Em seguida, escolha Upload.
Em Files and folders (Arquivos e pastas), escolha Add files (Adicionar arquivos).
Escolha um arquivo para carregar e, em seguida, escolha Open (Abrir). Em seguida, escolha Carregar para concluir o carregamento do objeto no seu bucket.
Em seguida, escolha a guia Permissões do seu bucket e selecione Editar na seção Compartilhamento de recursos de origem cruzada (CORS). Insira o seguinte JSON:
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]Escolha Salvar alterações.
Depois de adicionar um bucket do Amazon S3 e um objeto, você estará pronto para configurar o código do navegador.
Etapa 4: Configurar o código do navegador
O aplicativo de exemplo consiste em um aplicativo React de página única. Os arquivos para esse exemplo podem ser encontrados aqui no GitHub
Para configurar o aplicativo de exemplo
Instale o Node.js
. Na linha de comando, clone o Repositório de exemplos de código da AWS
: git clone --depth 1 https://github.com/awsdocs/aws-doc-sdk-examples.gitNavegue até o aplicativo de exemplo:
cd aws-doc-sdk-examples/javascriptv3/example_code/web/s3/list-objects/Execute o seguinte comando para instalar os pacotes necessários:
npm installEm seguida, abra
src/App.tsxem um editor de texto e conclua o seguinte:Substitua
YOUR_IDENTITY_POOL_IDpelo ID do banco de identidades do Amazon Cognito que você anotou em Etapa 1: Criar um banco de identidades e um perfil do IAM do Amazon Cognito.Substitua o valor da região pela região atribuída ao seu bucket do Amazon S3 e ao banco de identidades do Amazon Cognito. Observe que as regiões de ambos os serviços devem ser as mesmas (por exemplo, us-east-2).
Substitua
bucket-namepelo nome do bucket criado em Etapa 3: Adicionar um bucket e um objeto do Amazon S3.
Depois de substituir o texto, salve o arquivo App.tsx. Agora, você está pronto para executar o aplicativo web.
Etapa 5: Executar o exemplo
Para executar o aplicativo de exemplo
Na linha de comando, navegue até o aplicativo de exemplo:
cd aws-doc-sdk-examples/javascriptv3/example_code/web/s3/list-objects/Na linha de comando, execute o seguinte comando:
npm run devO ambiente de desenvolvimento do Vite será executado com a seguinte mensagem:
VITE v4.3.9 ready in 280 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h to show helpNo navegador da Web, acesse o URL mostrado acima (por exemplo, http://localhost:5173). O aplicativo de exemplo mostrará uma lista de nomes de arquivos de objetos em seu bucket do Amazon S3.
Limpeza
Para limpar os recursos que foram criados durante este tutorial, faça o seguinte:
No console do Amazon S3
, exclua todos os objetos e buckets criados (por exemplo, getstartedbucket). No console do IAM
, exclua o nome do perfil (por exemplo, getStartedRole). No console do Amazon Cognito
, exclua o nome do banco de identidades (por exemplo, getStartedPool).