def __init__(self, secret_key, region, service, date=None,<EOL>store_secret_key=True):
self.region = region<EOL>self.service = service<EOL>self.date = date or datetime.utcnow().strftime('<STR_LIT>')<EOL>self.scope = '<STR_LIT>'.format(<EOL>self.date,<EOL>self.region,<EOL>self.service)<EOL>self.store_secret_key = store_secret_key<EOL>self.secret_key = secret_key if self.store_secret_key else None<EOL>self.key = self.generate_key(secret_key, self.region,<EOL>self.service, self.date)<EOL>
>>> AWS4SigningKey(secret_key, region, service[, date]
...                [, store_secret_key])

secret_key -- This is your AWS secret access key
region     -- The region you're connecting to, as per list at
              http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
              e.g. us-east-1. For services which don't require a
              region (e.g. IAM), use us-east-1.
service    -- The name of the service you're connecting to, as per
              endpoints at:
              http://docs.aws.amazon.com/general/latest/gr/rande.html
              e.g. elasticbeanstalk
date       -- 8-digit date of the form YYYYMMDD. Key is only valid for
              requests with a Date or X-Amz-Date header matching this
              date. If date is not supplied the current date is
              used.
store_secret_key
           -- Whether the secret key is stored in the instance. By
              default this is True, meaning the key is stored in
              the secret_key property and is available to any
              code the instance is passed to. Having the secret
              key retained makes it easier to regenerate the key
              if a scope parameter changes (usually the date).
              This is used by the AWS4Auth class to perform its
              automatic key updates when a request date/scope date
              mismatch is encountered.

              If you are passing instances to untrusted code you can
              set this to False. This will cause the secret key to be
              discarded as soon as the signing key has been generated.
              Note though that you will need to manually regenerate
              keys when needed (or if you use the regenerate_key()
              method on an AWS4Auth instance you will need to pass it
              the secret key).

All arguments should be supplied as strings.