# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of # the License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. import logging from boto3.session import Session __author__ = 'Amazon Web Services' __version__ = '1.12.29' # The default Boto3 session; autoloaded when needed. DEFAULT_SESSION = None [docs]def setup_default_session(**kwargs): """  Set up a default session, passing through any parameters to the session  constructor. There is no need to call this unless you wish to pass custom  parameters, because a default session will be created for you.  """ global DEFAULT_SESSION DEFAULT_SESSION = Session(**kwargs)  [docs]def set_stream_logger(name='boto3', level=logging.DEBUG, format_string=None): """  Add a stream handler for the given name and level to the logging module.  By default, this logs all boto3 messages to ``stdout``.  >>> import boto3  >>> boto3.set_stream_logger('boto3.resources', logging.INFO)  For debugging purposes a good choice is to set the stream logger to ``''``  which is equivalent to saying "log everything".  .. WARNING::  Be aware that when logging anything from ``'botocore'`` the full wire  trace will appear in your logs. If your payloads contain sensitive data  this should not be used in production.  :type name: string  :param name: Log name  :type level: int  :param level: Logging level, e.g. ``logging.INFO``  :type format_string: str  :param format_string: Log message format  """ if format_string is None: format_string = "%(asctime)s %(name)s [%(levelname)s] %(message)s" logger = logging.getLogger(name) logger.setLevel(level) handler = logging.StreamHandler() handler.setLevel(level) formatter = logging.Formatter(format_string) handler.setFormatter(formatter) logger.addHandler(handler)  def _get_default_session(): """  Get the default session, creating one if needed.  :rtype: :py:class:`~boto3.session.Session`  :return: The default session  """ if DEFAULT_SESSION is None: setup_default_session() return DEFAULT_SESSION [docs]def client(*args, **kwargs): """  Create a low-level service client by name using the default session.  See :py:meth:`boto3.session.Session.client`.  """ return _get_default_session().client(*args, **kwargs)  [docs]def resource(*args, **kwargs): """  Create a resource service client by name using the default session.  See :py:meth:`boto3.session.Session.resource`.  """ return _get_default_session().resource(*args, **kwargs) # Set up logging to ``/dev/null`` like a library is supposed to. # http://docs.python.org/3.3/howto/logging.html#configuring-logging-for-a-library [docs]class NullHandler(logging.Handler): [docs] def emit(self, record): pass  logging.getLogger('boto3').addHandler(NullHandler()) 

ncG1vNJzZmian6m8dHrAppizp56WxLR6wqikaK5hZLGwr9SmnKeskam2sLqOmqeiZ2FjfnN6kXJmmKWfmcKtsdJomaisn2h7qcDMpQ%3D%3D