Skip to content

Session

async_boto.core.session

Credentials

Credentials(aws_access_key_id, aws_secret_access_key, aws_session_token=None, **kwargs)
Source code in async_boto/core/session.py
 5
 6
 7
 8
 9
10
11
12
13
14
def __init__(
    self,
    aws_access_key_id: str,
    aws_secret_access_key: str,
    aws_session_token: str | None = None,
    **kwargs,
):
    self.aws_access_key_id = aws_access_key_id
    self.aws_secret_access_key = aws_secret_access_key
    self.aws_session_token = aws_session_token

aws_access_key_id instance-attribute

aws_access_key_id = aws_access_key_id

aws_secret_access_key instance-attribute

aws_secret_access_key = aws_secret_access_key

aws_session_token instance-attribute

aws_session_token = aws_session_token

secret_key property

secret_key

access_key property

access_key

token property

token

AsyncAWSSession

AsyncAWSSession(aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None, region_name=None, profile_name=None)

An asynchronous AWS Session that uses aiohttp instead of boto3.

Initialize an AsyncAWSSession with credentials

Args: aws_access_key_id: AWS access key ID aws_secret_access_key: AWS secret access key aws_session_token: AWS temporary session token region_name: Default region when creating new connections profile_name: The name of a profile to use

Source code in async_boto/core/session.py
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
def __init__(
    self,
    aws_access_key_id: str | None = None,
    aws_secret_access_key: str | None = None,
    aws_session_token: str | None = None,
    region_name: str | None = None,
    profile_name: str | None = None,
):
    """
    Initialize an AsyncAWSSession with credentials

    Args:
        aws_access_key_id: AWS access key ID
        aws_secret_access_key: AWS secret access key
        aws_session_token: AWS temporary session token
        region_name: Default region when creating new connections
        profile_name: The name of a profile to use
    """
    self._profile_manager = AWSProfileManager()

    # If specific credentials are provided, use them
    if aws_access_key_id and aws_secret_access_key:
        self._credentials = {
            "aws_access_key_id": aws_access_key_id,
            "aws_secret_access_key": aws_secret_access_key,
        }
        if aws_session_token:
            self._credentials["aws_session_token"] = aws_session_token
        if region_name:
            self._credentials["region_name"] = region_name
    else:
        # Otherwise, try to get credentials from profile or environment
        self._credentials = self._profile_manager.get_credentials(profile_name)

    # If region not in credentials, use default
    if "region_name" not in self._credentials and region_name:
        self._credentials["region_name"] = region_name

    # Default to us-east-1 if no region specified
    if "region_name" not in self._credentials:
        self._credentials["region_name"] = "us-east-1"

    # Store profile name
    self._profile_name = profile_name

profile_name property

profile_name

Get the name of the profile used for this session

region_name property

region_name

Get the region name for this session

available_regions property

available_regions

Get the available regions for this session

get_credentials

get_credentials()
Source code in async_boto/core/session.py
100
101
def get_credentials(self) -> Credentials:
    return Credentials(**self._credentials)