Skip to main content

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():