通过SDK取消订阅AWS Organizations会员账户中的营销电子邮件

时间:2019-06-11 10:34:20

标签: amazon-web-services aws-sdk aws-cli aws-organizations

我有一个AWS组织,并且为我创建的每个新项目创建成员帐户。由于我可以控制所有帐户,因此我使用account-name+project-name@gmail.com模式对所有这些帐户使用相同的电子邮件帐户。 这意味着我创建的每个新帐户都会收到相同的营销电子邮件。我知道我可以手动退订,但是由于我是通过CLI创建会员帐户的,所以我想知道是否有一种方法可以通过SDK自动退订(或避免被退订)。

我查看了AWS Organizations SDK documentation,尤其是create-account附近,但没有发现任何相关内容。

1 个答案:

答案 0 :(得分:0)

显然,AWS没有为此提供解决方案。我发现的唯一地方是this。这涉及手动干预。

在组织ID上执行此操作将是一个不错的选择。

同时,我将此作为解决方法。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
GET_URL = 'https://pages.awscloud.com/communication-preferences'
POST_URL = 'https://pages.awscloud.com/index.php/leadCapture/save2'
s = requests.Session()
def fetch(url, data=None):
    if data is None:
        return s.get(url).content
    return s.post(url, data=data).content
def get_form_id():
    forms = BeautifulSoup(fetch(GET_URL), 'html.parser').findAll('form')
    for form in forms:
        fields = form.findAll('input')
        for field in fields:
            if field.get('name') == 'formid':
                return field['value']
email_id = 'testing@example.com'
formid = get_form_id()
form_data = {'Email': email_id, 'Unsubscribed': 'yes', 'formid': formid, 'formVid': formid}
r = fetch(POST_URL, data=form_data)
print(r)