Я думаю, вы должны создать ресурс и клиента отдельно, как показано ниже:
import boto3
sqs_resource = boto3.resource("sqs")
sqs_client = boto3.client("sqs")
print dir(sqs_resource)
print dir(sqs_client)
Выход:
[u'Message', u'Queue', '__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', u'create_queue', 'get_available_subresources', u'get_queue_by_name', 'meta', u'queues']
['_PY_TO_OP_NAME', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_cache', '_client_config', '_convert_to_request_dict', '_endpoint', '_force_path_style_s3_addressing', '_force_virtual_style_s3_addressing', '_get_waiter_config', '_loader', '_make_api_call', '_register_handlers', '_register_s3_specific_handlers', '_request_signer', '_response_parser', '_serializer', '_service_model', u'add_permission', 'can_paginate', u'change_message_visibility', u'change_message_visibility_batch', u'create_queue', u'delete_message', u'delete_message_batch', u'delete_queue', 'generate_presigned_url', 'get_paginator', u'get_queue_attributes', u'get_queue_url', 'get_waiter', u'list_dead_letter_source_queues', u'list_queues', 'meta', u'purge_queue', u'receive_message', u'remove_permission', u'send_message', u'send_message_batch', u'set_queue_attributes', 'waiter_names']
Из вышесказанного вы всегда будете получать клиент от ресурса как sqs_resource.meta.client.
Но наоборот.
Вместо этого создайте ресурс и клиент и одновременно используйте все, что вам нужно. Пожалуйста, дайте мне знать, если это полезно.
См. Также https://github.com/boto/boto3/issues/747, который позволит вам получить его, если он будет реализован. – copumpkin