当前位置: 首页 > 知识库问答 >
问题:

如何在AWS secret Manager-Java中重命名/更新secret的阶段标签

拓拔富
2023-03-14

我正在将我的密钥存储在aws密钥管理器中。旋转后有AWSCURRENT和AWSPREVIOUS两个阶段标签

        GetSecretValueRequest getSecretValueRequest = new GetSecretValueRequest().withSecretId(secretKey)
            .withVersionStage("AWSPREVIOUS");
        GetSecretValueResult getSecretValueResult = client.getSecretValue(getSecretValueRequest);

        log.info("jkdata ww {}", getSecretValueResult.getSecretString());
        log.info("verison id{}", getSecretValueResult.getVersionId());

        UpdateSecretVersionStageRequest updateSecretVersionStageRequest = new UpdateSecretVersionStageRequest()
            .withSecretId(secretKey)
            .withMoveToVersionId(getSecretValueResult.getVersionId())
            .withRemoveFromVersionId(getSecretValueResult.getVersionId());
        client.updateSecretVersionStage(updateSecretVersionStageRequest).setName("TESTJK");

当前:我正在为Awspreivious获取值,但为TESTJK获取错误

com.amazonaws.services.secretsmanager.model.ResourceNotFoundException: Secrets Manager can’t find the specified secret value for staging label: TESTJK (Service: AWSSecretsManager; Status Code: 400; Error Code: ResourceNotFoundException; Request ID: 4c15706e-e1bd-424a-ba03-4914e6523a34)

共有1个答案

宣弘新
2023-03-14

这需要两个api请求。第一个获取AWSPREVIOUS的版本id,并将其分配给'testjk':

GetSecretValueRequest getSecretValueRequest = new GetSecretValueRequest()
.withSecretId(secretKey)
.withVersionStage("AWSPREVIOUS");

GetSecretValueResult getSecretValueResult = client.getSecretValue(getSecretValueRequest);

UpdateSecretVersionStageRequest updateSecretVersionStageRequest = new UpdateSecretVersionStageRequest()
            .withSecretId(secretKey)
            .withVersionStage("TESTJK")
            .withMoveToVersionId(getSecretValueResult.getVersionId())
        client.updateSecretVersionStage(updateSecretVersionStageRequest);

此时,您可以保留与同一个versionId相关联的两个阶段,也可以删除AwSpreivious版本阶段:

UpdateSecretVersionStageRequest updateSecretVersionStageRequest = new UpdateSecretVersionStageRequest()
            .withSecretId(secretKey)
            .withVersionStage("AWSPREVIOUS")
            .withRemoveFromVersionId(getSecretValueResult.getVersionId())
        client.updateSecretVersionStage(updateSecretVersionStageRequest);
 类似资料:
  • 我有相当简单的应用程序(我只想了解控制器切换机制)。第一个窗口显示标签和按钮。单击按钮时,将显示另一个带有按钮的窗口。现在,当你点击第二个按钮,标签在第一个窗口应该改变。我在这里读过一些帖子,也在前一阶段的场景中尝试了这个Java FX更改标签文本,但是没有成功。如果你能在这个简单的例子上给我解释一下,也许我会更好地理解控制器的逻辑。下面是我的代码,谢谢您的帮助: PrimaryControlle

  • 我正在经历一个非常奇怪的行为,我怀疑这是JavaFX9 API中的一个bug,但我很谨慎,因为我更有可能遗漏了一些东西。 MCVE: 它给我带来的问题是,我无法为窗口大小/位置实现健壮的首选项保存,因为在Linux上,窗口会爬行。(场景宽度/高度可以作为一种变通方法,但仍然可疑。)

  • 问题内容: 我有这样的文件 我需要更改为 为此,首先将字段映射添加到现有索引 然后尝试重新索引 错误是 问题答案: 该字段在您的文档中尚不存在,因此您的脚本需要首先创建它: 或更短一些:

  • 问题内容: 假设我有一个图像要标记为(在我的情况下,这是一个包含Node.js 0.10.24的图像)。我使用Dockerfile构建了该映像,然后执行并通过使用参数提供了标记。 我希望有一天我将拥有该图像的其他版本,因此我将使用另一个标签名称重新运行该过程。 到目前为止,一切都很好。这很好而且很好,一切都很好。 但是,这是问题开始的地方,我还希望始终另外拥有最新的图像标记广告。所以我想我需要给同

  • 问题内容: 我有此映射的索引: 在新索引中,我想将“ title”复制到“ title1”和“ title2”,将“ body”复制到“ body1”和“ body2”(不考虑“ other”),并将类型从“ page”更改为“ Articles_eng”。新索引具有以下映射: 通过查看此答案和Elasticsearch重新索引文档,我得出了类似以下内容: 我在脚本行上遇到了麻烦。如果仅执行第一行

  • 我在一个字符串变量中有一个这样的XML文件 ============================================= 我一直在将XML作为字符串传递给我的servlet /*受保护的无效服务(HttpServletRequest请求,HttpServlet响应)抛出ServletExcture,IOExcense{