Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Tutorial C++ per AWS Cloud9

Modalità Focus
Tutorial C++ per AWS Cloud9 - AWS Cloud9

AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Questo tutorial consente di eseguire codice C++ in un ambiente di AWS Cloud9 sviluppo. Il codice utilizza anche risorse fornite da AWS SDK per C++, una libreria open source modularizzata multipiattaforma che puoi usare per connetterti ad Amazon Web Services.

L'esecuzione di questo tutorial e la creazione di questo esempio potrebbero comportare addebiti sul tuo AWS account. Questi includono eventuali addebiti per servizi come Amazon EC2 e Amazon S3. Per ulteriori informazioni, consulta i prezzi di Amazon e EC2 i prezzi di Amazon S3.

Prerequisiti

Prima di usare questo esempio, assicurati che la configurazione soddisfi i seguenti requisiti:

  • È necessario disporre di un ambiente di AWS Cloud9 EC2 sviluppo esistente. Questo esempio presuppone che tu disponga già di un EC2 ambiente connesso a un' EC2 istanza Amazon che esegue Amazon Linux o Ubuntu Server. Se disponi di un altro tipo di ambiente o sistema operativo, potrebbe essere necessario adattare le istruzioni di questo esempio per configurare gli strumenti correlati. Per ulteriori informazioni, consulta Creare un ambiente in AWS Cloud9.

  • L' AWS Cloud9 IDE per l'ambiente esistente è già aperto. Quando apri un ambiente, AWS Cloud9 apre l'IDE per quell'ambiente nel tuo browser web. Per ulteriori informazioni, consulta Aprire un ambiente in AWS Cloud9.

Fase 1: installare g++ e i pacchetti di sviluppo richiesti

Per costruire ed eseguire un'applicazione C ++, è necessaria un'utilità come g++, che è un compilatore C ++ fornito da GNU Complier Collection (GCC).

Devi inoltre aggiungere i file di intestazione (pacchetti -dev) per libcurl, libopenssl, libuuid, zlib e, facoltativamente, libpulseper il supporto di Amazon Polly.

Il processo di installazione degli strumenti di sviluppo varia leggermente a seconda che tu stia utilizzando un'istanza Amazon Linux/Amazon Linux 2 o un'istanza Ubuntu.

Amazon Linux-based systems

Puoi verificare se l'hai già gcc installato eseguendo il seguente comando nel AWS Cloud9 terminale:

g++ --version

Se g++ non è installato, puoi farlo facilmente con parte del gruppo di pacchetti chiamato "Strumenti di sviluppo". Questi strumenti vengono aggiunti a un'istanza con il comando yum groupinstall:

sudo yum groupinstall "Development Tools"

Esegui g++ --version ancora una volta per confermare che il compilatore è installato.

Ora installa i pacchetti per le librerie richieste usando il programma di gestione dei pacchetti del sistema:

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

Puoi verificare se l'hai già gcc installato eseguendo il seguente comando nel AWS Cloud9 terminale:

g++ --version

Se gcc non è installato, puoi farlo su un sistema basato su Ubuntu. eseguendo i seguenti comandi:

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

Esegui g++ --version ancora una volta per confermare che il compilatore è installato.

Ora installa i pacchetti per le librerie richieste usando il programma di gestione dei pacchetti del sistema:

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

Puoi verificare se l'hai già gcc installato eseguendo il seguente comando nel AWS Cloud9 terminale:

g++ --version

Se g++ non è installato, puoi farlo facilmente con parte del gruppo di pacchetti chiamato "Strumenti di sviluppo". Questi strumenti vengono aggiunti a un'istanza con il comando yum groupinstall:

sudo yum groupinstall "Development Tools"

Esegui g++ --version ancora una volta per confermare che il compilatore è installato.

Ora installa i pacchetti per le librerie richieste usando il programma di gestione dei pacchetti del sistema:

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

Passaggio 2: installazione CMake

Devi installare lo strumento cmake, che automatizza il processo di costruzione di file eseguibili dal codice sorgente.

  1. Nella finestra del terminale IDE, esegui il comando seguente per ottenere l'archivio richiesto:

    wget https://cmake.org/files/v3.18/cmake-3.18.0.tar.gz
  2. Estrai i file dall'archivio e accedi alla directory che contiene i file decompressi:

    tar xzf cmake-3.18.0.tar.gz cd cmake-3.18.0
  3. Quindi, esegui uno script di bootstrap e installa cmake eseguendo i comandi seguenti:

    ./bootstrap make sudo make install
  4. Conferma di aver installato lo strumento eseguendo il comando seguente:

    cmake --version

Fase 3: ottenere e costruire SDK per C++

Per configurare l' AWS SDK per C++, puoi creare l'SDK direttamente dal codice sorgente o scaricare le librerie utilizzando un gestore di pacchetti. Puoi trovare dettagli sulle opzioni disponibili in Guida introduttiva all'uso dell' AWS SDK for C++ AWS SDK per C++ nella Guida per gli sviluppatori.

Questo esempio illustra l'utilizzo di git per clonare il codice sorgente SDK e cmake per costruire l'SDK per C++.

  1. Clona il repository remoto e ottieni tutti i sottomoduli git in modo ricorsivo per l'ambiente AWS Cloud9 eseguendo i comandi seguenti nel terminale:

    git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
  2. Passa alla nuova aws-sdk-cpp directory, crea una sottodirectory in cui creare l' AWS SDK for C++, quindi vai a quella:

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

    Per risparmiare tempo, in questa fase si costruisce solo la sezione Amazon S3 di AWS SDK per C++. Se desideri costruire l'SDK completo, ometti -DBUILD_ONLY=s3 dal comando cmake.

    La creazione dell'SDK for C++ completo può richiedere più di un'ora, a seconda delle risorse di elaborazione disponibili per la tua istanza EC2 Amazon o il tuo server.

    Utilizza cmake per costruire la sezione Amazon S3 dell'SDK per C++ nella directory sdk_build eseguendo il comando seguente:

    cmake .. -DBUILD_ONLY=s3
  4. Esegui il comando make install in modo l'SDK costruito sia accessibile:

    sudo make install cd ..

Passaggio 4: creare file C++ e Lists CMake

In questa fase si crea un file C++ che permette agli utenti del progetto di interagire con i bucket Amazon S3.

Puoi anche creare un file CMakeLists.txt che fornisce istruzioni utilizzate da cmake per costruire la libreria C++.

  1. Nell' AWS Cloud9 IDE, create un file con questo contenuto e salvate il file con il nome s3-demo.cpp nella radice (/) del vostro 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. Crea un secondo file con questo contenuto e salvalo con il nome CMakeLists.txt nella radice (/) dell'ambiente. Questo file ti consente di compilare il tuo codice in un file eseguibile.

    # 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})

Fase 5: costruire ed eseguire il codice C++

  1. Nella directory principale dell'ambiente in cui hai salvato s3-demo.cpp e CMakeLists.txt, esegui cmake per costruire il progetto:

    cmake . make
  2. Ora puoi eseguire il programma dalla riga di comando. Nel comando seguente, sostituisci my-unique-bucket-name con un nome univoco per il bucket Amazon S3 e, se necessario, sostituisci us-east-1 con l'identificatore di un'altre regione AWS in cui desideri creare un bucket.

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

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    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.

Fase 6: pulizia

Per evitare addebiti continui AWS sul tuo account dopo aver finito con questo esempio, elimina l'ambiente. Per istruzioni, consultare Eliminazione di un ambiente in AWS Cloud9.

Argomento successivo:

Tutorial di Python

Argomento precedente:

Tutorial Java
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.