阿里云代理上传文件报错com.aliyun.oss - [Client]Unable to execute HTTP request: SocketException(阿里云OSS文件上传教程)

1.依赖

<!--aliyun oss文件上传-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alicloud-oss</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>

由于公司使用内网办公,需要设置代理

public static void main(String[] args) throws FileNotFoundException {

        ClientConfiguration conf = new ClientConfiguration();
        conf.setConnectionTimeout(5000);
        conf.setMaxErrorRetry(3);

        conf.setProxyHost("10.203.73.208");
        conf.setProxyPort(8080);
        OSSClient ossClient=new OSSClient("oss-cn-hangzhou.aliyuncs.com", "LTAI4G6Erc5RCAiLAxdd", "Sxm8dGVUsUDwiOAWUXNkDT1Z1neJbW",conf);
        //上传文件流。
        InputStream inputStream = new FileInputStream("C:\\Users\\520\\Desktop\\spms项目整理.docx");
        ossClient.putObject("gulimall-wangpeng", "spms项目整理.docx", inputStream);
//        // 关闭OSSClient。
        ossClient.shutdown();
        System.out.println("上传成功.");
    }

然后也可以使用测试上传

配置

spring:
  application:
    name: gulimall-third-party
  cloud:
    nacos:
      config:
        namespace: 02bba9cc-3e1c-40b3-a03b-b65a6002d29d
    alicloud:
      access-key: LTAI4G6Erc5RCAiLAExVLnb3
      secret-key: Sxm8dGVUsUDwiOAWUXNkDT1Z1neJbW
      oss:
        config:
          proxyHost: 10.203.73.208
          proxyPort: 8080
        endpoint: http://oss-cn-hangzhou.aliyuncs.com
        bucket: gulimall-wangpeng

 

package com.example.demo.thirdparty;

import com.aliyun.oss.OSSClient;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

@SpringBootTest
public class ThirdPartyApplicationTests {
    @Autowired
    OSSClient ossClient;

    @Test
    public void testUpload() throws FileNotFoundException {
        //上传文件流。
        InputStream inputStream = new FileInputStream("C:\\Users\\520\\Desktop\\Tampermonkey_v4.5.crx");
        ossClient.putObject("gulimall-wangpeng", "Tampermonkey_v4.5.crx", inputStream);
        // 关闭OSSClient。
        ossClient.shutdown();
        System.out.println("上传成功.");
    }
}

 

<think>好的,我需要分析用户提供的日志信息,并给出结构清晰的解答。首先,用户展示了一系列系统日志,涉及TSDB事件读取器初始化、mmchealth命令执行失败、ioctl连接超时、CMD56调用失败以及基本功能测试失败等问题。 首先,我应该按时间顺序整理日志,识别关键错误和警告信息。注意到有多个时间戳相近的日志条目,需要确定它们之间的关联性。例如,TSDB Event Reader初始化多次出现,可能表明服务在尝试重新启动或遇到问题后重新初始化。 接下来,重点分析错误信息。mmchealth命令执行失败,提示无法读取eMMC健康统计信息。同时,ioctl连接超时和CMD56调用失败可能指向硬件或驱动问题。CMD56是MMC/SD卡的命令,通常与读取健康状态相关,所以这可能是导致mmchealth失败的直接原因。 然后,用户提到基本功能测试失败,特别是对接测试失败。这可能与eMMC的健康状态有关,因为如果存储设备有问题,系统可能无法正常执行测试。 我需要考虑可能的原因,比如硬件故障(eMMC损坏)、驱动程序问题、权限不足或服务配置错误。此外,多次初始化TSDB事件读取器可能意味着服务在尝试恢复,但由于底层硬件问题无法成功。 最后,建议用户检查硬件连接、验证eMMC状态、检查驱动和系统日志,以及重新运行测试。需要分步骤说明排查方法,确保用户能逐步解决问题。同时,提醒备份数据以防硬件故障导致数据丢失。</think>根据提供的日志信息,系统在2025-04-02T02:29期间发生了多组件异常。以下是关键问题分析: $$事件时间轴 \approx 4秒内连续异常$$ --- ### 一、核心异常定位 1. **硬件健康检查失败** - 执行命令:`/usr/local/bin/mmchealth pecnt /dev/mmcblk2` - 表面成功:`successfully executed, out: Kingston` - 实际故障: - `ioctl: Connection timed out` - `CMD56 opening CALL FAILED` - **根本原因**:$eMMC\ 存储设备(/dev/mmcblk2)\ 通信协议层故障$ 2. **功能测试失败** ```plaintext Basic Function Test Docking :: FAIL 1 test, 0 passed, 1 failed ``` - 与eMMC健康状态直接相关(存储设备异常导致测试流程中断) --- ### 二、故障机理分析 1. **CMD56协议层故障** - CMD56是MMC/SD卡标准命令(用于读取扩展健康状态) - 失败表现: $$ \text{设备路径} \rightarrow /dev/mmcblk2 $$ $$ \text{错误类型} \rightarrow \text{IOCTL调用超时} $$ 2. **矛盾现象解释** - 为何命令显示"successfully executed"却实际失败? - 可能原因为: $脚本返回值检测逻辑缺陷$ ```python # 伪代码示例:错误的状态码处理 if process.exitcode == 0: # 仅检查退出码 log_success() # 未验证实际输出内容 else: log_failure() ``` --- ### 三、排查路径规划 1. **硬件层验证** - 物理检测eMMC模块(型号Kingston) ```bash mmc-utils status /dev/mmcblk2 # 专用工具检测 ``` - 替换测试:将/dev/mmcblk2移至其他设备验证 2. **驱动层检查** - 确认内核模块加载状态 ```bash lsmod | grep mmc_block dmesg | grep mmcblk2 # 查看内核级错误 ``` 3. **脚本逻辑审计** - 检查mmchealth脚本的错误处理逻辑 ```bash # 示例:应同时验证输出内容 output=$(/usr/local/bin/mmchealth pecnt /dev/mmcblk2) if [[ $? -eq 0 ]] && [[ $output =~ "HealthPercentage" ]]; then echo "Success" else echo "Failed" fi ``` --- ### 四、紧急处置建议 1. **系统降级操作** ```bash echo "none" > /sys/block/mmcblk2/device/power/control # 禁用省电模式 ``` 2. **关键数据备份** ```bash dd if=/dev/mmcblk2 of=/mnt/backup/mmcblk2.img bs=4M conv=noerror,sync ``` 3. **测试规避方案** ```bash systemctl disable docking_test.service # 临时关闭故障测试项 ``` 建议优先执行硬件状态诊断,该日志模式高度提示存储介质物理损坏风险。若CMD56持续失败,需准备eMMC芯片更换预案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值