

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

# Configurazione del AWS SDK per Java 2.x
<a name="setup"></a>

Questa sezione fornisce informazioni su come configurare l'ambiente di sviluppo e i progetti per l'utilizzo di. AWS SDK for Java 2.x

## Panoramica della configurazione
<a name="setup-overview"></a>

Per sviluppare correttamente applicazioni che accedono Servizi AWS tramite AWS SDK per Java, sono necessarie le seguenti condizioni:
+ L'SDK Java deve avere accesso alle credenziali per [autenticare le richieste](get-started-auth.md#setup-auth) per conto dell'utente.
+ Le [autorizzazioni del ruolo IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) configurato per l'SDK devono consentire l'accesso a ciò che l' Servizi AWS applicazione richiede. Le autorizzazioni associate alla policy **PowerUserAccess** AWS gestita sono sufficienti per la maggior parte delle esigenze di sviluppo.
+ Un ambiente di sviluppo con i seguenti elementi:
  + [File di configurazione condivisi](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) configurati in almeno uno dei seguenti modi:
    + Il `config` file contiene le [impostazioni Single Sign-On di IAM Identity Center in](get-started-auth.md#setup-credentials) modo che l'SDK possa ottenere le credenziali. AWS 
    + Il `credentials` file contiene credenziali temporanee.
  + Un'[installazione di Java 8](setup-java-buildtool.md) o versione successiva.
  + [Uno [strumento di automazione delle build](setup-java-buildtool.md) come [Maven o Gradle](https://maven.apache.org/download.cgi).](https://gradle.org/install/)
  + Un editor di testo per lavorare con il codice.
  + (Facoltativo, ma consigliato) Un IDE (ambiente di sviluppo integrato) come [IntelliJ IDEA](https://www.jetbrains.com/idea/download/#section=windows), [Eclipse o](https://www.eclipse.org/ide/). [NetBeans](https://netbeans.apache.org/front/main/download/index.html)

    Se utilizzi IntelliJ IDEA, puoi anche aggiungere [Kit di strumenti AWS per IntelliJ IDEA](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html) da integrare Servizi AWS direttamente nell'IDE per aiutarti a semplificare lo sviluppo.
+ Una sessione attiva del portale di AWS accesso quando si è pronti per eseguire l'applicazione. La usi AWS Command Line Interface per [avviare la procedura di accesso al portale di accesso](get-started-auth.md#setup-login-sso) di IAM Identity Center. AWS 

**Importante**  
Le istruzioni in questa sezione di configurazione presuppongono che tu o l'organizzazione utilizzi IAM Identity Center. Se la tua organizzazione utilizza un provider di identità esterno che funziona indipendentemente da IAM Identity Center, scopri come ottenere credenziali temporanee da utilizzare con l'SDK for Java. Segui [queste istruzioni](credentials-temporary.md#credentials-temporary-from-portal) per aggiungere credenziali temporanee al file. `~/.aws/credentials`  
Se il tuo provider di identità aggiunge automaticamente credenziali temporanee al `~/.aws/credentials` file, assicurati che il nome del profilo sia `[default]` tale da non dover fornire un nome di profilo all'SDK o. AWS CLI

# Installa Java e uno strumento di compilazione per lavorare con AWS SDK for Java 2.x
<a name="setup-java-buildtool"></a>

Sono necessari i seguenti requisiti dell'ambiente di sviluppo Java per lavorare con SDK for Java 2.x:
+ Java 8 o versione successiva. AWS SDK per Java [Funziona con l'[Oracle Java SE Development Kit](https://www.oracle.com/java/technologies/downloads/) e con le distribuzioni di Open Java Development Kit (OpenJDK) come [Red](https://developers.redhat.com/products/openjdk/overview) Hat OpenJDK e [Amazon Corretto](https://aws.amazon.com/corretto/)Adoptium.](https://adoptium.net/)
+ Strumenti di compilazione compatibili con Maven come Apache Maven, Apache Ant with Ivy, Gradle o IntelliJ.
  + [Per informazioni su come installare e utilizzare Maven, consulta https://maven.apache.org/.](https://maven.apache.org/)
  + [Per informazioni su come installare e utilizzare Apache Ivy, vedi https://ant.apache.org/ivy/.](https://ant.apache.org/ivy/)
  + [Per informazioni su come installare e utilizzare Gradle, consulta https://gradle.org/.](https://gradle.org/)
  + Per informazioni su come installare e utilizzare IntelliJ IDEA, vedere. [https://www.jetbrains.com/idea/](https://www.jetbrains.com/idea/)

# Configura un progetto Apache Maven che utilizza AWS SDK for Java 2.x
<a name="setup-project-maven"></a>

[Puoi usare [Apache Maven](https://maven.apache.org/) per configurare e creare AWS SDK for Java 2.x progetti o per creare l'SDK stesso.](https://github.com/aws/aws-sdk-java-v2/tree/master#building-from-source)

## Prerequisiti
<a name="prerequisitesmaven"></a>

Per utilizzare l'SDK for Java 2.x con Maven, è necessario quanto segue:
+ Java *8.0 o versione successiva*. [È possibile scaricare il software Java SE Development Kit più recente da http://www.oracle. com/technetwork/java/javase/downloads](https://www.oracle.com/java/technologies/downloads/)/. L'SDK for Java 2.x funziona anche con [OpenJDK](https://openjdk.org/) Amazon Corretto e una distribuzione dell'Open Java Development Kit (OpenJDK). Scarica l'ultima versione di OpenJDK da. [https://openjdk.java.net/install/index.html](https://openjdk.org/install/index.html) [Scarica l'ultima versione Amazon Corretto 8 o Amazon Corretto 11 dalla pagina. Corretto](https://aws.amazon.com/corretto/)
+  *Apache Maven*. Se hai bisogno di installare Maven, vai su [http://maven.apache.org/](https://maven.apache.org/) per scaricarlo e installarlo.

## Creare un progetto Maven
<a name="create-maven-project"></a>

Per creare un progetto Maven dalla riga di comando, esegui il seguente comando da un terminale o da una finestra del prompt dei comandi. `` ``

```
mvn -B archetype:generate \
 -DarchetypeGroupId=software.amazon.awssdk \
 -DarchetypeArtifactId=archetype-lambda -Dservice=s3 -Dregion=US_WEST_2 \
 -DarchetypeVersion=2.X.X \
 -DgroupId=com.example.myapp \
 -DartifactId=myapp
```

**Nota**  
Sostituisci *com.example.myapp* con lo spazio dei nomi del pacchetto completo dell'applicazione. Sostituisci anche *myapp* con il nome del tuo progetto. Questo sarà il nome della directory per il progetto.  
[Per utilizzare la versione più recente dell'archetipo, sostituiscila *2.X.X* con la più recente di Maven central.](https://central.sonatype.com/artifact/software.amazon.awssdk/archetype-lambda)

Questo comando crea un progetto Maven utilizzando l'archetype templating toolkit. L'archetipo genera lo scaffolding per un progetto di gestione delle funzioni. AWS Lambda Questo archetipo di progetto è preconfigurato per la compilazione con Java SE 8 e include una dipendenza dalla versione dell'SDK for Java 2.x specificata con. `-DarchetypeVersion`

Per ulteriori informazioni sulla creazione e la configurazione di progetti Maven, consulta la [Guida alle operazioni di base Maven](https://maven.apache.org/guides/getting-started/).

## Configurare il compilatore Java per Maven
<a name="configure-maven-compiler"></a>

Se avete creato il progetto utilizzando l'archetipo del AWS Lambda progetto come descritto in precedenza, la configurazione del compilatore Java è già stata completata automaticamente.

Per verificare che questa configurazione sia presente, inizia aprendo il file `pom.xml` dalla cartella del progetto creata (ad esempio `myapp`) quando hai eseguito il comando precedente. Guarda le righe 11 e 12 per vedere l'impostazione della versione del compilatore Java per questo progetto Maven e l'inclusione richiesta del plugin del compilatore Maven sulle righe 71-75.

```
<project>
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.plugin.version}</version>
      </plugin>
    </plugins>
  </build>
</project>
```

Se crei il tuo progetto con un archetipo diverso o utilizzando un altro metodo, devi assicurarti che il plugin del compilatore Maven faccia parte della build e che le sue proprietà di origine e destinazione siano entrambe impostate su **1.8** nel file `pom.xml`.

Vedi lo snippet precedente per una modalità di configurazione di tali impostazioni richieste.

In alternativa, puoi impostare la configurazione del compilatore in linea con la dichiarazione del plugin, come segue.

```
<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
```

## Dichiarare l'SDK come dipendenza
<a name="sdk-as-dependency"></a>

Per utilizzarlo AWS SDK per Java nel progetto, è necessario dichiararlo come dipendenza nel file del progetto. `pom.xml`

Se avete creato il progetto utilizzando l'archetipo del progetto come descritto in precedenza, l'ultima versione dell'SDK è già configurata come dipendenza nel progetto. 

L'archetipo genera una dipendenza dall'artefatto BOM (distinta dei materiali) per l'id del gruppo. `software.amazon.awssdk` Con un BOM, non è necessario specificare la versione Maven per le dipendenze dei singoli artefatti che condividono lo stesso ID di gruppo.

Se hai creato il tuo progetto Maven in un modo diverso, configura l'ultima versione dell'SDK per il tuo progetto assicurandoti che il file `pom.xml` contenga quanto segue.

```
<project>
  <properties>
    <aws.java.sdk.version>2.X.X</aws.java.sdk.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>bom</artifactId>
        <version>${aws.java.sdk.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>
```

**Nota**  
[Sostituisci il *2.X.X*`pom.xml` file con la versione più recente di. AWS SDK for Java 2.x](https://central.sonatype.com/artifact/software.amazon.awssdk/bom)

## Impostare le dipendenze per i moduli SDK
<a name="modules-dependencies"></a>

Ora che hai configurato l'SDK, puoi aggiungere dipendenze per uno o più AWS SDK per Java moduli da utilizzare nel tuo progetto.

Sebbene sia possibile specificare il numero di versione per ogni componente, non è necessario perché la versione SDK è già stata dichiarata nella `dependencyManagement` sezione utilizzando l'elemento della distinta base. Per caricare una versione diversa di un determinato modulo, specificate un numero di versione per la sua dipendenza.

Se avete creato il progetto utilizzando l'archetipo del progetto come descritto in precedenza, il progetto è già configurato con dipendenze multiple. Queste includono le dipendenze per i gestori di AWS Lambda funzioni e Amazon S3, come segue.

```
<project>
    <dependencies>
        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>s3</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>software.amazon.awssdk</groupId>
                    <artifactId>netty-nio-client</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>software.amazon.awssdk</groupId>
                    <artifactId>apache-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>url-connection-client</artifactId>
        </dependency>

        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-core</artifactId>
            <version>${aws.lambda.java.version}</version>
        </dependency>
    </dependencies>
</project>
```

**Nota**  
Nell'`pom.xml`esempio precedente, le dipendenze provengono da diverse s. `groupId` La `s3` dipendenza proviene da`software.amazon.awssdk`, mentre la `aws-lambda-java-core` dipendenza proviene da. `com.amazonaws` La configurazione della gestione delle dipendenze BOM influisce sugli artefatti di`software.amazon.awssdk`, quindi è necessaria una versione per l'artefatto. `aws-lambda-java-core`  
Per lo sviluppo di *gestori di funzioni Lambda* utilizzando l'SDK for Java `aws-lambda-java-core` 2.x, è la dipendenza corretta. Tuttavia, se l'applicazione deve gestire le risorse Lambda, l'utilizzo di operazioni come `listFunctions` `deleteFunction``invokeFunction`,`createFunction`, e richiede la seguente dipendenza.   

```
<groupId>software.amazon.awssdk</groupId>
<artifactId>lambda</artifactId>
```

**Nota**  
La `s3` dipendenza esclude le dipendenze e le dipendenze transitive. `netty-nio-client` `apache-client` [Al posto di uno di questi client HTTP, l'archetipo include la `url-connection-client` dipendenza, che aiuta a ridurre la latenza di avvio delle funzioni. AWS Lambda](lambda-optimize-starttime.md#lambda-quick-url)

Aggiungi i moduli al tuo progetto per le Servizio AWS funzionalità necessarie al tuo progetto. I moduli (dipendenze) gestiti dalla AWS SDK per Java BOM sono elencati nell'archivio centrale di [Maven](https://central.sonatype.com/artifact/software.amazon.awssdk/bom).

**Nota**  
Puoi esaminare il file `pom.xml` da un esempio di codice per determinare di quali dipendenze hai bisogno per il tuo progetto. [Ad esempio, se sei interessato alle dipendenze per il servizio DynamoDB, [guarda questo](https://github.com/awsdocs/aws-doc-sdk-examples/blob/da520cb4436f8567a90b6f73f77232fd590a50bf/javav2/example_code/dynamodb/pom.xml) esempio dal AWS Code Examples Repository su.](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) GitHub [(Cerca il `pom.xml` file in /javav2/example\$1code/dynamodb.)](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/dynamodb)

### Creare l'intero SDK nel progetto
<a name="build-the-entire-sdk-into-your-project"></a>

Per ottimizzare l’applicazione, ti consigliamo di inserire solo i componenti necessari anziché tutto l'SDK. Tuttavia, per inserire il tutto AWS SDK per Java nel tuo progetto, dichiaralo nel tuo file, come segue. `pom.xml`

```
<project>
  <dependencies>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>aws-sdk-java</artifactId>
      <version>2.X.X</version>
    </dependency>
  </dependencies>
</project>
```

## Creare il progetto
<a name="build-project"></a>

Dopo aver configurato il file `pom.xml`, puoi usare Maven per creare il tuo progetto.

Per creare il tuo progetto Maven dalla riga di comando, apri un terminale o una finestra del prompt dei comandi, vai alla directory del progetto (ad esempio `myapp`), inserisci o incolla il seguente comando, quindi premi Enter o Invio.

```
mvn package
```

Viene così creato un singolo file `.jar` (JAR) nella directory `target` (ad esempio, `myapp/target`). Questo file JAR contiene tutti i moduli SDK specificati come dipendenze nel file `pom.xml`.

# Configura un progetto Gradle che utilizza il AWS SDK for Java 2.x
<a name="setup-project-gradle"></a>

Puoi usare [Gradle](https://gradle.org/) per configurare e creare progetti. AWS SDK for Java 2.x 

I passaggi iniziali nell'esempio seguente provengono dalla [guida introduttiva di Gradle](https://docs.gradle.org/current/samples/sample_building_java_applications.html) per la versione 8.4. Se si utilizza una versione diversa, i risultati potrebbero differire leggermente.

**Per creare un'applicazione Java con Gradle (riga di comando)**

1. Crea una cartella per contenere il tuo progetto. In questo esempio, `demo` è il nome della directory.

1. All'interno della `demo` directory, esegui il `gradle init` comando e fornisci i valori evidenziati in rosso, come mostrato nel seguente output della riga di comando. Per la procedura dettagliata, scegliamo Kotlin come linguaggio DSL per lo script di compilazione, ma alla fine di questo argomento viene mostrato anche un esempio completo di Groovy.

   ```
   > gradle init
   Starting a Gradle Daemon (subsequent builds will be faster)
   
   Select type of project to generate:
   1: basic
   2: application
   3: library
   4: Gradle plugin
   Enter selection (default: basic) [1..4] 2
   
   Select implementation language:
   1: C++
   2: Groovy
   3: Java
   4: Kotlin
   5: Scala
   6: Swift
   Enter selection (default: Java) [1..6] 3
   
   Generate multiple subprojects for application? (default: no) [yes, no] no
   Select build script DSL:
   1: Kotlin
   2: Groovy
   Enter selection (default: Kotlin) [1..2] <Enter>
   
   Select test framework:
   1: JUnit 4
   2: TestNG
   3: Spock
   4: JUnit Jupiter
   Enter selection (default: JUnit Jupiter) [1..4] 4
   
   Project name (default: demo): <Enter>
   Source package (default: demo): <Enter>
   Enter target version of Java (min. 7) (default: 11): <Enter>
   Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no] <Enter>
   
   > Task :init
   To learn more about Gradle by exploring our Samples at https://docs.gradle.org/8.4/samples/sample_building_java_applications.html
   
   BUILD SUCCESSFUL in 3m 43s
   2 actionable tasks: 2 executed
   ```

1. Al termine dell'`init`attività, la `demo` directory contiene la seguente struttura ad albero. Diamo un'occhiata più da vicino al file di build principale, `build.gradle.kts` (evidenziato in rosso), nella prossima sezione.

   ```
   ├── app
   │   ├── build.gradle.kts
   │   └── src
   │       ├── main
   │       │   ├── java
   │       │   │   └── demo
   │       │   │       └── App.java
   │       │   └── resources
   │       └── test
   │           ├── java
   │           │   └── demo
   │           │       └── AppTest.java
   │           └── resources
   ├── gradle
   │   └── wrapper
   │       ├── gradle-wrapper.jar
   │       └── gradle-wrapper.properties
   ├── gradlew
   ├── gradlew.bat
   └── settings.gradle.kts
   ```

   Il `build.gradle.kts` file contiene il seguente contenuto strutturato.

   ```
   /*
    * This file was generated by the Gradle 'init' task.
    *
    * This generated file contains a sample Java application project to get you started.
    * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation.
    */
   
   plugins {
       // Apply the application plugin to add support for building a CLI application in Java.
       application
   }
   
   repositories {
       // Use Maven Central for resolving dependencies.
       mavenCentral()
   }
   
   dependencies {
       // Use JUnit Jupiter for testing.
       testImplementation("org.junit.jupiter:junit-jupiter:5.9.3")
   
       testRuntimeOnly("org.junit.platform:junit-platform-launcher")
   
       // This dependency is used by the application.
       implementation("com.google.guava:guava:33.3.0-jre")
   }
   
   // Apply a specific Java toolchain to ease working on different environments.
   java {
       toolchain {
           languageVersion.set(JavaLanguageVersion.of(11))
       }
   }
   
   application {
       // Define the main class for the application.
       mainClass.set("demo.App")
   }
   
   tasks.named<Test>("test") {
       // Use JUnit Platform for unit tests.
       useJUnitPlatform()
   }
   ```

1. Usa il file di build Gradle impalcaturato come base per il tuo progetto. AWS 

   1. Per gestire le dipendenze SDK per il tuo progetto Gradle, aggiungi la distinta base (BOM) di Maven alla sezione del file. AWS SDK for Java 2.x `dependencies` `build.gradle.kts`

      ```
      ...
      dependencies {
          implementation(platform("software.amazon.awssdk:bom:2.27.21"))
          // With the bom declared, you specify individual SDK dependencies without a version.
       ...
      }
      ...
      ```
**Nota**  
In questo file di build di esempio, sostituisci *2.27.21* con l'ultima versione di SDK for Java 2.x. [Trova l'ultima versione disponibile nel repository centrale di Maven.](https://central.sonatype.com/artifact/software.amazon.awssdk/bom/versions)

   1. Specificate i moduli SDK necessari alla vostra applicazione nella sezione. `dependencies` Ad esempio, quanto segue aggiunge una dipendenza da Amazon Simple Storage Service. 

      ```
      ...
      dependencies {    
          implementation(platform("software.amazon.awssdk:bom:2.27.21"))
          implementation("software.amazon.awssdk:s3")
       ...
      }
      ...
      ```

      Gradle risolve automaticamente la versione corretta delle dipendenze dichiarate utilizzando le informazioni della BOM.

Gli esempi seguenti mostrano i file di build Gradle completi sia in Kotlin che in Groovy. DSLs Il file di build contiene dipendenze per Amazon S3, autenticazione, registrazione e test. La versione di origine e di destinazione di Java è la versione 11.

------
#### [ Kotlin DSL (build.gradle.kts) ]

```
/*
 * This file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java application project to get you started.
 * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation.
 */

plugins {
    // Apply the application plugin to add support for building a CLI application in Java.
    application
}

repositories {
    // Use Maven Central for resolving dependencies.
    mavenCentral()
}

dependencies {
    implementation(platform("software.amazon.awssdk:bom:2.20.56"))
    implementation("software.amazon.awssdk:s3")
    implementation("software.amazon.awssdk:sso")
    implementation("software.amazon.awssdk:ssooidc")
    implementation(platform("org.apache.logging.log4j:log4j-bom:2.20.0"))
    implementation("org.apache.logging.log4j:log4j-slf4j2-impl")
    implementation("org.apache.logging.log4j:log4j-1.2-api")
    testImplementation(platform("org.junit:junit-bom:5.10.0"))
    testImplementation("org.junit.jupiter:junit-jupiter")
}

// Apply a specific Java toolchain to ease working on different environments.
java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(11))
    }
}

application {
    // Define the main class for the application.
    mainClass.set("demo.App")
}

tasks.named<Test>("test") {
    // Use JUnit Platform for unit tests.
    useJUnitPlatform()
}
```

------
#### [ Groovy DSL (build.gradle) ]

```
/*
 * This file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java application project to get you started.
 * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation.
 */

plugins {
    // Apply the application plugin to add support for building a CLI application in Java.
    id 'application'
}

repositories {
    // Use Maven Central for resolving dependencies.
    mavenCentral()
}

dependencies {
    implementation platform('software.amazon.awssdk:bom:2.27.21')
    implementation 'software.amazon.awssdk:s3'
    implementation 'software.amazon.awssdk:sso'
    implementation 'software.amazon.awssdk:ssooidc'
    implementation platform('org.apache.logging.log4j:log4j-bom:2.20.0')
    implementation 'org.apache.logging.log4j:log4j-slf4j2-impl'
    implementation 'org.apache.logging.log4j:log4j-1.2-api'
    testImplementation platform('org.junit:junit-bom:5.10.0')
    testImplementation 'org.junit.jupiter:junit-jupiter'
}

// Apply a specific Java toolchain to ease working on different environments.
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(11)
    }
}

application {
    // Define the main class for the application.
    mainClass = 'demo_groovy.App'
}

tasks.named('test') {
    // Use JUnit Platform for unit tests.
    useJUnitPlatform()
}
```

------

Per i passaggi successivi, consulta la guida introduttiva sul sito Web di Gradle per istruzioni su come [creare ed eseguire un'applicazione Gradle](https://docs.gradle.org/current/samples/sample_building_java_applications.html#run_the_application).

# Configura un progetto GraalVM Native Image che utilizza AWS SDK for Java 2.x
<a name="setup-project-graalvm"></a>

Con le versioni 2.16.1 e successive, AWS SDK for Java 2.x fornisce out-of-the-box supporto per le applicazioni GraalVM Native Image. Usa l'archetipo `archetype-app-quickstart` Maven per configurare un progetto con supporto di immagini nativo integrato.

## Prerequisiti
<a name="setup-graalvmnativeimage-prereq"></a>
+ Completa i passaggi descritti in [Configurazione](setup.md) del 2.x. AWS SDK per Java 
+ Installa [GraalVM Native Image](https://www.graalvm.org/reference-manual/native-image/#install-native-image).

## Crea un progetto usando l'archetipo
<a name="setup-graalvmnativeimage-project"></a>

Per creare un progetto Maven con supporto per immagini native integrato, in un terminale o in una finestra del prompt dei comandi, usa il seguente comando.

**Nota**  
`com.example.mynativeimageapp`Sostituiscilo con lo spazio dei nomi completo del pacchetto dell'applicazione. Sostituiscilo anche `mynativeimageapp` con il nome del tuo progetto. Questo sarà il nome della directory per il progetto.

```
mvn archetype:generate \
    -DarchetypeGroupId=software.amazon.awssdk \
    -DarchetypeArtifactId=archetype-app-quickstart \
    -DarchetypeVersion=2.27.21\
    -DnativeImage=true \
    -DhttpClient=apache-client \
    -Dservice=s3 \
    -DgroupId=com.example.mynativeimageapp \
    -DartifactId=mynativeimageapp \
    -DinteractiveMode=false
```

Questo comando crea un progetto Maven configurato con dipendenze per AWS SDK per Java Amazon S3, e il `ApacheHttpClient` client HTTP. Include anche una dipendenza per il [plug-in GraalVM Native Image Maven, in modo da poter creare immagini native utilizzando Maven](https://graalvm.github.io/native-build-tools/latest/index.html).

Per includere le dipendenze per un altro servizio Amazon Web Services, imposta il valore del parametro sull'ID dell'artefatto di quel servizio. `-Dservice` Esempi includono `dynamodb`, `comprehend` e `pinpoint`. [Per un elenco completo degli elementi IDs, consulta l'elenco delle dipendenze gestite per software.amazon.awssdk su Maven Central.](https://mvnrepository.com/artifact/software.amazon.awssdk/bom/latest)

Per utilizzare un client HTTP `-DhttpClient` `netty-nio-client` asincrono, imposta il parametro su. Per utilizzarlo invece `UrlConnectionHttpClient` come client HTTP sincrono`apache-client`, imposta il parametro su. `-DhttpClient` `url-connection-client`

## Crea un'immagine nativa
<a name="build-graalvmnativeimage-project"></a>

Dopo aver creato il progetto, esegui il seguente comando dalla directory del progetto, ad esempio`mynativeimageapp`:

```
mvn package -P native-image
```

In questo modo viene creata un'applicazione di immagini nativa nella `target` directory, ad esempio`target/mynativeimageapp`.