Amazon web services 访问AWS RDS描述数据库快照API
我试图访问aws rds api来描述db快照。我计划对其进行解析,以便使用groovy按id列出所有可用的aws快照。然而,我面临的最大问题是首先要获得api。我查看了AWS在这个主题上的参考资料,但似乎不知道如何使用凭据生成请求的预签名部分。我甚至不知道为什么这一部分是必要的。为什么用户不能使用访问密钥ID和秘密访问密钥组合进行身份验证 参考资料: 有关问题的章节:Amazon web services 访问AWS RDS描述数据库快照API,amazon-web-services,api,amazon-rds,jenkins-groovy,Amazon Web Services,Api,Amazon Rds,Jenkins Groovy,我试图访问aws rds api来描述db快照。我计划对其进行解析,以便使用groovy按id列出所有可用的aws快照。然而,我面临的最大问题是首先要获得api。我查看了AWS在这个主题上的参考资料,但似乎不知道如何使用凭据生成请求的预签名部分。我甚至不知道为什么这一部分是必要的。为什么用户不能使用访问密钥ID和秘密访问密钥组合进行身份验证 参考资料: 有关问题的章节: https://rds.us-west-2.amazonaws.com/ ?Action=DescribeDBSnap
https://rds.us-west-2.amazonaws.com/
?Action=DescribeDBSnapshots
&IncludePublic=false
&IncludeShared=true
&MaxRecords=100
&SignatureMethod=HmacSHA256
&SignatureVersion=4
&Version=2014-09-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIADQKE4SARGYLE/20140421/us-west-2/rds/aws4_request
&X-Amz-Date=20140421T194732Z
&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
&X-Amz-Signature=4aa31bdcf7b5e00dadffbd6dc8448a31871e283ffe270e77890e15487354bcca
如果groovy是一个很难满足的需求,那么我会研究类似这样的东西 如果您对Java感到满意,我建议您使用官方的AWS-SDK 如果要编写脚本,还可以使用官方的AWS cli工具执行以下操作
aws rds描述数据库快照[选项]
从那里,您可以使用像jq
这样的工具来归零并解析出您的特定ID。您可以找到更多文档
您使用SDK进行授权的方式可以是通过环境变量(首选方法),也可以是硬编码您的密钥和密码(大不可以)如果groovy是一个硬需求,我会研究类似的内容 如果您对Java感到满意,我建议您使用官方的AWS-SDK 如果要编写脚本,还可以使用官方的AWS cli工具执行以下操作
aws rds描述数据库快照[选项]
从那里,您可以使用像jq
这样的工具来归零并解析出您的特定ID。您可以找到更多文档
使用SDK进行授权的方式可以是通过环境变量(首选方法)或者可能是硬编码密钥和机密(大不可以)我认为,与其直接尝试与API通信,不如使用AWS提供的内置包装器 如果您使用受支持的编程语言访问此文件,请查看。目前有以下官方支持的库:
- C++
- 去
- 爪哇
- JavaScript
- .NET
- NodeJS
- PHP
- 蟒蛇
- 红宝石
aws rds describe-db-snapshots --query 'DBSnapshots[*].DBSnapshotIdentifier' --format json
我认为与其直接与API通信,不如使用AWS提供的内置包装器 如果您使用受支持的编程语言访问此文件,请查看。目前有以下官方支持的库:
- C++
- 去
- 爪哇
- JavaScript
- .NET
- NodeJS
- PHP
- 蟒蛇
- 红宝石
aws rds describe-db-snapshots --query 'DBSnapshots[*].DBSnapshotIdentifier' --format json
我将此api调用用作Jenkins管道参数的一部分。我不知道我有多少选择。我在管道的各个阶段使用aws api。我将不得不像你建议的那样研究aws sdk作为替代方案。如果你有Jenkins的管理员权限,那么实际上有一个Jenkins插件。如果没有,你可以随时安装它,但这可能会给你的管道增加一些时间。不要尝试直接调用REST,v4签名是个麻烦。我将此api调用用作Jenkins管道参数的一部分。我不知道我有多少选择。我在管道的各个阶段使用aws api。我将不得不像你建议的那样研究aws sdk作为替代方案。如果你有Jenkins的管理员权限,那么实际上有一个Jenkins插件。如果没有,你可以随时安装它,但这可能会给你的管道增加一些时间。不要尝试直接调用REST,v4签名是个麻烦。