En esta página, se muestra cómo subir objetos a tu bucket de Cloud Storage desde tu sistema de archivos local. Un objeto subido consiste en los datos que deseas almacenar junto con los 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.
Para obtener instrucciones sobre cómo subir objetos desde la memoria, consulta Sube objetos desde la memoria.
Permisos necesarios
Consola
Para completar esta guía con la consola de Google Cloud, 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 la consola de Google Cloud.
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.
Bibliotecas cliente
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 y requieren permisos, como se indica en Permisos de IAM para métodos de JSON. Para ver qué métodos de la API de JSON se invocan cuando realizas solicitudes mediante una biblioteca cliente, registra las solicitudes sin procesar.
Para obtener una lista de los roles de IAM relevantes, consulta Roles 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 la consola de Google Cloud, ve a la página Buckets 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 obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
gcloud
Usa el comando gcloud storage cp
:
gcloud storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME/
Aquí:
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:
Completed files 1/1 | 164.3kiB/164.3kiB
Puedes configurar metadatos de objetos de clave fija y personalizada como parte de la carga de objetos mediante marcas de comandos.
gsutil
Usa el comando gsutil cp
:
gsutil cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME/
Aquí:
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
.
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
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
La API de JSON distingue entre las cargas de contenido multimedia, en las que solo se incluyen datos de objetos en la solicitud, y las cargas de varias partes de la API de JSON, en las que los datos de objeto y los metadatos de objeto se incluyen en la solicitud.
Carga de contenido multimedia (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 varias partes de la API de JSON (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