AWS S3 文件上传

安装AWS CLI

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

更新 AWS CLI

请添加现有符号链接和安装程序信息 install以使用 --bin-dir--install-dir--update参数构建命令。以下命令块使用 的示例符号链接 /usr/local/bin和 的示例安装程序位置 /usr/local/aws-cli为当前用户在本地安装 AWS CLI。

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update

upload.sh

#!/bin/bash

# 检查是否传入了文件名参数
if [ $# -ne 1 ]; then
  echo "Usage: $0 <file_to_upload>"
  exit 1
fi

# 获取传入的文件名
FILE_PATH="$1"

# AWS 配置
AWS_ACCESS_KEY_ID="JKIA4EEYFDW5WQRWPL5A"
AWS_SECRET_ACCESS_KEY="C9Bhp0QEzYczHlXPPuXq//NxcS8h9sjHcO+oJCvR"
AWS_REGION="ap-east-1"
S3_BUCKET="yunwei361"

# 检查文件是否存在
if [ ! -f "$FILE_PATH" ]; then
  echo "File '$FILE_PATH' does not exist!"
  exit 2
fi

# 获取文件名
FILE_NAME=$(basename "$FILE_PATH")

# 上传文件到 S3 使用 AWS CLI,并允许公共读
aws s3 cp "$FILE_PATH" s3://"$S3_BUCKET"/"$FILE_NAME" --region "$AWS_REGION"

# 检查上传是否成功
if [ $? -eq 0 ]; then
  echo "Successfully uploaded to s3://$S3_BUCKET/$FILE_NAME"
  echo "Download link:"
  echo -e "\033[0;35mhttps://s3.${AWS_REGION}.amazonaws.com/${S3_BUCKET}/${FILE_NAME}\033[0m"
else
  echo "Failed to upload '$FILE_PATH' to s3://$S3_BUCKET/$FILE_NAME"
  exit 3
fi

Last updated