亚马逊S3的使用简记(游戏资源发布更新)

上传对象的几种方式:S3控制台、AWS SDK、REST API、AWS CLI。

这里选择 AWS CLI。

上传对象 - Amazon Simple Storage Service

一、安装

安装或更新最新版本的 AWS CLI - AWS Command Line Interface

安装方式为:macOS 中,安装/更新 AWS CLI 版本2

1、检查先决条件

创建 IAM 或 IAM Identity Center 管理账户

2、安装最新版本的 AWS CLI(选择 Command line installer - All users):

⑴、使用 curl 命令下载文件。-o 选项指定下载的程序包应写入的文件名。在此示例中,文件写入当前文件夹中的 AWSCLIV2.pkg。

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"

⑵、运行标准 macOS installer 程序,同时将下载的 .pkg 文件指定为源。使用 -pkg 参数指定要安装的程序包的名称以及要将程序包安装到的驱动器的 -target / 参数。系统会将文件安装到 /usr/local/aws-cli,并自动在 /usr/local/bin 中创建符号链接。您必须在命令中使用 sudo 来授予对这些文件夹的写入权限。

sudo installer -pkg AWSCLIV2.pkg -target /

3、验证是否正确安装。

which aws

aws --version

4、配置环境变量

这里,为避免环境变量是否能被 jenkins、python识别到等问题,

直接将 aws 的路径配到 Build/BuildGame/configs/tool.py 中,供上传脚本调用:

AWS_CLI_PATH = "/usr/local/bin/aws"

二、配置

配置 AWS CLI 设置 - AWS Command Line Interface

注意 配置和凭证优先顺序。选择一个即可。

实际上,感觉选择 5 或 6更妥帖一些。这里选择6.

在cmd 中键入aws configure,输入由运维创建的凭证文件。 包含:

Access key ID AKIAU6GDYRMGGHBMW2WN
Secret access key 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
default region name us-east-1
Default output format[None]: json

在cmd 中键入aws s3 ls,能看到桶列表(已创建的情况下)说明认证成功了。

三、使用说明

命令结构

AWS CLI 中的命令结构 - AWS Command Line Interface

在 AWS CLI 中使用速记语法 - AWS Command Line Interface

在 AWS CLI 中设置输出格式 - AWS Command Line Interface

AWS CLI 中的命令行返回代码 - AWS Command Line Interface

在 AWS CLI 中使用高级(s3)命令 - AWS Command Line Interface

1、 需了解如下 Amazon S3 术语:

存储桶 -- 顶级 Amazon S3 文件夹。

前缀 -- 存储桶中的 Amazon S3 文件夹。

对象 -- 托管在 Amazon S3 存储桶中的任何项。

2、 Amazon S3 命令

创建存储桶 aws s3 mb <target> [--options]

列出存储桶和对象 aws s3 ls <target> [--options]

删除存储桶 aws s3 rb <target> [--options]

删除对象 aws s3 rm <target> [--options]

移动对象 aws s3 mv <source> <target> [--options]

复制对象 aws s3 cp <source> <target> [--options]

同步对象 aws s3 sync <source> <target> [--options]

3、 Amazon S3 命令常用选项

--acl

s3 sync 和 s3 cp 可以使用。够为复制到 Amazon S3 的文件设置访问权限。接受 private、public-read 和 public-read-write 值。

--exclude

使用 s3 cp、s3 mv、s3 sync 或 s3 rm 命令时,可以使用 --exclude 或 --include 选项筛选结果。--exclude 选项将规则设置为仅从命令中排除对象,并且系统将按照指定的顺序应用这些选项。

--grants

s3 cp、s3 mv 和 s3 sync 命令包括一个 --grants 选项,可用来向指定的用户或组授予对对象的权限。使用以下语法对权限列表设置 --grants 选项。将 Permission、Grantee_Type 和 Grantee_ID 替换为您自己的值。

--recursive

使用此选项时,系统针对所指定目录或前缀下的所有文件或对象执行该命令。(似乎仅可用于删除命令?)

--delete

sync 可以使用,同步时从目标中删除源中不存在的文件或对象。

aws s3 sync builtResult/VersionedRes/{platform} {s3BucketAccessPoint}/${platform}
/usr/local/bin/aws s3 sync /Users/xxx/.jenkins/workspace/SyncVersionedRes/BuiltResult/VersionedRes/GooglePlay s3://arn:aws:s3:us-west-1:339712969484:accesspoint/xxxxxxx-s3/VersionedRes/GooglePlay

四、部分名词解释:

AWS (Amazon Web Services):亚马逊云服务

SSO(Single Sign-On):提供的一项服务,旨在帮助企业用户实现跨多个应用程序和AWS账户的单点登录功能。这意味着用户只需要在一个中心位置认证一次,就可以访问所有被授权的应用程序和服务,而无需在每次访问新应用或服务时重新输入凭证。

****IAM(Identity and Access Management)****身份和访问管理,用于帮助用户安全地控制对AWS资源的访问。

相关推荐
SmalBox8 小时前
【渲染流水线】[几何阶段]-[屏幕映射]以UnityURP为例
unity·渲染
天波信息技术分享10 小时前
AI 云电竞游戏盒子:从“盒子”到“云-端-芯”一体化竞技平台的架构实践
人工智能·游戏·架构
小杨 想拼11 小时前
使用js完成抽奖项目 效果和内容自定义,可以模仿游戏抽奖页面
前端·游戏
qq_546937271 天前
一款开源的远程桌面软件,旨在为用户提供流畅的游戏体验,支持 2K 分辨率、60 FPS,延迟仅为 40ms。
游戏
How_doyou_do1 天前
关于截屏时实现游戏暂停以及本地和上线不同步问题
游戏
李昕壑1 天前
CS2服务器是何方神圣
游戏
SmalBox1 天前
【渲染流水线】[几何阶段]-[归一化NDC]以UnityURP为例
unity·渲染
wanhengidc2 天前
云手机选哪个比较好用?
服务器·网络·安全·游戏·智能手机
蛊明2 天前
Steam修改游戏安装目录
游戏·steam