Python 如何在s3中标记文件

Python 如何在s3中标记文件,python,amazon-web-services,amazon-s3,Python,Amazon Web Services,Amazon S3,我需要在s3中标记文件。我正在使用下面的命令,它不工作 aws s3api put-object-tagging --bucket dev-us-east-1 --key AXD_M/merge_1/part-00000-10b98444-ecc9-4140-851b-2499bf9c65cd-c000.snappy.parquet --tagging "TagSet=[{Key=Tag,Value=True}]" 我面临的错误如下 shell-init: error retrieving c

我需要在s3中标记文件。我正在使用下面的命令,它不工作

aws s3api put-object-tagging --bucket dev-us-east-1 --key AXD_M/merge_1/part-00000-10b98444-ecc9-4140-851b-2499bf9c65cd-c000.snappy.parquet --tagging "TagSet=[{Key=Tag,Value=True}]"
我面临的错误如下

shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
{
    "VersionId": "DjAdM7zzvo4.59zkqMVix6Ow6fEP9xQE"
}

两件事。首先,shell init错误通常表示您试图运行命令的目录已被其他进程移动或删除。尝试用cd向您发送home dir或/tmp,我敢打赌错误会消失

其次,查看您的命令,我不确定您为什么会有'--key'参数,我不确定您试图在那里做什么,并且我没有在s3api的文档中看到它。这里,忽略--key参数,将在名为“dev-us-east-1”的bucket上创建一个名为“Tag”的标记,其值为“True”。您是否试图将--key值作为标记的键?如果是这样,请尝试以下方法:

aws --profile user1 s3api put-bucket-tagging --bucket dev-us-east-1 --tagging "TagSet=[{Key=AXD_M/merge_1/part-00000-10b98444-ecc9-4140-851b-2499bf9c65cd-c000.snappy.parquet,Value=True}]"
这将为名为“dev-us-east-1”的桶创建一个名为“AXD_M/merge_1/part-00000-10b98444-ecc9-4140-851b-2499bf9c65cd-c000.snappy.parquet”的标签,其值为“True”

这是aws s3api的文档,祝你好运
有两件事。首先,shell init错误通常表示您试图运行命令的目录已被其他进程移动或删除。尝试用cd向您发送home dir或/tmp,我敢打赌错误会消失

其次,查看您的命令,我不确定您为什么会有'--key'参数,我不确定您试图在那里做什么,并且我没有在s3api的文档中看到它。这里,忽略--key参数,将在名为“dev-us-east-1”的bucket上创建一个名为“Tag”的标记,其值为“True”。您是否试图将--key值作为标记的键?如果是这样,请尝试以下方法:

aws --profile user1 s3api put-bucket-tagging --bucket dev-us-east-1 --tagging "TagSet=[{Key=AXD_M/merge_1/part-00000-10b98444-ecc9-4140-851b-2499bf9c65cd-c000.snappy.parquet,Value=True}]"
这将为名为“dev-us-east-1”的桶创建一个名为“AXD_M/merge_1/part-00000-10b98444-ecc9-4140-851b-2499bf9c65cd-c000.snappy.parquet”的标签,其值为“True”

这是aws s3api的文档,祝你好运