1
我正在编码一个视频共享网站。我使用S3来存储和提供视频。我已经为我的MySQL数据库中的视频编码标签,但是我看到S3支持上传文件中的设置标签。这里是我用来上传文件的代码:PHP亚马逊S3上传和标签
try {
//Create a S3Client
$s3Client = new S3Client([
'region' => 'us-east-1',
'version' => 'latest',
'credentials' => [
'key' => '',
'secret' => ''
]
]);
$result = $s3Client->putObject([
'Bucket' => $bucket,
'Key' => $assetFilename,
'SourceFile' => $fileTmpPath,
'Metadata' => array(
'title' => $requestAr['title'],
'description' => $requestAr['description']
)
]);
$s3Client->waitUntil('ObjectExists', array(
'Bucket' => $bucket,
'Key' => $assetFilename
));
} catch (S3Exception $e) {
returnError($e->getMessage());
}
这是一个2部分的问题。首先,我怎样才能在这里指定标签?我找不到任何PHP示例。接下来,假设某人上传视频并在其上放置了标签。 S3标签是键/值对。我应该为钥匙设置什么?我正在考虑为每个视频使用类似[tag1,tag2,tag3]的东西,以及那些是标记字符串的值。这里是S3标签doc:https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
谢谢。至于类别,我甚至没有计划有标签类别。像YouTube这样的网站是否会使用它们?我认为他们只是输入一个标签列表,而不是将它们分类。我不知道如何将它们分类,除非我要求用户在标记时进行分类(而不是他们可能想要处理的内容)。 – xendi
我的意思是说,也许现在你想要有标签,电影,音乐视频等等。但是稍后你可能想要1分钟,1小时或者其他什么,如果你有他们像'movie = true',或者'> 1min = true',而不是'cateogory = movie','length => 1min',那么你将所有的标签放在同一个“命名空间”中,它会是一团糟。 – ishegg
好的。现在我看到标记信息存在了,不应该这样做吗? https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobjecttagging – xendi