Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Amazon S3 prefirmado URL con la AWS SDK for PHP versión 3 - AWS SDK for PHP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Amazon S3 prefirmado URL con la AWS SDK for PHP versión 3

Puede autenticar ciertos tipos de solicitudes pasando la información requerida como parámetros de cadena de consulta en lugar de utilizar el encabezado de autorización. HTTP Esto resulta útil para permitir el acceso directo de navegadores de terceros a sus datos de Amazon S3 privados, sin enviar la solicitud por proxy. La idea es crear una solicitud «prefirmada» y codificarla para que el navegador del usuario final URL pueda recuperarla. Además, puede limitar una solicitud prefirmada especificando una fecha de vencimiento.

Los siguientes ejemplos muestran cómo:

Todo el código de ejemplo para el AWS SDK for PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus AWS credenciales, tal y como se describe enCredentials. A continuación, importe las AWS SDK for PHP, tal y como se describe enUso básico.

Crear una solicitud prefirmada

Puede obtener el prefirmado URL en un objeto de Amazon S3 mediante el Aws\S3\S3Client::createPresignedRequest() método. Este método acepta un objeto Aws\CommandInterface y una marca de tiempo caducada y devuelve un objeto Psr\Http\Message\RequestInterface prefirmado. Puede recuperar la firma previa URL del objeto mediante el getUri() método de la solicitud.

El escenario más común es crear un objeto prefirmadoURL. GET

Importaciones

use Aws\Exception\AwsException; use AwsUtilities\PrintableLineBreak; use AwsUtilities\TestableReadline; use DateTime; require 'vendor/autoload.php';

Código de muestra

$command = $s3Service->getClient()->getCommand('GetObject', [ 'Bucket' => $bucket, 'Key' => $key, ]);

Crear un prefirmado URL

Puede crear operaciones prefirmadas URLs para cualquier operación de Amazon S3 mediante el getCommand método de creación de un objeto de comando y, a continuación, llamar al createPresignedRequest() método con el comando. Cuando al final se envía la solicitud, asegúrese de utilizar el mismo método y los mismos encabezados que en la solicitud devuelta.

Código de muestra

try { $preSignedUrl = $s3Service->preSignedUrl($command, $expiration); echo "Your preSignedUrl is \n$preSignedUrl\nand will be good for the next 20 minutes.\n"; echo $linebreak; echo "Thanks for trying the Amazon S3 presigned URL demo.\n"; } catch (AwsException $exception) { echo $linebreak; echo "Something went wrong: $exception"; die(); }

Cómo llegar URL a un objeto

Si solo necesita el público URL de un objeto almacenado en un bucket de Amazon S3, puede utilizar Aws\S3\S3Client::getObjectUrl() este método. Este método devuelve un objeto sin firmar URL al bucket y la clave indicados.

Código de muestra

$preSignedUrl = $s3Service->preSignedUrl($command, $expiration);
importante

Lo que URL devuelve este método no se valida para garantizar la existencia del depósito o la clave, ni tampoco garantiza que el objeto permita el acceso no autenticado.

PrivacidadTérminos del sitioPreferencias de cookies
© 2024, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.