add my SQS downloading script, tidy up sns
- ID
7dc0eb4- date
2023-04-29 08:41:37+00:00- author
Alex Chan <alex@alexwlchan.net>- parent
2a8a09f- message
add my SQS downloading script, tidy up sns- changed files
4 files, 22 additions, 23 deletions
Changed files
aws/_utils.py (1619) → aws/_common.py (1770)
diff --git a/aws/_utils.py b/aws/_common.py
similarity index 86%
rename from aws/_utils.py
rename to aws/_common.py
index 3c3fd77..dcedf25 100755
--- a/aws/_utils.py
+++ b/aws/_common.py
@@ -4,6 +4,11 @@ import boto3
import hyperlink
+ACCOUNT_NAMES = {
+ "760097843905": "platform",
+}
+
+
def get_aws_session(*, role_arn):
sts_client = boto3.client("sts")
assumed_role_object = sts_client.assume_role(
@@ -34,11 +39,17 @@ def guess_account(s3_identifier):
"""
if "wellcomedigitalworkflow" in s3_identifier:
- return {
- "account_id": "299497370133",
- "name": "workflow",
- "role_arn": "arn:aws:iam::299497370133:role/workflow-read_only",
- }
+ account_id = '299497370133'
+ else:
+ return None
+
+ account_name = ACCOUNT_NAMES[account_id]
+
+ return {
+ "account_id": account_id,
+ "name": account_name,
+ "role_arn": "arn:aws:iam::{account_id}:role/{account_name}-read_only",
+ }
def create_s3_session(s3_identifier):
aws/bulk_sns_publish (4602) → aws/bulk_sns_publish (4637)
diff --git a/aws/bulk_sns_publish b/aws/bulk_sns_publish
index 7067a83..b25e32a 100755
--- a/aws/bulk_sns_publish
+++ b/aws/bulk_sns_publish
@@ -32,6 +32,8 @@ import boto3
import more_itertools
import tqdm
+from _common import ACCOUNT_NAMES
+
# https://github.com/alexwlchan/concurrently
sys.path.append(os.path.join(os.environ["HOME"], "repos", "concurrently"))
@@ -72,7 +74,7 @@ def get_session(*, topic_arn):
try:
role_arn = (
- f"arn:aws:iam::{account_id}:role/{account_names[account_id]}-developer"
+ f"arn:aws:iam::{account_id}:role/{ACCOUNT_NAMES[account_id]}-developer"
)
return get_aws_session(role_arn=role_arn)
except KeyError:
aws/download_sqs_messages (2475) → aws/download_sqs_messages (2042)
diff --git a/aws/download_sqs_messages b/aws/download_sqs_messages
index 52e0c2a..1b63445 100755
--- a/aws/download_sqs_messages
+++ b/aws/download_sqs_messages
@@ -6,21 +6,7 @@ import os
import boto3
-from _common import ACCOUNT_NAMES
-
-
-def get_aws_session(*, role_arn):
- sts_client = boto3.client("sts")
- assumed_role_object = sts_client.assume_role(
- RoleArn=role_arn, RoleSessionName="AssumeRoleSession1"
- )
- credentials = assumed_role_object["Credentials"]
-
- return boto3.Session(
- aws_access_key_id=credentials["AccessKeyId"],
- aws_secret_access_key=credentials["SecretAccessKey"],
- aws_session_token=credentials["SessionToken"],
- )
+from _common import ACCOUNT_NAMES, get_aws_session
def get_session(*, queue_url):
@@ -49,7 +35,7 @@ def get_session(*, queue_url):
def parse_args():
parser = argparse.ArgumentParser(
prog=os.path.basename(__file__),
- description="Download all the messageds from an SQS queue.",
+ description="Download all the messages from an SQS queue.",
)
parser.add_argument(
aws/s3tree (8119) → aws/s3tree (8120)
diff --git a/aws/s3tree b/aws/s3tree
index 51e357e..11d31b8 100755
--- a/aws/s3tree
+++ b/aws/s3tree
@@ -39,7 +39,7 @@ import boto3
import humanize
import termcolor
-from _utils import create_s3_session, parse_s3_uri
+from _common import create_s3_session, parse_s3_uri
def parse_args():