View a markdown version of this page

PutObjectInline (API de SOAP) - Amazon Simple Storage Service

PutObjectInline (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 PutObjectInline agrega un objeto a un bucket. Los datos del objeto se proporcionan en el cuerpo del mensaje de SOAP.

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.

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.

PutObjectInline no es adecuado para su uso con objetos grandes. El sistema limita esta operación al trabajo con objetos de 1 MB o menos. PutObjectInline producirá un error con el código de estado InlineDataTooLargeError si el parámetro Datos codifica un objeto de más de 1 MB. Para cargar objetos grandes, considere la posibilidad de utilizar la API PutObject no integrada o, en su lugar, la API de REST.

ejemplo

En este ejemplo, se escriben algunos textos 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.

Sample Request

<PutObjectInline 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> <Data>aGEtaGE=</Data> <ContentLength>5</ContentLength> <AccessControlList> <Grant> <Grantee xsi:type="CanonicalUser"> <ID>a9a7b886d6fde241bf9b1c61be666e9</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>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </PutObjectInline>

Sample Response

<PutObjectInlineResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <PutObjectInlineResponse> <ETag>&quot828ef3fdfa96f00ad9f27c383fc9ac7f&quot</ETag> <LastModified>2006-01-01T12:00:00.000Z</lastModified> </PutObjectInlineResponse> </PutObjectInlineResponse>

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.

  • Data: el formulario codificado en base 64 de los datos.

  • 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

Debe tener acceso de WRITE al bucket para poder colocar objetos en él.

Activos relacionados