Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Tutorial de C++ para AWS Cloud9

Modo de foco
Tutorial de C++ para AWS Cloud9 - AWS Cloud9

AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. Saiba mais

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á.

AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. Saiba mais

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á.

Este tutorial permite que você execute código C++ em um ambiente de AWS Cloud9 desenvolvimento. O código também usa recursos fornecidos pelo AWS SDK para C++, uma biblioteca modular, multiplataforma e de código aberto que você pode usar para se conectar à Amazon Web Services.

Seguir este tutorial e criar essa amostra pode resultar em cobranças em sua AWS conta. Isso inclui possíveis cobranças por serviços como Amazon EC2 e Amazon S3. Para obter mais informações, consulte Amazon EC2 Pricing e Amazon S3 Pricing.

Pré-requisitos

Antes de usar esse exemplo, verifique se suas configurações cumprem os requisitos a seguir.

  • Você deve ter um ambiente de AWS Cloud9 EC2 desenvolvimento existente. Este exemplo pressupõe que você já tenha um EC2 ambiente conectado a uma EC2 instância da Amazon que executa o Amazon Linux ou Ubuntu Servidor. Caso tenha um tipo diferente de ambiente ou sistema operacional, poderá ser necessário adaptar as instruções desse exemplo para configurar ferramentas relacionadas. Para obter mais informações, consulte Criando um ambiente em AWS Cloud9.

  • Você tem o AWS Cloud9 IDE para o ambiente existente já aberto. Quando você abre um ambiente, AWS Cloud9 abre o IDE desse ambiente em seu navegador da web. Para obter mais informações, consulte Abrindo um ambiente em AWS Cloud9.

Etapa 1: Instalar g++ e pacotes de desenvolvimento necessários

Para criar e executar uma aplicação C++, você precisa de um utilitário como o g++, que é um compilador C++ fornecido pelo GNU Complier Collection (GCC).

Você também precisa adicionar arquivos de cabeçalho (pacotes -dev) para libcurl, libopenssl, libuuid, zlib e, opcionalmente, libpulse para suporte do Amazon Polly.

O processo de instalação de ferramentas de desenvolvimento varia ligeiramente se você estiver usando uma instância do Amazon Linux/Amazon Linux 2 ou uma instância do Ubuntu.

Amazon Linux-based systems

Você pode verificar se você já gcc instalou executando o seguinte comando no AWS Cloud9 terminal:

g++ --version

Se o g++ não estiver instalado, você pode instalá-lo facilmente como parte do grupo de pacotes chamado "Development Tools" (Ferramentas de desenvolvimento). Essas ferramentas são adicionadas a uma instância com o comando yum groupinstall:

sudo yum groupinstall "Development Tools"

Execute g++ --version novamente para confirmar se o compilador foi instalado.

Agora instale os pacotes para as bibliotecas necessárias usando o gerenciador de pacotes do sistema:

sudo yum install libcurl-devel openssl-devel libuuid-devel pulseaudio-libs-devel
Ubuntu-based systems

Você pode verificar se você já gcc instalou executando o seguinte comando no AWS Cloud9 terminal:

g++ --version

Se o gcc não estiver instalado, você poderá instalá-lo em um sistema baseado em Ubuntu, executando os seguintes comandos:

sudo apt update sudo apt install build-essential sudo apt-get install manpages-dev

Execute g++ --version novamente para confirmar se o compilador foi instalado.

Agora instale os pacotes para as bibliotecas necessárias usando o gerenciador de pacotes do sistema:

sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev

Você pode verificar se você já gcc instalou executando o seguinte comando no AWS Cloud9 terminal:

g++ --version

Se o g++ não estiver instalado, você pode instalá-lo facilmente como parte do grupo de pacotes chamado "Development Tools" (Ferramentas de desenvolvimento). Essas ferramentas são adicionadas a uma instância com o comando yum groupinstall:

sudo yum groupinstall "Development Tools"

Execute g++ --version novamente para confirmar se o compilador foi instalado.

Agora instale os pacotes para as bibliotecas necessárias usando o gerenciador de pacotes do sistema:

sudo yum install libcurl-devel openssl-devel libuuid-devel pulseaudio-libs-devel

Etapa 2: instalar CMake

Você precisa instalar a ferramenta cmake, que automatiza o processo de construção de arquivos executáveis a partir do código-fonte.

  1. Na janela do terminal do IDE, execute o seguinte comando para obter o arquivamento necessário:

    wget https://cmake.org/files/v3.18/cmake-3.18.0.tar.gz
  2. Extraia os arquivos do arquivamento e navegue até o diretório que contém os arquivos descompactados:

    tar xzf cmake-3.18.0.tar.gz cd cmake-3.18.0
  3. Em seguida, execute um script bootstrap e instale cmake, executando os seguintes comandos:

    ./bootstrap make sudo make install
  4. Confirme se você instalou a ferramenta executando o seguinte comando:

    cmake --version

Etapa 3: Obter e compilar o SDK for C++

Para configurar o AWS SDK para C++, você mesmo pode criar o SDK diretamente da fonte ou baixar as bibliotecas usando um gerenciador de pacotes. Você pode encontrar detalhes sobre as opções disponíveis em Introdução ao uso do AWS SDK para C++ AWS SDK para C++ no Guia do desenvolvedor.

Este exemplo demonstra o uso do git para clonar o código-fonte do SDK e cmake para compilar o SDK for C++.

  1. Clone o repositório remoto e obtenha todos os submódulos do Git recursivamente para o ambiente do AWS Cloud9 , executando o seguinte comando no terminal:

    git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
  2. Navegue até o novo aws-sdk-cpp diretório, crie um subdiretório para compilar o AWS SDK para C++ e, em seguida, navegue até ele:

    cd aws-sdk-cpp mkdir sdk_build cd sdk_build
  3. nota

    Para economizar tempo, essa etapa cria apenas a parte do Amazon S3 do AWS SDK para C++. Se você quiser compilar o SDK completo, omita a propriedade -DBUILD_ONLY=s3 do comando cmake.

    A criação do SDK completo para C++ pode levar mais de uma hora para ser concluída, dependendo dos recursos de computação disponíveis para sua instância EC2 Amazon ou seu próprio servidor.

    Use o cmake para compilar a parte do Amazon S3 do SDK for C++ no sdk_buildexecutando o seguinte comando:

    cmake .. -DBUILD_ONLY=s3
  4. Agora, execute o comando make install para que o SDK integrado possa ser acessado:

    sudo make install cd ..

Etapa 4: Criar arquivos C++ e CMake Listas

Nesta etapa, você criará um arquivo C++ que permite que os usuários do projeto interajam com buckets do Amazon S3.

Você também cria um arquivo CMakeLists.txt que fornece instruções que são usadas pelo cmake para criar sua biblioteca C++.

  1. No AWS Cloud9 IDE, crie um arquivo com esse conteúdo e salve o arquivo com o nome s3-demo.cpp na raiz (/) do seu ambiente.

    #include <iostream> #include <aws/core/Aws.h> #include <aws/s3/S3Client.h> #include <aws/s3/model/Bucket.h> #include <aws/s3/model/CreateBucketConfiguration.h> #include <aws/s3/model/CreateBucketRequest.h> #include <aws/s3/model/DeleteBucketRequest.h> // Look for a bucket among all currently available Amazon S3 buckets. bool FindTheBucket(const Aws::S3::S3Client &s3Client, const Aws::String &bucketName) { Aws::S3::Model::ListBucketsOutcome outcome = s3Client.ListBuckets(); if (outcome.IsSuccess()) { std::cout << "Looking for a bucket named '" << bucketName << "'..." << std::endl << std::endl; Aws::Vector<Aws::S3::Model::Bucket> bucket_list = outcome.GetResult().GetBuckets(); for (Aws::S3::Model::Bucket const &bucket: bucket_list) { if (bucket.GetName() == bucketName) { std::cout << "Found the bucket." << std::endl << std::endl; return true; } } std::cout << "Could not find the bucket." << std::endl << std::endl; } else { std::cerr << "listBuckets error: " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); } // Create an Amazon S3 bucket. bool CreateTheBucket(const Aws::S3::S3Client &s3Client, const Aws::String &bucketName, const Aws::String &region) { std::cout << "Creating a bucket named '" << bucketName << "'..." << std::endl << std::endl; Aws::S3::Model::CreateBucketRequest request; request.SetBucket(bucketName); if (region != "us-east-1") { Aws::S3::Model::CreateBucketConfiguration createBucketConfig; createBucketConfig.SetLocationConstraint( Aws::S3::Model::BucketLocationConstraintMapper::GetBucketLocationConstraintForName( region)); request.SetCreateBucketConfiguration(createBucketConfig); } Aws::S3::Model::CreateBucketOutcome outcome = s3Client.CreateBucket(request); if (outcome.IsSuccess()) { std::cout << "Bucket created." << std::endl << std::endl; } else { std::cerr << "createBucket error: " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); } // Delete an existing Amazon S3 bucket. bool DeleteTheBucket(const Aws::S3::S3Client &s3Client, const Aws::String &bucketName) { std::cout << "Deleting the bucket named '" << bucketName << "'..." << std::endl << std::endl; Aws::S3::Model::DeleteBucketRequest request; request.SetBucket(bucketName); Aws::S3::Model::DeleteBucketOutcome outcome = s3Client.DeleteBucket(request); if (outcome.IsSuccess()) { std::cout << "Bucket deleted." << std::endl << std::endl; } else { std::cerr << "deleteBucket error: " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); } #ifndef EXCLUDE_MAIN_FUNCTION // Create an S3 bucket and then delete it. // Before and after creating the bucket, and again after deleting the bucket, // try to determine whether that bucket still exists. int main(int argc, char *argv[]) { if (argc < 3) { std::cout << "Usage: s3-demo <bucket name> <AWS Region>" << std::endl << "Example: s3-demo my-bucket us-east-1" << std::endl; return 1; } Aws::SDKOptions options; Aws::InitAPI(options); { Aws::String bucketName = argv[1]; Aws::String region = argv[2]; Aws::Client::ClientConfiguration config; config.region = region; Aws::S3::S3Client s3Client(config); if (!FindTheBucket(s3Client, bucketName)) { return 1; } if (!CreateTheBucket(s3Client, bucketName, region)) { return 1; } if (!FindTheBucket(s3Client, bucketName)) { return 1; } if (!DeleteTheBucket(s3Client, bucketName)) { return 1; } if (!FindTheBucket(s3Client, bucketName)) { return 1; } } Aws::ShutdownAPI(options); return 0; } #endif // EXCLUDE_MAIN_FUNCTION
  2. Crie um segundo arquivo com esse conteúdo e salve-o com o nome CMakeLists.txt na raiz (/) do seu ambiente. Esse arquivo permite compilar o código em um arquivo executável.

    # A minimal CMakeLists.txt file for the AWS SDK for C++. # The minimum version of CMake that will work. cmake_minimum_required(VERSION 2.8) # The project name. project(s3-demo) # Locate the AWS SDK for C++ package. set(AWSSDK_ROOT_DIR, "/usr/local/") set(BUILD_SHARED_LIBS ON) find_package(AWSSDK REQUIRED COMPONENTS s3) # The executable name and its source files. add_executable(s3-demo s3-demo.cpp) # The libraries used by your executable. target_link_libraries(s3-demo ${AWSSDK_LINK_LIBRARIES})

Etapa 5: Compilar e executar o código C++

  1. No diretório raiz do ambiente no qual você salvou a s3-demo.cpp e o CMakeLists.txt, execute cmake para compilar o projeto:

    cmake . make
  2. Agora você pode executar o programa da linha de comando. No comando a seguir, substitua my-unique-bucket-name por um nome exclusivo para o bucket do Amazon S3 e, se necessário, substitua us-east-1 pelo identificador de outra região da AWS onde você deseja criar um bucket.

    ./s3-demo my-unique-bucket-name us-east-1

    Se o programa for executado com êxito, você verá um resultado semelhante a este:

    Looking for a bucket named 'my-unique-bucket-name'... Could not find the bucket. Creating a bucket named 'my-unique-bucket-name'... Bucket created. Looking for a bucket named 'my-unique-bucket-name'... Found the bucket. Deleting the bucket named 'my-unique-bucket-name'... Bucket deleted. Looking for a bucket named 'my-unique-bucket-name'... Could not find the bucket.

Etapa 6: limpar

Para evitar cobranças contínuas em sua AWS conta depois que você terminar de usar essa amostra, exclua o ambiente. Para obter instruções, consulte Excluindo um ambiente no AWS Cloud9.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.