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\".

Caricamento di oggetti con presigned URLs

Modalità Focus
Caricamento di oggetti con presigned URLs - Amazon Simple Storage Service

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

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

Puoi usare presigned URLs per consentire a qualcuno di caricare un oggetto nel tuo bucket Amazon S3. L'utilizzo di un URL predefinito consentirà il caricamento senza richiedere a terzi di disporre di credenziali o autorizzazioni di AWS sicurezza. Le funzionalità dell'URL prefirmato sono limitate dalle autorizzazioni dell'utente che lo ha creato. In altre parole, se si riceve un URL prefirmato per caricare un oggetto, è possibile caricarlo solo se il creatore dell'URL dispone delle autorizzazioni necessarie per caricare tale oggetto.

Quando carichi un oggetto nel bucket utilizzando l'URL, Amazon S3 crea l'oggetto in un bucket specifico. Se nel bucket esiste già un oggetto con la stessa chiave specificata nell'URL prefirmato, Amazon S3 sostituisce l'oggetto esistente con l'oggetto caricato. Dopo il caricamento, il proprietario del bucket sarà il proprietario dell'oggetto.

Per informazioni generali sulle impostazioni predefinite URLs, vedere. Scarica e carica oggetti con presigned URLs

Genera un URL prefirmato per un oggetto senza scrivere alcun codice mediante AWS Explorer per Visual Studio. È inoltre possibile generare un URL predefinito a livello di codice utilizzando. AWS SDKs

Nota

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

  1. Installa AWS Toolkit for Visual Studio utilizzando le seguenti istruzioni, Installazione e configurazione del Toolkit for Visual Studio nella Guida per AWS Toolkit for Visual Studio l'utente.

  2. Effettuare la connessione AWS utilizzando i seguenti passaggi, Connessione a AWS nella Guida per AWS Toolkit for Visual Studio l'utente.

  3. Nel pannello laterale sinistro di AWS Explorer, fai clic con il pulsante destro del mouse sul bucket in cui si desidera caricare un oggetto.

  4. Scegli Crea URL prefirmato...

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

  6. Per Chiave dell'oggetto, imposta il nome del file da caricare. Il file che si sta caricando deve corrispondere esattamente a questo nome. Se nel bucket esiste già un oggetto con la stessa chiave dell'oggetto, Amazon S3 sostituirà l'oggetto esistente con quello appena caricato.

  7. Scegli PUT per specificare che questo URL prefirmato verrà utilizzato per caricare un oggetto.

  8. Scegli il pulsante Genera.

  9. Per copiare l’URL negli appunti, scegliere Copia.

  10. Per utilizzare questo URL, puoi inviare una richiesta PUT con il comando curl. Includi il percorso completo del file e l'URL prefirmato stesso.

    curl -X PUT -T "/path/to/file" "presigned URL"

  1. Installa AWS Toolkit for Visual Studio utilizzando le seguenti istruzioni, Installazione e configurazione del Toolkit for Visual Studio nella Guida per AWS Toolkit for Visual Studio l'utente.

  2. Effettuare la connessione AWS utilizzando i seguenti passaggi, Connessione a AWS nella Guida per AWS Toolkit for Visual Studio l'utente.

  3. Nel pannello laterale sinistro di AWS Explorer, fai clic con il pulsante destro del mouse sul bucket in cui si desidera caricare un oggetto.

  4. Scegli Crea URL prefirmato...

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

  6. Per Chiave dell'oggetto, imposta il nome del file da caricare. Il file che si sta caricando deve corrispondere esattamente a questo nome. Se nel bucket esiste già un oggetto con la stessa chiave dell'oggetto, Amazon S3 sostituirà l'oggetto esistente con quello appena caricato.

  7. Scegli PUT per specificare che questo URL prefirmato verrà utilizzato per caricare un oggetto.

  8. Scegli il pulsante Genera.

  9. Per copiare l’URL negli appunti, scegliere Copia.

  10. Per utilizzare questo URL, puoi inviare una richiesta PUT con il comando curl. Includi il percorso completo del file e l'URL prefirmato stesso.

    curl -X PUT -T "/path/to/file" "presigned URL"

Puoi generare un URL predefinito in grado di eseguire un'azione S3 per un periodo di tempo limitato.

Nota

Se si utilizza la AWS CLI o AWS SDKs, il tempo di scadenza per presigned URLs può essere impostato fino a 7 giorni. Per ulteriori informazioni, consulta Data di scadenza per i predefiniti. URLs

Python

Il seguente script Python genera un URL PUT predefinito per caricare un oggetto in un bucket generico S3.

  1. Copia il contenuto dello script e salvalo come file «». put-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, "put_object", {"Bucket": args.bucket, "Key": args.key}, 1000 ) print(f"Generated PUT presigned URL: {url}") if __name__ == "__main__": main()
  2. Per generare un URL PUT predefinito per il caricamento di un file, esegui lo script seguente con il nome del bucket e il percorso dell'oggetto desiderato.

    Il comando seguente utilizza valori di esempio. Sostituire user input placeholders con le proprie informazioni.

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

    Lo script produrrà un URL PUT predefinito:

    Generated PUT presigned URL: https://amzn-s3-demo-bucket.s3.amazonaws.com/object.txt?AWS AccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496
  3. Ora puoi caricare il file utilizzando l'URL prefirmato generato con curl:

    curl -X PUT -T "path/to/your/local/file" "generated-presigned-url"

Per altri esempi di utilizzo di AWS SDKs per generare un URL predefinito per il caricamento di un oggetto, consulta Creare un URL predefinito per Amazon S3 utilizzando un SDK. AWS

Puoi generare un URL predefinito in grado di eseguire un'azione S3 per un periodo di tempo limitato.

Nota

Se si utilizza la AWS CLI o AWS SDKs, il tempo di scadenza per presigned URLs può essere impostato fino a 7 giorni. Per ulteriori informazioni, consulta Data di scadenza per i predefiniti. URLs

Python

Il seguente script Python genera un URL PUT predefinito per caricare un oggetto in un bucket generico S3.

  1. Copia il contenuto dello script e salvalo come file «». put-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, "put_object", {"Bucket": args.bucket, "Key": args.key}, 1000 ) print(f"Generated PUT presigned URL: {url}") if __name__ == "__main__": main()
  2. Per generare un URL PUT predefinito per il caricamento di un file, esegui lo script seguente con il nome del bucket e il percorso dell'oggetto desiderato.

    Il comando seguente utilizza valori di esempio. Sostituire user input placeholders con le proprie informazioni.

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

    Lo script produrrà un URL PUT predefinito:

    Generated PUT presigned URL: https://amzn-s3-demo-bucket.s3.amazonaws.com/object.txt?AWS AccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496
  3. Ora puoi caricare il file utilizzando l'URL prefirmato generato con curl:

    curl -X PUT -T "path/to/your/local/file" "generated-presigned-url"

Per altri esempi di utilizzo di AWS SDKs per generare un URL predefinito per il caricamento di un oggetto, consulta Creare un URL predefinito per Amazon S3 utilizzando un SDK. AWS

Il seguente script Python genera un URL PUT predefinito per caricare un oggetto in un bucket generico S3.

  1. Copia il contenuto dello script e salvalo come file «». put-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, "put_object", {"Bucket": args.bucket, "Key": args.key}, 1000 ) print(f"Generated PUT presigned URL: {url}") if __name__ == "__main__": main()
  2. Per generare un URL PUT predefinito per il caricamento di un file, esegui lo script seguente con il nome del bucket e il percorso dell'oggetto desiderato.

    Il comando seguente utilizza valori di esempio. Sostituire user input placeholders con le proprie informazioni.

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

    Lo script produrrà un URL PUT predefinito:

    Generated PUT presigned URL: https://amzn-s3-demo-bucket.s3.amazonaws.com/object.txt?AWS AccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496
  3. Ora puoi caricare il file utilizzando l'URL prefirmato generato con curl:

    curl -X PUT -T "path/to/your/local/file" "generated-presigned-url"

Per altri esempi di utilizzo di AWS SDKs per generare un URL predefinito per il caricamento di un oggetto, consulta Creare un URL predefinito per Amazon S3 utilizzando un SDK. AWS

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