En esta página, se muestra cómo subir objetos a tu bucket de Cloud Storage. Un objeto subido consiste en los datos que deseas almacenar junto con metadatos asociados. Para obtener una descripción general conceptual, incluido cómo elegir el método de carga óptimo en función del tamaño del archivo, consulta Cargas y descargas.
Requisitos previos
Los requisitos previos pueden variar según la herramienta que se use:
Consola
Para completar esta guía con Google Cloud Console, debes tener los permisos de IAM adecuados. Si el bucket que deseas subir existe en un proyecto que no creaste, tal vez necesites que el propietario del proyecto te otorgue un rol con los permisos necesarios.
A fin de obtener una lista de los permisos necesarios para acciones específicas, consulta Permisos de IAM para Google Cloud Console.
Para obtener una lista de los roles relevantes, consulta Funciones de Cloud Storage. Como alternativa, puedes crear un rol personalizado que tenga permisos más limitados.
Línea de comandos
Para completar esta guía con una utilidad de línea de comandos, debes tener los permisos de IAM adecuados. Si el bucket en el que deseas realizar la carga existe en un proyecto que no creaste, tal vez necesites que el propietario del proyecto te otorgue un rol con los permisos necesarios.
Si deseas obtener una lista de los permisos necesarios para acciones específicas, consulta Permisos de IAM para los comandos de gsutil.
Para obtener una lista de los roles relevantes, consulta Funciones de Cloud Storage. Como alternativa, puedes crear un rol personalizado que tenga permisos más limitados.
Muestras de código
Para completar esta guía con las bibliotecas cliente de Cloud Storage, debes tener los permisos de IAM adecuados. Si el bucket que deseas subir existe en un proyecto que no creaste, tal vez necesites que el propietario del proyecto te otorgue un rol con los permisos necesarios. A menos que se indique lo contrario, las solicitudes de la biblioteca cliente se realizan mediante la API de JSON.
Si deseas obtener una lista de los permisos necesarios para acciones específicas, consulta Permisos de IAM para métodos JSON.
Para obtener una lista de los roles relevantes, consulta Funciones de Cloud Storage. Como alternativa, puedes crear un rol personalizado que tenga permisos más limitados.
API de REST
API de JSON
Para completar esta guía con la API de JSON, debes tener los permisos de IAM adecuados. Si el bucket que deseas subir existe en un proyecto que no creaste, tal vez necesites que el propietario del proyecto te otorgue un rol con los permisos necesarios.
Si deseas obtener una lista de los permisos necesarios para acciones específicas, consulta Permisos de IAM para métodos JSON.
Para obtener una lista de los roles relevantes, consulta Funciones de Cloud Storage. Como alternativa, puedes crear un rol personalizado que tenga permisos más limitados.
Sube un objeto a un bucket
Sigue los pasos a continuación para subir un objeto a un bucket:
Console
- En Google Cloud Console, ve a la página Navegador de Cloud Storage.
En la lista de bucket s, haz clic en el nombre del bucket en el que deseas subir un objeto.
En la pestaña Objetos para el depósito, realiza una de estas dos acciones:
Arrastra y suelta los archivos deseados desde tu escritorio o administrador de archivos en el panel principal de la consola de Google Cloud.
Haz clic en el botón Subir archivos, selecciona los archivos que deseas subir en el cuadro de diálogo que aparece y haz clic en Abrir.
Para aprender a obtener información detallada sobre errores en las operaciones fallidas en el navegador de Cloud Storage, consulta Solución de problemas.
Línea de comandos
Usa el comando gsutil cp
:
gsutil cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME/
Donde:
OBJECT_LOCATION
es la ruta de acceso local a tu objeto. Por ejemplo,Desktop/dog.png
.DESTINATION_BUCKET_NAME
es el nombre del bucket al que subes el objeto. Por ejemplo,my-bucket
.
Si es correcto, la respuesta se parece al siguiente ejemplo:
Operation completed over 1 objects/58.8 KiB.
Puedes configurar metadatos de objetos de clave fija y personalizados como parte de la carga de tu objeto en los encabezados de la solicitud mediante la opción global -h
.
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
En el siguiente ejemplo, se sube un objeto de un archivo:
En el siguiente ejemplo, se sube un objeto de la memoria:
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
En el siguiente ejemplo, se sube un objeto de un archivo:
En el siguiente ejemplo, se sube un objeto de la memoria:
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
En el siguiente ejemplo, se sube un objeto de un archivo:
En el siguiente ejemplo, se sube un objeto de la memoria:
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
En el siguiente ejemplo, se sube un objeto de un archivo:
En el siguiente ejemplo, se sube un objeto de la memoria:
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
En el siguiente ejemplo, se sube un objeto de un archivo:
En el siguiente ejemplo, se sube un objeto de la memoria:
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
En el siguiente ejemplo, se sube un objeto de un archivo:
En el siguiente ejemplo, se sube un objeto de la memoria:
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
En el siguiente ejemplo, se sube un objeto de un archivo:
En el siguiente ejemplo, se sube un objeto de la memoria:
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
En el siguiente ejemplo, se sube un objeto de un archivo:
En el siguiente ejemplo, se sube un objeto de la memoria:
Terraform
Puedes usar un recurso de Terraform para subir un objeto.
Se debe especificar content
o source
(también puedes especificar ambos).
API de REST
API de JSON
Carga de una sola solicitud sin metadatos de objeto
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa
cURL
para llamar a la API de JSON con una solicitud de objetoPOST
:curl -X POST --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
Donde:
OBJECT_LOCATION
es la ruta de acceso local a tu objeto. Por ejemplo,Desktop/dog.png
.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.OBJECT_CONTENT_TYPE
es el tipo de contenido del objeto. Por ejemplo,image/png
.BUCKET_NAME
es el nombre del bucket al que subes el objeto. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado en URL que deseas darle a tu objeto. Por ejemplo,pets/dog.png
, codificado en URL comopets%2Fdog.png
.
Carga de una sola solicitud que incluye metadatos de objeto
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Crea un archivo
multipart/related
que contenga la siguiente información:--BOUNDARY_STRING Content-Type: application/json; charset=UTF-8 OBJECT_METADATA --BOUNDARY_STRING Content-Type: OBJECT_CONTENT_TYPE OBJECT_DATA --BOUNDARY_STRING--
Donde:
BOUNDARY_STRING
es una string que defines para identificar las diferentes partes del archivo de varias partes. Por ejemplo,my-boundary
.OBJECT_METADATA
son metadatos que deseas incluir para el archivo, en formato JSON. Como mínimo, esta sección debe incluir un atributoname
para el objeto, por ejemplo{"name": "myObject"}
.OBJECT_CONTENT_TYPE
es el tipo de contenido del objeto. Por ejemplo,image/png
.OBJECT_DATA
son los datos del objeto.
Usa
cURL
para llamar a la API de JSON con una solicitud de objetoPOST
:curl -X POST --data-binary @MULTIPART_FILE_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: multipart/related; boundary=BOUNDARY_STRING" \ -H "Content-Length: MULTIPART_FILE_SIZE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=multipart"
Donde:
MULTIPART_FILE_LOCATION
es la ruta local al archivo multiparte que creaste en el paso 2. Por ejemplo,Desktop/my-upload.multipart
.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BOUNDARY_STRING
es la string de límite que definiste en el paso 2. Por ejemplo,my-boundary
.MULTIPART_FILE_SIZE
es el tamaño total, en bytes, del archivo de varias partes que creaste en el paso 2. Por ejemplo,2000000
.BUCKET_NAME
es el nombre del bucket al que subes el objeto. Por ejemplo,my-bucket
.
Si la solicitud se realiza correctamente, el servidor muestra el código de estado HTTP 200 OK
junto con los metadatos del archivo.
API de XML
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa
cURL
para llamar a la API de XML con una solicitud de objetoPUT
:curl -X PUT --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Donde:
OBJECT_LOCATION
es la ruta de acceso local a tu objeto. Por ejemplo,Desktop/dog.png
.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.OBJECT_CONTENT_TYPE
es el tipo de contenido del objeto. Por ejemplo,image/png
.BUCKET_NAME
es el nombre del bucket al que subes el objeto. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado en URL que deseas darle a tu objeto. Por ejemplo,pets/dog.png
, codificado en URL comopets%2Fdog.png
.
Puedes configurar metadatos de objeto adicionales como parte de la carga del objeto en los encabezados de la solicitud, de la misma manera que el ejemplo anterior configura Content-Type
. Cuando trabajas con la API de XML, los metadatos solo pueden configurarse en el momento en que se escribe el objeto, como cuando se lo sube, copia o reemplaza. Para obtener más información, consulta Edita los metadatos de objetos.
¿Qué sigue?
- Obtén más información sobre cómo nombrar nombres para objetos.
- Transfiere objetos desde tu instancia de Compute Engine.
- Transfiere datos desde proveedores de servicios en la nube o desde otras fuentes en línea, como listas de URL.
- Controla quién tiene acceso a tus objetos y buckets.
- Visualiza los metadatos de tu objeto, incluida la URL del objeto.
Pruébalo tú mismo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Storage en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Probar Cloud Storage gratis