View a markdown version of this page

PutObject (API de SOAP) - Amazon Simple Storage Service

PutObject (API de SOAP)

nota

Las API de SOAP para Amazon S3 no están disponibles para nuevos clientes y se acercan al fin de la vida útil (EOL) el 31 de agosto de 2025. Le recomendamos que utilice la API de REST o los SDK de AWS.

La operación PutObject agrega un objeto a un bucket. Los datos del objeto se adjuntan como un archivo adjunto DIME.

Para garantizar que un objeto no esté dañado en la red, puede calcular el MD5 de un objeto, colocarlo en Amazon S3 y comparar la Etag devuelta con el valor de MD5 calculado.

Si un objeto ya existe en un bucket, el nuevo objeto lo sobrescribirá porque Amazon S3 almacena la última solicitud de escritura. Sin embargo, Amazon S3 es un sistema distribuido. Si Amazon S3 recibe varias solicitudes de escritura para el mismo objeto casi simultáneamente, es posible que todos los objetos se almacenen, aunque al final solo uno de ellos gane. Amazon S3 no proporciona bloqueo de objetos; si lo necesita, asegúrese de integrarlo en la capa de aplicación.

ejemplo

En este ejemplo, se ponen algunos datos y metadatos en el objeto “Nelson” del bucket “quotes”, se proporciona a un usuario (normalmente el propietario) acceso de FULL_CONTROL al objeto y se permite que partes anónimas puedan leer el objeto. En este ejemplo, no se muestra el archivo adjunto real.

Sample Request

<PutObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Key>Nelson</Key> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <ContentLength>5</ContentLength> <AccessControlList> <Grant> <Grantee xsi:type="CanonicalUser"> <ID>a9a7b886d6241bf9b1c61be666e9</ID> <DisplayName>chriscustomer</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant> <Grantee xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers<URI> </Grantee> <Permission>READ</Permission> </Grant> </AccessControlList> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2007-05-11T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </PutObject>

Sample Response

<PutObjectResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <PutObjectResponse> <ETag>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> <LastModified>2006-03-01T12:00:00.183Z</LastModified> </PutObjectResponse> </PutObjectResponse>

Elementos

  • Bucket: el bucket en el que se va a agregar el objeto.

  • Key: la clave que se va a asignar al objeto.

  • Metadata: puede proporcionar pares de metadatos nombre-valor en el elemento de metadatos. Estos se almacenarán con el objeto.

  • ContentLength: la longitud de los datos en bytes.

  • AccessControlList: una lista de control de acceso para el recurso. Este elemento es opcional. Si se omite, el solicitante tiene acceso de FULL_CONTROL al objeto. Si el objeto ya existe, se reemplaza la política de control de acceso preexistente.

Respuestas

  • ETag: la etiqueta de entidad es un hash MD5 del objeto que se puede utilizar para realizar recuperaciones condicionales del objeto mediante GetObjectExtended. La ETag solo refleja los cambios en el contenido de un objeto, no en los metadatos.

  • LastModified: la marca temporal de Amazon S3 del objeto guardado.

Control de acceso

Para colocar objetos en un bucket, debe tener acceso de WRITE al bucket.

Activos relacionados