【问题标题】:How to delete queue using boto如何使用 boto 删除队列
【发布时间】:2020-09-02 07:04:46
【问题描述】:

我需要使用 boto 删除队列。我不确定如何删除队列。我试过了,但没有用:

queue = conn.create_queue(sqs) #sqs is the queue name
conn.delete_queue(queue)

【问题讨论】:

  • 删除了不必要的内容

标签: boto amazon-sqs


【解决方案1】:

在 boto v2 中

>>> import boto.sqs
>>> conn=boto.sqs.connect_to_region('ap-southeast-2')
>>> q = conn.create_queue('foo')
>>> q
Queue(https://ap-southeast-2.queue.amazonaws.com/123456789012/foo)
>>> q.__dict__
{'ResponseMetadata': '', 'url': u'https://ap-southeast-2.queue.amazonaws.com/123456789012/foo', 'CreateQueueResponse': '', 'message_class': <class 'boto.sqs.message.Message'>, 'connection': SQSConnection:ap-southeast-2.queue.amazonaws.com, 'RequestId': u'9bfb9b6d-d9b5-5a29-9ea5-d4dbd5e3ef5a', 'CreateQueueResult': '', 'visibility_timeout': None}
>>> conn.delete_queue(q)
True

在boto3中

>>> import boto3
>>> client = boto3.client('sqs')
>>> q = client.create_queue(QueueName='foo')
>>> q
{u'QueueUrl': 'https://ap-southeast-2.queue.amazonaws.com/123456789012/foo', 'ResponseMetadata': {'HTTPStatusCode': 200, 'RequestId': 'f6531b80-4387-57a2-98fa-54364841c158'}}
>>> client.delete_queue(QueueUrl=q['QueueUrl'])
{'ResponseMetadata': {'HTTPStatusCode': 200, 'RequestId': 'f9d3853c-12f2-598b-ad3c-ca8a1f68754a'}}

【讨论】:

    【解决方案2】:

    首先,你必须得到队列--

    queue = conn.create_queue('myqueue')  // asuming your queue name 'myqueue'
    

    然后你可以简单地删除队列--

    conn.delete_queue(queue)
    

    【讨论】:

      【解决方案3】:

      在 Boto3 中,使用队列资源。以下是GitHub 上一个更大示例的一部分代码:

      import logging
      import boto3
      from botocore.exceptions import ClientError
      logger = logging.getLogger(__name__)
      sqs = boto3.resource('sqs')
      
      def remove_queue(queue):
          try:
              queue.delete()
              logger.info("Deleted queue with URL=%s.", queue.url)
          except ClientError as error:
              logger.exception("Couldn't delete queue with URL=%s!", queue.url)
              raise error
      
      queue = sqs.create_queue(QueueName=name, Attributes=attributes)
      remove_queue(queue)
      

      【讨论】:

        猜你喜欢
        • 2011-07-15
        • 2012-06-23
        • 2017-03-25
        • 1970-01-01
        • 2020-04-30
        • 1970-01-01
        • 2013-11-23
        • 2022-01-20
        • 1970-01-01
        相关资源
        最近更新 更多