I instantiate a boto3 S3 resource like this (code simplified):
import os
from pathlib import Path
import boto3
s3_resource = boto3.resource(
"s3",
aws_access_key_id=os.getenv("AWS_ACCESS_KEY_ID"),
aws_secret_access_key=os.getenv("AWS_SECRET_ACCESS_KEY"),
# NOTE: My config is:
# [default]
# region = eu-west-1
region_name=os.getenv("region_name"),
)
How can I get the region to which the S3 resource is associated? Is there an attribute of the class / instance I can query?
I checked the boto3 docs for the S3 Service Resource object but couldn't find such an attribute. I also checked this related question but it relates to the client not resource object from boto3.
Context: I want to check the region so that I can ensure that my ~/.aws/config is being read to supply the region, since checking what os.getenv("region_name") returns None since I have no such environmental variable. If you can answer this question too, it's a bonus. As cited in the code, my config points to the eu-west-1 region.
I'm new to using S3 programmatically inside Python (I've mostly used the AWS CLI) so please suggest edits to the question if necessary.
