S3 标记错误 - 您提供的 TagValue 无效

M A*_*kin 6 c# amazon-s3 amazon-web-services .net-core

我们在 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);

Run Code Online (Sandbox Code Playgroud)

met*_*ain 9

标签必须遵循以下正则表达式^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

https://docs.aws.amazon.com/directoryservice/latest/devguide/API_Tag.html

“绕过它”的唯一方法就是不使用这个角色。您可以对其进行编码,但那时......可能最好不要使用它。