在AWS secretsmanager中创建了一个秘密,使用lambda函数启用了自动旋转。当我第一次从cli触发旋转时,它还没有完成。这是手动在aws控制台中更新secret时secret的初始状态。
# aws secretsmanager list-secret-version-ids --secret-id ******
{
"Versions": [
{
"VersionId": "9e82b9e2-d074-478e-83a5-baf4e578cb49",
"VersionStages": [
"AWSCURRENT"
],
"LastAccessedDate": 1592870400.0,
"CreatedDate": 1592889913.431
},
{
"VersionId": "e32ddaf8-7f21-40e2-adf8-f976b8f3f104",
"VersionStages": [
"AWSPREVIOUS"
],
"LastAccessedDate": 1592870400.0,
"CreatedDate": 1592887518.46
}
],
"ARN": "arn:aws:secretsmanager:us-east-1:***********:secret:***********",
"Name": "*******"
}
现在我从aws cli触发了旋转
aws secretsmanager rotate-secret --secret-id ******
# aws secretsmanager list-secret-version-ids --secret-id ********
{
"Versions": [
{
"VersionId": "704102f3-b36d-4529-b257-0457354d3c93",
"VersionStages": [
"AWSPENDING"
],
"CreatedDate": 1592890351.334
},
{
"VersionId": "e32ddaf8-7f21-40e2-adf8-f976b8f3f104",
"VersionStages": [
"AWSPREVIOUS"
],
"LastAccessedDate": 1592870400.0,
"CreatedDate": 1592887518.46
},
{
"VersionId": "9e82b9e2-d074-478e-83a5-baf4e578cb49",
"VersionStages": [
"AWSCURRENT"
],
"LastAccessedDate": 1592870400.0,
"CreatedDate": 1592889913.431
}
],
"ARN": "arn:aws:secretsmanager:us-east-1:**********:secret:********",
"Name": "********"
}
Cloudwatch日志在此创建处停止。ecret:成功地为ARN放置secret ARN:aws:secretsmanager:xxxxxxx..看起来只调用createsecret函数。当我再次旋转秘密时,在cli中获得此输出
An error occurred (InvalidRequestException) when calling the RotateSecret operation: A previous rotation isn't complete. That rotation will be reattempted.
无法理解发生了什么。有人能帮忙吗?
不幸的是,没有开箱即用的方法,因为Secrets Manger没有内置SNS通知,也没有用于旋转完成时的CloudWatch事件。
因此,您必须自己构造一个解决方案,这可以使用SDK或CLI来完成。
对于CLI,您可以使用description-secret并在循环中提取秘密细节。在这个循环中,您必须查看版本的awpending
和awscurrent
标签。
从文档中:
相反,如果awdensing staging标签存在,但没有附加到与AWSCURRENT相同的版本,那么以后对RotateSecret的任何调用都假定以前的循环请求仍在进行中,并返回一个错误。
所以基本上,看看你的输出:
{
"VersionId": "704102f3-b36d-4529-b257-0457354d3c93",
"VersionStages": [
"AWSPENDING"
],
"CreatedDate": 1592890351.334
}
我正在使用Ruby和aws sdk从S3下载一个文件夹。如何检查每个文件是否已成功下载?这只是检查本地计算机上是否存在文件吗?
问题内容: 好吧,我是SQL的新手,我刚刚读到,存储过程始终返回一个值,确定该过程中的查询是否已成功执行是一种很好的做法。 所以我有一个带有select语句的简单存储过程,如果要执行,我想返回1,否则返回-1。 您能告诉我如何用SQL编写该条件吗? 如果有关系,我的数据库是MS SQL Server。 谢谢你。 问题答案: 使用输出参数返回成功状态以及Try..Catch块
我需要在。我发现了这里提到的一种方法。它表明: 快照完成后,使用更新的白名单启动原始连接器 但是如何才能发现快照是否完整呢?
问题内容: 我用Java编写了一个简短的测试代码,以上传内存中生成的PDF文件。在此测试代码中,我仅使用一个虚拟字节数组,但在实际使用中,我将在该字节数组中放置生成的PDF(最多2-3页)。一切正常:上传文件并设置权限。 但是,由于返回了PutObjectResult,所以我想知道应该如何检查它。还是足以找到AmazonClientException和AmazonServiceException异
问题内容: 检测下载是否完成的最佳方法是什么,因为此后我想更新数据库。 我尝试了PHP手册中的一些代码,但对我来说并没有多大作用: 问题答案: 但这并不能真正告诉您用户是否已完成下载。当 您 完成向用户发送字节后,它将告诉您,但它并没有说明用户实际收到了多少字节。 实际上,PHP(服务器端而非客户端语言)无法真正检测文件下载何时完成。最好的办法是在下载开始时将下载记录在数据库中。如果您绝对,完全和
我正在尝试使用JunRAR提取RAR文件。但正如我从这个问题中读到的:OutOfMemoryError当我在Android上解压缩RAR文件时,JunRAR尚未针对Android进行优化。所以,我想做的是检查提取是否成功,然后如果失败则给出错误消息。(因为如果提取不成功,我的应用程序会崩溃)。有人能告诉我如何进行检查吗?我的线程在这里完成: 这是我的Logcat错误: