我正在使用awswrangler在我的 S3 中编写 Parquet ,我通常在所有对象上添加标签以进行访问和成本控制,但我没有找到直接使用 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 为您执行的 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)
关于pandas - 使用 awswrangler 添加标签到 S3 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69086237/