

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

# Pubblicazione con curl
<a name="maven-curl"></a>

Questa sezione mostra come utilizzare il client HTTP per `curl` pubblicare artefatti Maven in un repository. CodeArtifact La pubblicazione di artefatti con `curl` può essere utile se non si dispone o non si desidera installare il client Maven nei propri ambienti.

**Pubblica un artefatto Maven con `curl`**

1. Recupera un token di CodeArtifact autorizzazione seguendo i passaggi indicati [Passa un token di autenticazione utilizzando una variabile di ambiente](tokens-authentication.md#env-var) e torna a questi passaggi.

1. Usa il seguente `curl` comando per pubblicare il JAR in un CodeArtifact repository:

   In ciascuno dei `curl` comandi di questa procedura, sostituite i seguenti segnaposto:
   + Sostituiscilo *my\$1domain* con il tuo CodeArtifact nome di dominio.
   + Sostituiscilo *111122223333* con l'ID del proprietario del tuo CodeArtifact dominio.
   + Sostituiscilo *us-west-2* con la regione in cui si trova il tuo CodeArtifact dominio.
   + *my\$1repo*Sostituiscilo con il nome CodeArtifact del tuo repository.

   ```
   curl --request PUT https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/1.0/my-app-1.0.jar \
        --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \
        --data-binary @my-app-1.0.jar
   ```
**Importante**  
È necessario anteporre un `@` carattere al valore del `--data-binary` parametro. Quando si inserisce il valore tra virgolette, `@` deve essere incluso tra virgolette.

1. Utilizzate il seguente `curl` comando per pubblicare il POM in un repository: CodeArtifact 

   ```
   curl --request PUT https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/1.0/my-app-1.0.pom \
        --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \
        --data-binary @my-app-1.0.pom
   ```

1. A questo punto, l'artefatto Maven si troverà nel tuo CodeArtifact repository con uno stato di. `Unfinished` Per poter consumare il pacchetto, deve trovarsi nello stato. `Published` Puoi spostare il pacchetto da `Unfinished` a `Published` caricando un `maven-metadata.xml` file sul pacchetto o chiamando l'[UpdatePackageVersionsStatus API](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_UpdatePackageVersionsStatus.html) per modificare lo stato.

   1.  Opzione 1: utilizza il seguente `curl` comando per aggiungere un `maven-metadata.xml` file al pacchetto: 

      ```
      curl --request PUT https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/my_repo/com/mycompany/app/my-app/maven-metadata.xml \
           --user "aws:$CODEARTIFACT_AUTH_TOKEN" --header "Content-Type: application/octet-stream" \
           --data-binary @maven-metadata.xml
      ```

      Di seguito è riportato un esempio del contenuto di un `maven-metadata.xml` file:

      ```
      <metadata modelVersion="1.1.0">
          <groupId>com.mycompany.app</groupId>
          <artifactId>my-app</artifactId>
          <versioning>
              <latest>1.0</latest>
              <release>1.0</release>
              <versions>
                  <version>1.0</version>
              </versions>
              <lastUpdated>20200731090423</lastUpdated>
          </versioning>
      </metadata>
      ```

   1.  Opzione 2: aggiorna lo stato del pacchetto `Published` con l'`UpdatePackageVersionsStatus`API. 

      ```
      aws codeartifact update-package-versions-status \
          --domain my_domain \
          --domain-owner 111122223333 \
          --repository my_repo \
          --format maven \
          --namespace com.mycompany.app \
          --package my-app \
          --versions 1.0 \
          --target-status Published
      ```

Se disponi solo del file JAR di un artefatto, puoi pubblicare una versione del pacchetto consumabile in un CodeArtifact repository utilizzando. `mvn` Questo può essere utile se non avete accesso al codice sorgente o al POM dell'artefatto. Per informazioni dettagliate, vedi [Pubblica artefatti di terze parti](maven-mvn.md#publishing-third-party-artifacts).