使用 awswrangler 向 S3 对象添加标签?

Adding tags to S3 objects using awswrangler?

我正在使用 awswrangler 在我的 S3 中编写镶木地板,我通常会在我的所有对象上添加标签以进行访问和成本控制,但我没有找到直接使用 awswrangler 来做到这一点的方法。我目前正在使用下面的代码进行测试:

import awswrangler as wr
import boto3
import pandas as pd

# Boto session
session = boto3.Session(profile_name='my_profile')

# Dummy pandas dataframe
d = {'col1': [1, 2], 'col2': [3, 4]}
df_pandas = pd.DataFrame(data=d)

wr.s3.to_parquet(df=df_pandas, path='s3://my-bucket/path/', boto3_session=session)

有一种方法可以为 .to_parquet 将写入我的 S3 的对象添加标签吗?

我刚刚发现 awswrangler 有一个名为 s3_additional_kwargs 的参数,您可以将其他变量传递给 awswrangler[=19] 的 s3 请求=] 为你做。您可以像在 boto3 'Key1=value1&Key2=value2'

中那样发送标签

下面是如何向对象添加标签的示例:

import awswrangler as wr
import boto3
import pandas as pd

# Tagging
tag_set = 'Key1=value1&Key2=value2'

# Boto session
session = boto3.Session(profile_name='my_profile')

# Dummy pandas dataframe
d = {'col1': [1, 2], 'col2': [3, 4]}
df_pandas = pd.DataFrame(data=d)

wr.s3.to_parquet(df=df_pandas, path='s3://my-bucket/path/', s3_additional_kwargs={'Tagging': tag_set}, boto3_session=session)