

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

# Condivisione di oggetti con presigned URLs
<a name="ShareObjectPreSignedURL"></a>

Per impostazione predefinita, tutti gli oggetti di Amazon S3 sono privati, solo il proprietario dell'oggetto dispone dell'autorizzazione per accedere agli oggetti di Amazon S3. Tuttavia, il proprietario dell'oggetto può condividere oggetti con altri creando un URL prefirmato. Un URL prefirmato utilizza le credenziali di sicurezza per concedere un'autorizzazione limitata nel tempo per scaricare oggetti. L'URL può essere inserito in un browser o utilizzato da un programma per scaricare l'oggetto. Le credenziali utilizzate dall'URL predefinito sono quelle dell' AWS utente che ha generato l'URL.

Per informazioni generali sulle impostazioni predefinite, vedere. URLs [Scarica e carica oggetti con presigned URLs](using-presigned-url.md)

Puoi creare un URL predefinito per condividere un oggetto senza scrivere alcun codice utilizzando la console Amazon S3 AWS , Explorer for Visual Studio (Windows) o. AWS Toolkit for Visual Studio Code Puoi anche generare un URL predefinito a livello di codice utilizzando () o. AWS Command Line Interface AWS CLI AWS SDKs

## Utilizzo della console S3
<a name="generating-presigned-url"></a>

 Puoi utilizzare la console Amazon S3 per generare un URL predefinito per la condivisione di un oggetto fino a 5 TB seguendo questi passaggi. Nella console, il tempo massimo di scadenza per un URL prefirmato è di 12 ore dal momento della creazione.

**Generazione di un URL prefirmato utilizzando la console di Amazon S3**

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione sinistro, scegli **Bucket per uso generico**.

1. Nell’elenco **Bucket per uso generico** scegli il nome del bucket per uso generico contenente l’oggetto per cui desideri ottenere un URL prefirmato.

1. Nell'elenco **Objects (Oggetti)**, seleziona l'oggetto per cui desideri creare un URL prefirmato.

1. Nel menu **Operazioni oggetti**, scegli **Crea URL prefirmato**.

1. Specifica per quanto tempo desideri che l'URL prefirmato sia valido.

1. Scegli **Create presigned URL** (Crea URL prefirmato).

1. Quando viene visualizzata la conferma, l'URL viene automaticamente copiato negli appunti. Verrà visualizzato un pulsante per copiare l'URL preimpostato qualora fosse necessario copiarlo di nuovo.

## Usando il AWS CLI
<a name="ShareObjectPresignedCLI"></a>

Il seguente AWS CLI comando di esempio genera un URL predefinito per la condivisione di un oggetto da un bucket Amazon S3. Quando utilizzi il AWS CLI, il tempo di scadenza massimo per un URL predefinito è di 7 giorni dal momento della creazione. Per utilizzare questo esempio, sostituisci *`user input placeholders`* con le informazioni appropriate.

```
aws s3 presign s3://amzn-s3-demo-bucket/mydoc.txt --expires-in 604800
```

Il parametro `--expires-in` specifica il tempo di scadenza in secondi.



**Nota**  
Per tutti Regioni AWS quelli lanciati dopo il 20 marzo 2019 è necessario specificare l'`endpoint-url`e `Regione AWS` con la richiesta. Per un elenco degli endpoint e delle Regioni Amazon S3 disponibili, consulta [Regioni ed endpoint](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in *Riferimenti generali AWS *.

```
aws s3 presign s3://amzn-s3-demo-bucket/mydoc.txt --expires-in 604800 --region af-south-1 --endpoint-url https://s3.af-south-1.amazonaws.com
```



Per ulteriori informazioni, consulta [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/presign.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/presign.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

## Usando il AWS SDKs
<a name="ShareObjectPreSignedURLSDK"></a>

È possibile generare un URL predefinito a livello di codice utilizzando. AWS SDKs

------
#### [ Python ]

 Il seguente script Python genera un URL prefirmato `GET` per la condivisione di un oggetto.

1. Copia il contenuto dello script e salvalo come file «»*get-only-url.py*. Per utilizzare gli esempi seguenti, *user input placeholders* sostituiscili con le tue informazioni (come il nome del file). 

   ```
   import argparse
   import boto3
   from botocore.exceptions import ClientError
   
   def generate_presigned_url(s3_client, client_method, method_parameters, expires_in):
       """
       Generate a presigned Amazon S3 URL that can be used to perform an action.
       
       :param s3_client: A Boto3 Amazon S3 client.
       :param client_method: The name of the client method that the URL performs.
       :param method_parameters: The parameters of the specified client method.
       :param expires_in: The number of seconds the presigned URL is valid for.
       :return: The presigned URL.
       """
       try:
           url = s3_client.generate_presigned_url(
               ClientMethod=client_method,
               Params=method_parameters,
               ExpiresIn=expires_in
           )
       except ClientError:
           print(f"Couldn't get a presigned URL for client method '{client_method}'.")
           raise
       return url
   
   def main():
       parser = argparse.ArgumentParser()
       parser.add_argument("bucket", help="The name of the bucket.")
       parser.add_argument(
           "key", help="The key (path and filename) in the S3 bucket.",
       )
       args = parser.parse_args()
       
       # By default, this will use credentials from ~/.aws/credentials
       s3_client = boto3.client("s3")
       
       # The presigned URL is specified to expire in 1000 seconds
       url = generate_presigned_url(
           s3_client, 
           "get_object", 
           {"Bucket": args.bucket, "Key": args.key}, 
           1000
       )
       print(f"Generated GET presigned URL: {url}")
   
   if __name__ == "__main__":
       main()
   ```

1. Per generare un URL prefirmato `GET` per la condivisione di un file, esegui lo script seguente con il nome del bucket e il percorso dell’oggetto desiderato. 

    Il seguente comando utilizza valori di esempio. Sostituisci *user input placeholders* con le informazioni appropriate.

   ```
   python get-only-url.py amzn-s3-demo-bucket <object-path>
   ```

   Lo script produrrà un URL prefirmato `GET`:

   ```
   Generated GET presigned URL: https://amzn-s3-demo-bucket.s3.amazonaws.com/object.txt?AWS AccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496
   ```

1. È possibile scaricare il file utilizzando l’URL prefirmato generato con curl:

   ```
   curl -X GET "generated-presigned-url" -o "path/to/save/file" 
   ```

Per altri esempi di utilizzo di AWS SDKs per generare un URL predefinito per la condivisione di un oggetto, consulta [Creare un URL predefinito per Amazon S3 utilizzando](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_Scenario_PresignedUrl_section.html) un SDK. AWS 

**Nota**  
Per tutti i Regioni AWS prodotti lanciati dopo il 20 marzo 2019 è necessario specificare l'`endpoint-url`e `Regione AWS` con la richiesta. Per un elenco degli endpoint e delle Regioni Amazon S3 disponibili, consulta [Regioni ed endpoint](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in *Riferimenti generali AWS *.

**Nota**  
Quando si utilizza AWS SDKs, l'attributo Tagging deve essere un'intestazione e non un parametro di query. Tutti gli altri attributi possono essere passati come parametri per l'URL prefirmato. 

------

## Utilizzo di AWS Toolkit for Visual Studio (Windows)
<a name="ShareObjectPreSignedURLVSExplorer"></a>

**Nota**  
Al momento, non AWS Toolkit for Visual Studio supporta Visual Studio per Mac.

1. Installa AWS Toolkit for Visual Studio utilizzando le seguenti istruzioni, [Installazione e configurazione del Toolkit for Visual](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/setup.html) Studio nella Guida per *AWS Toolkit for Visual Studio l'utente*.

1. Effettuare la connessione AWS utilizzando i seguenti passaggi, [Connessione a AWS](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/connect.html) nella *Guida per AWS Toolkit for Visual Studio l'utente*.

1. Nel pannello laterale sinistro di **AWS Explorer**, fai doppio clic sul bucket contenente l'oggetto.

1. Fai clic con il tasto destro del mouse sull'oggetto per cui desideri generare un URL prefirmato e seleziona **Crea URL prefirmato...**

1. Nella finestra a comparsa, imposta la data e l'ora di scadenza dell'URL prefirmato.

1. La **Chiave dell'oggetto** dovrebbe essere precompilata in base all'oggetto selezionato.

1. Scegli **GET** per specificare che questo URL prefirmato verrà utilizzato per scaricare un oggetto.

1. Scegli il pulsante **Genera**.

1. Per copiare l’URL negli appunti, scegliere **Copia**.

1. Per utilizzare l'URL generato, incolla l'URL in un qualsiasi browser.

## Usando AWS Toolkit for Visual Studio Code
<a name="ShareObjectPreSignedURLVSCode"></a>

Se utilizzi Visual Studio Code, puoi generare un URL prefirmato per condividere un oggetto senza scrivere codice tramite  AWS Toolkit for Visual Studio Code. Per ulteriori informazioni, consulta [AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html) nella *Guida per l'utente di AWS Toolkit for Visual Studio Code *. 

Per istruzioni su come installare AWS Toolkit for Visual Studio Code, vedere [Installazione di AWS Toolkit for Visual Studio Code nella](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html) *Guida per l'AWS Toolkit for Visual Studio Code utente*.

1. Effettuare la connessione AWS utilizzando i seguenti passaggi, [Connessione a AWS Toolkit for Visual Studio Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/connect.html) nella *Guida per AWS Toolkit for Visual Studio Code l'utente*.

1. Seleziona il AWS logo nel pannello di sinistra in Visual Studio Code.

1. In **EXPLORER**, seleziona **S3**.

1. Scegli un bucket e un file e apri il menu contestuale (tasto destro del mouse).

1. Scegli **Genera URL prefirmato**, quindi imposta l'ora di scadenza (in minuti).

1. Premi Invio e l'URL prefirmato verrà copiato negli appunti.