I upload
files
using the aws cli
http://www.systutorials.com/239665/uploading-large-files-amazon-s3-aws-cli/
. But how to get the metadata of an object in AWS S3?
我使用aws cli
http://www.systutorials.com/239665/uploading-large-files-amazon-s3-aws-cli/
上传
文件
。 但是如何获取AWS S3中对象的元数据呢?
You can use the
s3api
‘s
head-object
command to get the metadata of an object.
您可以使用
s3api
的
head-object
命令来获取
head-object
的元数据。
Taking one example:
举一个例子:
$ aws s3api head-object
--bucket test-hkust
--key dir2/fileupload/fb0c6353-a90c-4522-9355-7cd16cf756ff.file.txt
It will
print
results like
它将
打印
结果如
"AcceptRanges": "bytes",
"ContentType": "
binary
/octet-stream",
"LastModified": "Sun, 24 Apr 2016 15:20:34 GMT",
"ContentLength": 1560048,
"ETag": ""7d67f2ca5ee7c75a642d22065542e447"",
"Metadata": {}
Answered by Eric Z Ma.
埃里克·马(Eric Z Ma)回答。
翻译自:
https://www.systutorials.com/how-to-get-the-metadata-of-an-aws-s3-object/
I upload files using the aws cli http://www.systutorials.com/239665/uploading-large-files-amazon-s3-aws-cli/ . But how to get the metadata of an object in AWS S3? 我使用aws cli http://www.systutorials.co...
此工具已迁移到,请使用该板条箱进行将来的更新。
一个简单的工具,用于收集有关
S3
存储桶(或其子部分)的
数据
。 设计简单,外壳可消耗。
元数据
将在可用时被添加,并且
S3
交互作用由控制。
您可以从此存储库或Crates(一旦发布)中安装
s3
-meta :
# install from Cargo
$ cargo install
s3
-meta
# install the latest from GitHub
$ cargo install --git https://github.com/whitfin/
s3
-meta.git
可以按照上的说明来配置,尽管为了清楚起见,示例将使用环境变量。
您可以使用以下格式检索有关存储桶的
元数据
(确保您的区域与您的存储桶
AWS
区域匹配):
$
AWS
_ACCESS_KEY_ID=MY_ACCESS_KEY_ID \
创建一个连接的 DE>Rest
S3
ServiceDE> 实例很简单,如清单 1 所示: 现在可以
执行一些有趣的操作了:例如,创建存储段、添加一个影片,然后
获取
一个有时间限制的 URL
。实际上,这听起来像一个业务流程,不是吗?这是一个与发布有限资产(比如影片)有关的业务流程。 创建存储段
对于虚构的电影业务,我将创建一个称为 bc50i 的存储...
在文章hive metastore 3.0介绍中,我们说到Hive 3.0.0版本开始,其单独提供了standalone metastore服务以作为像presto等处理引擎的
元数据
管理中心。
本文以
Java
API为例,介绍如何
获取
hive standalone metastore中的catalog、database、table等信息,通过该方式,我们可以方便地对
元数据
中心进行监控与管理。
当然,首先要在maven项目中导入如下依赖(以hive 3.1.2为例)
<dependency>
由于网络上对于
S3
接口方法的实现很少,所以写了关于
S3
包含文件分片上传、文件下载、生成预签名url、读取
对象
,分片读取、分别读取每个版本,保存到本地、取消用户当前授权,并重新授权、得到
对象
所有版本的ACL、得到
对象
的ACL、将某个
对象
授权给某个用户 此方法将作用于
对象
的所有版本、将某个
对象
授权给某个用户 此方法仅作用于
对象
的当前版本
、为授权用户设置ACL、得到指定
对象
的版本、读取文件写到本地 在版本开启的情况下。如果不指定版本号,读取的是当前版本
、
对象
复制、删除空目录、删除
对象
的各版本、按...
数据
加密密钥: 用于对
S3
对象
进行加密的密钥;
主密钥: 也叫客户主密钥或CMK,根据不同的加密方式,主密钥有可能直接用于加密
S3
对象
,也有可能用于加密
数据
加密密钥;
托管: 在本文中,是指对密钥进行管理,包括对密钥的创建、启用、停...
go get github.com/
aws
/
aws
-sdk-go/
aws
go get github.com/
aws
/
aws
-sdk-go/
aws
/session
go get github.com/
aws
/
aws
-sdk-go/service/
s3
2. 创建一个
AWS
session
对象
,指定您的访问密钥 ID 和秘密访问密钥:
sess, err := session.NewSession(&
aws
.Config{
Region:
aws
.String("us-west-2"),
Credentials: credentials.NewStaticCredentials("AKID", "SECRET_KEY", ""),
3. 创建一个
S3
service
对象
:
svc :=
s3
.New(sess)
4. 调用
S3
API:
input := &
s3
.GetObjectInput{
Bucket:
aws
.String("myBucket"),
Key:
aws
.String("myObjectKey"),
result, err := svc.GetObject(input)
if err != nil {
// 处理错误
defer result.Body.Close()
// 使用 result.Body 中的
数据
以上是一个基本的 Go 语言调用
S3
API 的实现方式。具体实现可能会因为具体的业务场景而有所不同。