簡體   English   中英

如何格式化使用帶有 Python Boto3 的 SNS 發送的 URL/IP

[英]How to format URLs/IPs sent using SNS with Python Boto3

我向 SNS 主題發送電子郵件(包括 1-50 個 URL 和 IP 地址),email 中的 URL/IP 由證明點的 ZE6B391A8D2C4D4D455702A23A8 強制執行,由企業防御。

用戶期望的 Email -

{'values_changed': {"root['Domain or IP address']['0']": {'new_value': 'https://opfcaptcha-prod.s3.amazonaws.com/', 'old_value': 'https://opfcaptcha-dev.s3.amazonaws.com/'}}}

用戶收到的Email——

{'values_changed': {"root['Domain or IP address']['0']": {'new_value': 'https://urldefense.com/v3/__https://opfcaptcha-prod.s3.amazonaws.com/__;!!Dq7g1IpY!2nvaTJkbp6kWvhzobR78L4bhwFOyIzo7dphswnOWS5xtonWsDRxaGelLt3JjM9wXh4aSoQ$ ', 'old_value': 'https://urldefense.com/v3/__https://opfcaptcha-dev.s3.amazonaws.com/__;!!Dq7g1IpY!2nvaTJkbp6kWvhzobR78L4bhwFOyIzo7dphswnOWS5xtonWsDRxaGelLt3JjM9xGgdPdmA$ '}}}
def publish_to_sns(message, subject):
    sns = boto3.client('sns')

    response = sns.publish(
            TopicArn=os.environ['sns_topic_arn'],
            Message=message,
            Subject=subject
    )

    print(response)

有沒有辦法格式化 email 以便用戶以預期的格式接收它?

您只需要重建您的消息,如下所示

In [2]: required_format
Out[2]:
{'values_changed': {"root['Domain or IP address']['0']": {'new_value': 'https://urldefense.com/v3/__https://opfcaptcha-prod.s3.amazonaws.com/__;!!Dq7g1IpY!2nvaTJkbp6kWvhzobR78L4bhwFOyIzo7dphswnOWS5xtonWsDRxaGelLt3JjM9wXh4aSoQ$ ',
   'old_value': 'https://urldefense.com/v3/__https://opfcaptcha-dev.s3.amazonaws.com/__;!!Dq7g1IpY!2nvaTJkbp6kWvhzobR78L4bhwFOyIzo7dphswnOWS5xtonWsDRxaGelLt3JjM9xGgdPdmA$ '}}



In [11]: new_value = required_format['values_changed']["root['Domain or IP address']['0']"]['new_value'].split("__")[-2]

In [12]: old_value = required_format['values_changed']["root['Domain or IP address']['0']"]['old_value'].split("__")[-2]



In [14]: required_format['values_changed']["root['Domain or IP address']['0']"] = {'new_value' : new_value, 'old_value': old_value}

In [16]: required_format
Out[16]:
{'values_changed': {"root['Domain or IP address']['0']": {'new_value': 'https://opfcaptcha-prod.s3.amazonaws.com/',
   'old_value': 'https://opfcaptcha-dev.s3.amazonaws.com/'}}}

最后,您可以使用 api 調用中的構造方法來發送消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM