首页 > 其他分享 >oss无sdk上传文件的bash脚本

oss无sdk上传文件的bash脚本

时间:2023-09-09 20:33:37浏览次数:44  
标签:dest oss bucket source key 上传 bash sdk

前言:有时候需要做一些上传的操作,这边简单的记录下

这个bash脚本需要依赖echo、file、awk、openssl、curl,上传的时候需要注意下

bash模版

#!/bin/bash

host="oss-cn-hangzhou.aliyuncs.com"
bucket="bucket" # BucketName
id="id" # AccessKeyId
key="key" # AccessKeySecret
osshost=$bucket.$host
echo $osshost

source="/mnt/dumpfile/test.txt"
dest="dumpfiles/test.txt"

resource="/${bucket}/${dest}"
contentType=`file -ib ${source} |awk -F ";" '{print $1}'`
dateValue="`TZ=GMT env LANG=en_US.UTF-8 date +'%a, %d %b %Y %H:%M:%S GMT'`"
stringToSign="PUT\n\n${contentType}\n${dateValue}\n${resource}"
signature=`echo -en $stringToSign | openssl sha1 -hmac ${key} -binary | base64`


url=http://${osshost}/${dest}
echo "upload ${source} to ${url}"


curl -i -q -X PUT -T "${source}" \
    -H "Host: ${osshost}" \
    -H "Date: ${dateValue}" \
    -H "Content-Type: ${contentType}" \
    -H "Authorization: OSS ${id}:${signature}" \
    ${url}

将上面的内容中替换其中的五个地方,分别是bucket、id、key

bucket=“bucket” # BucketName
id=“id” # AccessKeyId
key=“key” # AccessKeySecret

接着修改下要上传的文件source和dest上去的最终文件名dest即可。

source="/mnt/dumpfile/test.txt"
dest="dumpfiles/test.txt"

最终上传的效果如下所示

这边接着查看oss服务器上的存储信息,结果如下图所示,可以看到已经成功上传了

关于oss的注意事项

需要事先创建一个aksk并且赋予oss的权限才可以正常进行上传,这个需要提前准备好,如下图所示

标签:dest,oss,bucket,source,key,上传,bash,sdk
From: https://www.cnblogs.com/zpchcbd/p/17690104.html

相关文章

  • but Android SDK not found at this location.
    ENVPATH里设置好, SDKMANAGER路径要保持一致。这个是常规操作。还有个隐藏操作: SDKMANGERTOOLS里,点取消 hideobse.... 然后安装 AndroidSDKtools 添加path:sdk里的 D:\android_sdk\tools  D:\android_sdk\platform-tools 还要重启电脑!!!!!!解决。 ......
  • 在国标云服务EasyGBS国标视频平台中添加宇视sdk实现暂停播放和恢复播放的具体步骤
    EasyGBS国标视频云服务平台不仅支持无缝、完整接入内网或者公网的国标设备,在输出上,实现全平台、全终端输出。平台可将GB/T28181的设备/平台推送的PS流转成ES流,并提供RTSP、RTMP、FLV、HLS、WebRTC等多种格式视频流的分发服务,实现Web浏览器、手机浏览器、微信端、PC客户端等各终端......
  • 安防视频监控平台EasyCVR为何接入海康SDK协议后无法播放?
    EasyCVR是一款开源的视频监控/安防监控/视频汇聚平台,能够在复杂网络环境中统一汇聚、整合和集中管理各类分散的视频资源。在视频监控播放方面,EasyCVR支持1、4、9、16个画面窗口播放,并能同时播放多路视频流,还支持视频定时轮播。该平台支持多种播放协议,包括HLS、HTTP-FLV、WebSocket-......
  • 构建自定义美颜应用:全局美颜SDK的开发指南
    美颜技术已经成为许多应用程序和平台的标配之一,为用户提供了改善外观的机会。为了在你的应用中提供自定义的美颜功能,你可以考虑使用全局美颜SDK。本文将向你介绍如何构建自定义美颜应用,以及开发全局美颜SDK的关键步骤和技巧。一、明确需求和目标在开始之前,你需要明确你的美颜应用的......
  • bash: pip3: command not found...
     001、问题[root@pc1test01]#pip3--version 002、解决方法a、[root@pc1test01]#yum-yinstallepel-release b、[root@pc1test01]#yuminstallpython3-pip-y 003、测试[root@pc1test01]#pip3--versionpip9.0.3from/usr/lib/python3.6......
  • lattice crosslink开发板mipi核心板csi测试dsi屏lif md6000 fpga
    1.概述    CrossLink开发板,是用Lattice的芯片CrossLink家族系列的,LIF-MD6000-6JM80I。该芯片用于桥接视频接口功能,自带2路MIPI硬核的功能,4LANE MIPI的功能,支持高速率1.5Gbps。   其他普通IO支持1.2Gbps速率,支持5路MIPI通道功能。 芯片包含LVDS,SLVS200,SubLV......
  • Q:bash: fork: 无法分配内存,ssh无法连接新会话
    老版本系统的内核pid参数比较小(默认设置的是32768)原因分析,–内存不足或进程数超出限制–系统内部的总进程数达到pid_max的上限,创建新进程看到以上提示查看最大进程数  sysctlkernel.pid_max 统计当前进程数  ps-eLf|wc-l 可以看到非常接近最大连接数......
  • Linux上安装net sdk 8.0
    在CentOS上安装.NETSDK8.0需要执行一些额外的步骤。以下是在CentOS7或CentOS8上安装.NETSDK8.0的详细步骤:在CentOS7或CentOS8上安装.NETSDK8.0:打开终端窗口。首先,你需要安装一些依赖项,包括wget,以便下载安装脚本。运行以下命令来安装这些依赖项:bash复制代......
  • Go 项目中使用阿里云 OSS 存储服务
    1.导入依赖首先,你需要导入阿里云OSS的GoSDK包,以便在你的Go项目中使用。你可以在你的项目目录下运行以下命令来下载依赖:gogetgithub.com/aliyun/aliyun-oss-go-sdk/oss2.配置连接在你的Go代码中,首先创建一个连接阿里云OSS的函数,例如Connect(),用于配置连接参数,如End......
  • 安防视频监控/视频汇聚平台EasyCVR服务重启,海康SDK设备无法上线的原因排查
    TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。旭帆科技平台既具备传统安防视频监控的能力,也具备接入AI智能分析的能力,包括对......