Co-authored-by: owen <owen@owen.hawk-toad.ts.net>tags/0.6.7
| ALIYUN_OSS_ACCESS_KEY=your-access-key | ALIYUN_OSS_ACCESS_KEY=your-access-key | ||||
| ALIYUN_OSS_SECRET_KEY=your-secret-key | ALIYUN_OSS_SECRET_KEY=your-secret-key | ||||
| ALIYUN_OSS_ENDPOINT=your-endpoint | ALIYUN_OSS_ENDPOINT=your-endpoint | ||||
| ALIYUN_OSS_AUTH_VERSION=v1 | |||||
| ALIYUN_OSS_REGION=your-region | |||||
| # Google Storage configuration | # Google Storage configuration | ||||
| GOOGLE_STORAGE_BUCKET_NAME=yout-bucket-name | GOOGLE_STORAGE_BUCKET_NAME=yout-bucket-name | ||||
| GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON=your-google-service-account-json-base64-string | GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON=your-google-service-account-json-base64-string |
| self.ALIYUN_OSS_ACCESS_KEY=get_env('ALIYUN_OSS_ACCESS_KEY') | self.ALIYUN_OSS_ACCESS_KEY=get_env('ALIYUN_OSS_ACCESS_KEY') | ||||
| self.ALIYUN_OSS_SECRET_KEY=get_env('ALIYUN_OSS_SECRET_KEY') | self.ALIYUN_OSS_SECRET_KEY=get_env('ALIYUN_OSS_SECRET_KEY') | ||||
| self.ALIYUN_OSS_ENDPOINT=get_env('ALIYUN_OSS_ENDPOINT') | self.ALIYUN_OSS_ENDPOINT=get_env('ALIYUN_OSS_ENDPOINT') | ||||
| self.ALIYUN_OSS_REGION=get_env('ALIYUN_OSS_REGION') | |||||
| self.ALIYUN_OSS_AUTH_VERSION=get_env('ALIYUN_OSS_AUTH_VERSION') | |||||
| self.GOOGLE_STORAGE_BUCKET_NAME = get_env('GOOGLE_STORAGE_BUCKET_NAME') | self.GOOGLE_STORAGE_BUCKET_NAME = get_env('GOOGLE_STORAGE_BUCKET_NAME') | ||||
| self.GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64 = get_env('GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64') | self.GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64 = get_env('GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64') | ||||
| def __init__(self, app: Flask): | def __init__(self, app: Flask): | ||||
| super().__init__(app) | super().__init__(app) | ||||
| app_config = self.app.config | app_config = self.app.config | ||||
| self.bucket_name = app_config.get('ALIYUN_OSS_BUCKET_NAME') | self.bucket_name = app_config.get('ALIYUN_OSS_BUCKET_NAME') | ||||
| oss_auth_method = aliyun_s3.Auth | |||||
| region = None | |||||
| if app_config.get('ALIYUN_OSS_AUTH_VERSION') == 'v4': | |||||
| oss_auth_method = aliyun_s3.AuthV4 | |||||
| region = app_config.get('ALIYUN_OSS_REGION') | |||||
| oss_auth = oss_auth_method(app_config.get('ALIYUN_OSS_ACCESS_KEY'), app_config.get('ALIYUN_OSS_SECRET_KEY')) | |||||
| self.client = aliyun_s3.Bucket( | self.client = aliyun_s3.Bucket( | ||||
| aliyun_s3.Auth(app_config.get('ALIYUN_OSS_ACCESS_KEY'), app_config.get('ALIYUN_OSS_SECRET_KEY')), | |||||
| oss_auth, | |||||
| app_config.get('ALIYUN_OSS_ENDPOINT'), | app_config.get('ALIYUN_OSS_ENDPOINT'), | ||||
| self.bucket_name, | self.bucket_name, | ||||
| connect_timeout=30 | |||||
| connect_timeout=30, | |||||
| region=region, | |||||
| ) | ) | ||||
| def save(self, filename, data): | def save(self, filename, data): |