Red de conocimiento informático - Material del sitio web - Cómo usar Qiniu Python SDK para escribir un script de sincronización y usarlo

Cómo usar Qiniu Python SDK para escribir un script de sincronización y usarlo

El SDK de la versión en lenguaje Python de Qiniu Cloud Storage (en lo sucesivo, Python-SDK en este artículo) es una capa de encapsulación del protocolo API de Qiniu Cloud Storage para proporcionar un conjunto de herramientas que son simples y fáciles de usar. para desarrolladores de Python. Los desarrolladores de Python no necesitan comprender los detalles del protocolo API de Qiniu Cloud Storage cuando se conectan al SDK de Python. En principio, no necesitan tener un conocimiento muy profundo del protocolo y los principios HTTP. Si tienen conocimientos básicos de HTTP, pueden manejar escenarios de error de manera más eficiente.

Recientemente construí un blog estático con rebajas y quiero almacenar imágenes en la nube.

Después de investigar, sentí que Qiniu podía satisfacer mis necesidades personales, así que lo elegí.

Para cotizar una imagen, primero debes subir la imagen a la nube.

Aunque el sitio web de Qiniu puede cargar archivos en segundo plano, cada vez que los carga, primero debe iniciar sesión, luego seleccionar la imagen y configurar la dirección de conexión antes de cargarlos.

Este proceso es un poco engorroso, por lo que quería usar el SDK proporcionado por Qiniu Cloud para escribir una herramienta de sincronización para facilitar la sincronización incremental de archivos.

Cuando tengas esta idea, actúa inmediatamente. Me tomó aproximadamente una mañana escribir finalmente esta herramienta y ponerla en GitOSC y github. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 71 18119#!/usr/bin/env python#-*- codificación:utf-8 -*-## AUTHOR = "heqingpan"# AUTHOR_EMAIL = "heqingpan@126.com"# URL = "/qiniu/python- sdk?

El método de instalación puede ser el mismo que se describe en la descripción del proyecto. Por supuesto, también puede clonar el código fuente y usarlo directamente. Es muy fácil realizar algunos cambios en el SDK.

La última versión del SDK de Python requiere la biblioteca de solicitudes, por lo que debe instalarse con anticipación. Por supuesto, también puede utilizar las solicitudes de instalación de pip. p>

Entorno de desarrollo

Hay muchas opciones para el entorno de desarrollo de Python. Si le gustan los métodos de texto, como vim, emacs, texto sublime, etc., son todas buenas opciones. entonces el más popular es Too PyCharm. Descargue la última versión de PyCharm aquí

Clave de acceso y clave secreta

Sabemos que el mecanismo de verificación de permisos de Qiniu Cloud Storage se basa en un. par de claves, respectivamente, se denominan clave de acceso y clave secreta es la clave pública y la clave secreta es la clave privada.

Pruébalo

Bien, después de completar. Después de los preparativos anteriores, carguemos un archivo simple y practiquemos 1234python#coding=utf-8__author__ = 'jemy''''

Este ejemplo muestra una carga de archivo simple

En este ejemplo. , el SDK elige si cargar en modo Formulario o en partes según el tamaño del archivo.

1234567891011121314151617181920212223242526272829303132333435363738'''import qiniuaccessKey = ""secretKey = ""#ParseRet(retData, respInfo):?if retData != Ninguno:?print( "¡Cargue el archivo correctamente!"? ("Hash: " + retData["hash"])?print("Clave: " + retData["key"])?#Verifique los parámetros extendidos?para k, v en retData.items():?if k[ :2] == "x:":?print(k + ":" + v)?#¿Verificar otros parámetros?para k, v en retData.items():?if k[:2] == " x: " o k == "hash" o k == "clave":?continuar?else:?print(k + ":" + str(v))?else:?print("¡Error al cargar el archivo!") ?print ("Error: " + respInfo.text_body)#Cargar sin clave, el parámetro clave no está especificado en la solicitud http def upload_ without_key(bucket, filePath):?#Generar credenciales de carga?auth = qiniu.Auth(accessKey, secretKey)? upToken = auth.upload_token(bucket, key=Ninguno)?#¿Cargar archivo?retData, respInfo = qiniu.put_file(upToken, Ninguno, filePath)?#Analizar resultado?parseRet(retData, respInfo)def main():?bucket = " if-pbl"?filePath = "/Users/jemy/Documents/jemy.png"?upload_ without_key(bucket, filePath)if __name__ == "__main__":?main()

El resultado de la ejecución es :

¡Carga del archivo exitosa!

Hash: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8

Clave: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8

De lo anterior podemos ver que usando el SDK de Python de Qiniu Los pasos más básicos para cargar archivos son:

1. Generar credenciales de carga

2. Cargar archivos

3.