我们在S3中对一些文件使用标签,但是,如果我们使用"&";字符在键值对的值中,我得到以下错误
"您提供的TagValue是无效的">
关于如何在S3中解决这个问题有什么想法吗?
这是我们在AWS Sdk中使用的代码
var documents = await GetDocumentsAsync(clientDoc.ClientId);
var objectKey = $"{clientDoc.ClientId}/{clientDoc.FileName}";
var newTagSet = new Tagging
{
TagSet = new List<Tag>{
new Tag { Key = "ClientName", Value = clientDoc.ClientName ?? "" }
}
};
var putObjTagsRequest = new PutObjectTaggingRequest()
{
BucketName = _systemConfig.S3BucketName,
Key = objectKey,
Tagging = newTagSet
};
var response = await s3Client.PutObjectTaggingAsync(putObjTagsRequest);
标签必须遵循以下正则表达式^([p{L}p{Z}p{N}_.:/=+-@]*)$
https://docs.aws.amazon.com/directoryservice/latest/devguide/API_Tag.html
"绕过它"的唯一方法是不使用该字符。你可以对它进行编码,但是在那个时候。也许最好不要用它。