Amazon AWS SQS(Simple Queue Service)队列消息保留期指的是消息在队列中保留的时间。在超过保留期后,消息将被自动删除。下面是使用AWS SDK for Python(Boto3)的代码示例来设置和获取消息保留期。
设置消息保留期:
import boto3
# 创建SQS客户端
sqs = boto3.client('sqs', region_name='us-west-2')
# 获取队列URL
queue_url = 'YOUR_QUEUE_URL'
# 设置消息保留期
response = sqs.set_queue_attributes(
QueueUrl=queue_url,
Attributes={
'MessageRetentionPeriod': '86400' # 保留期为24小时(以秒为单位)
}
)
print(response)
在上面的示例中,将MessageRetentionPeriod属性设置为86400,表示消息在队列中保留24小时。
获取消息保留期:
import boto3
# 创建SQS客户端
sqs = boto3.client('sqs', region_name='us-west-2')
# 获取队列URL
queue_url = 'YOUR_QUEUE_URL'
# 获取队列属性
response = sqs.get_queue_attributes(
QueueUrl=queue_url,
AttributeNames=[
'MessageRetentionPeriod'
]
)
print(response['Attributes']['MessageRetentionPeriod'])
在上面的示例中,使用get_queue_attributes方法获取MessageRetentionPeriod属性,并打印出消息保留期的值。
请注意替换示例中的YOUR_QUEUE_URL为实际的队列URL。另外,确保已正确配置AWS凭证以及相应的访问权限。