example - python aws
¿Los recursos y los clientes de Boto3 son equivalentes? ¿Cuándo usar uno u otro? (2)
Los recursos son solo una abstracción basada en recursos sobre los clientes. No pueden hacer nada que los clientes no puedan hacer, pero en muchos casos son más fáciles de usar. En realidad, tienen un cliente integrado que usan para realizar solicitudes. El inconveniente es que no siempre admiten el 100% de las características de un servicio.
Boto3 Mavens,
¿Cuál es la diferencia funcional, si existe, entre Clientes y Recursos?
¿Son funcionalmente equivalentes?
¿En qué condiciones elegiría invocar un Recurso Boto3 contra un Cliente (y viceversa)?
Aunque me he esforzado por responder esta pregunta por RTM ... lamenta, entender la diferencia funcional entre los dos me elude.
¿Tus pensamientos?
Muchas, muchas gracias!
Avión Wryter
Siempre crea un resource
. Tiene los métodos importantes que necesitará, como Table
. Si necesita un objeto client
, está listo para usar, simplemente solicite .meta.client
:
import boto3
dynamodb = boto3.resource(service_name=''dynamodb'', endpoint_url=''http://localhost:8000'')
try:
dynamodb.create_table(...)
except dynamodb.meta.client.exceptions.ResourceInUseException:
logging.warn(''Table already exists'')
table = dynamodb.Table(table_name)
response = table.get_item(...)