【问题标题】:Is there a way to use SendGrid Template Versioning with different development life-cycle environments?有没有办法在不同的开发生命周期环境中使用 SendGrid 模板版本控制?
【发布时间】:2019-06-03 20:58:19
【问题描述】:

SendGrid 中的版本控制允许 API 客户端仅通过记录在 here 中的模板 ID 发出模板请求,但是,一次只能“激活”一个模板版本。显然,用于我们的生产应用程序的模板需要始终设置为活动的,但是在即将发布的版本中添加我们使用的新模板版本呢?如何利用模板版本在我们的测试环境中测试这个“非活动”版本? 该问题已在here 进行了讨论,但当您开始关注链接时,它似乎刚刚关闭并丢失了。

如果无法指定版本控制,则只剩下几个选项,需要创建环境特定模板并在发布完成后将它们提升为生产特定模板,或者为不同的 SDLC 环境创建单独的帐户和随着流程的推进迁移它们。

这里也讨论了关于语言版本控制的问题,但它确实对我的问题没有帮助。

鉴于 SendGrid 的 API 提供的工具来利用版本控制,最佳做法是什么?拥有不同的名为模板的 SDLC 步骤似乎是使用数百个模板维护的灾难(更不用说每个环境有多个模板了)。在进入生产阶段进行测试时,管理多个帐户似乎是一场噩梦。我只是在这里遗漏了一些完全明显的东西吗?

【问题讨论】:

    标签: sendgrid sendgrid-api-v3 sendgrid-templates


    【解决方案1】:

    我与 SendGrid 的技术代表交谈过,他们的 API 或 UI 不提供此功能。一次只能“激活”一个模板。您需要为每个环境使用单独的模板,或者需要从 API 使用者管理模板。如果有人阅读本文并对不同的解决方案有疑问,请随时发帖,我将解释我是如何解决这个问题以满足我的应用程序需求的。

    【讨论】:

    • 我有同样的“挑战”,有兴趣听听您的解决方案。如果你这样做,你如何在环境中移动模板?
    • SendGrid 还是这样吗?据我所知。
    【解决方案2】:

    我想通过我们对小型电子邮件活动的实施来扩展 an actual answer

    正如 CodeKiller 所写,其中一种可能的解决方法是 You need a separate template for every environment

    问题是应用程序通过 id 引用模板,但是当将模板从 env 移动到 env 时,您无法保留模板 id。

    您可以保留模板名称。 SendGrid API 不允许按名称检索模板,您可以检索所有模板并按名称查找。

    var templatesRaw = await client.RequestAsync(
                BaseClient.Method.GET,
                null,
                "{'page_size': 200, 'generations': 'dynamic'}",
                "templates");
    var templatesJson = await templatesRaw.DeserializeResponseBodyAsync(templatesRaw.Body);
    var templates = (JArray)templatesJson["result"];
    
    var template = templates.Single(templ => templ["name"].ToString() == name);
    return template["id"].ToString();
    

    为什么我不建议将它用于中/大型广告系列:

    1. 如果您使用无服务器,则会产生成本。当您需要发送一封电子邮件时,您需要为处理所有模板所需的资源付费
    2. 性能。每次您需要发送一封电子邮件时,用户都在等待处理所有模板
    3. 创建/更新模板时,手动将模板从 env 复制粘贴到 env
    4. KISS 违规。当您有

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-07
      • 1970-01-01
      • 2021-04-14
      相关资源
      最近更新 更多