1、使用oss上传下载时,将bucketName 传了进去,导致上传文件失败

原本endpoint是 https://oss-cn-shanghai.aliyuncs.com

在上传时,自动加上了{bucketName}.oss-cn-shanghai.aliyuncs.com 由于这个域名是没有配置的,导致文件上传失败

我是使用的k8s部署,在pod里面加一个host别名

注意,这里的hostAliases 是和spec下面的容器是同一层

这里参考 (27条消息) kubernetes笔记_小辣鸡~的博客-CSDN博客

apiVersion: v1
kind: Pod
...
spec:
  hostAliases:
  - ip: "10.1.2.3"
    hostnames:
    - "foo.remote"
    - "bar.remote"
  containers:
    - name: 
...

{bucketName}.oss-cn-shanghai.aliyuncs.com 这个专有名词叫做cname

专有云的OSS实现时cname是推荐关闭的。

阿里云OSS的SDK地址:初始化 (aliyun.com)

下面的是阿里云官方的案例:

// yourEndpoint填写Bucket所在地域对应的Endpoint。
String endpoint = "yourEndpoint";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";

// 创建ClientConfiguration实例,您可以根据实际情况修改默认参数。
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
// 关闭CNAME选项。
conf.setSupportCname(false);

// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret, conf);

// 关闭OSSClient。
ossClient.shutdown();                    

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐