Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用 SOAP API

WSDL 和架构定义

您可以使用 SOAP Web 服务消息发送协议访问 Amazon Relational Database Service。此接口由 Web 服务描述语言 (WSDL) 文件描述,以定义特定服务的操作和安全模式。WSDL 引用 XML 模式文档,其中严格限定可能出现在 SOAP 请求和响应中的数据类型。有关 WSDL 和 SOAP 的详细信息,请参阅 Web 服务参考

注意

Amazon RDS 仅通过 HTTPS 支持 SOAP。

所有纲要必须注有版本编号。版本编号会在纲要文件的 URL 和纲要目标命名空间中显示。这使通过版本号来区分请求以实现升级的操作变得非常简单。

可在以下位置获得 Amazon RDS WSDL 的最新版本:

区域 WSDL 位置
美国东部(弗吉尼亚北部)地区 https://rds.us-east-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
美国东部(俄亥俄)区域 https://rds.us-east-2.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
美国西部(加利福利亚北部)区域 https://rds.us-west-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
美国西部(俄勒冈)区域 https://rds.us-west-2.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
亚太地区(孟买)区域 https://rds.ap-south-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
亚太区域(首尔) https://rds.ap-northeast-2.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
亚太区域(新加坡) https://rds.ap-southeast-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
亚太区域(悉尼) https://rds.ap-southeast-2.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
亚太区域(东京) https://rds.ap-northeast-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
加拿大 (中部) 区域 https://rds.ca-central-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
欧洲(法兰克福)区域 https://rds.eu-central-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
欧洲(爱尔兰)区域 https://rds.eu-west-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
欧洲 (伦敦) 区域 https://rds.eu-west-2.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl
南美洲(圣保罗)区域 https://rds.sa-east-1.amazonaws.com/doc/2014-10-31/AmazonRDSv7.wsdl

编程语言支持

由于 Amazon RDS 中的 SOAP 请求和响应都遵循了最新标准,因此可以使用支持相应库的任何编程语言。已知拥有此支持的语言包括 C++、C#、Java、Perl、Python 和 Ruby。

请求身份验证

Amazon RDS 遵循当前的 WS – Security 标准,这就要求您对 SOAP 请求执行哈希算法并进行签名,以实现完整性和不可否认性。WS 安全定义用于确保各级安全的配置文件。使用 BinarySecurityToken 配置文件确保 SOAP 信息的安全,该配置文件包含配备了 RSA 公有密钥的 X.509 证书。

以下为不稳定的 DescribeDBInstances 操作的内容:

<DescribeDBInstances> <MaxRecords>100<MaxRecords> </DescribeDBInstances>

为确保请求安全,我们添加了 BinarySecurityToken 元素。

请求的安全版本以以下内容开始:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-2"> <wsu:Created>2009-10-28T18:41:59.597Z</wsu:Created> <wsu:Expires>2009-10-28T18:46:59.597Z</wsu:Expires> </wsu:Timestamp> <wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="CertId-5992FC58FDECA60AF912567553195531" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> ....many, many lines of base64 encoded X.509 certificate... </wsse:BinarySecurityToken> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-1"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <ds:Reference URI="#Timestamp-2"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>DLFQyK61qWoJiMyC9w34siRELAM=</ds:DigestValue> </ds:Reference> <ds:Reference URI="#id-3"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>gUnvvoUezxgt56eBl2kW/y5diMk=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>OMoJJqqDnahRt/9H2n8obJolyVprpziAzlFRZ9KbdwXJoD1Rl2sAikZ0IJW7/VS9q8GH4JDsT2v1 UoUogKgRSWy3sU4943g1T0vhyigbUm4vNxE/qUKmSIXx2ed/8buaF9oRiB8zYDu0/qRT+QQ73rdaoyn2YRNkSi2+6P2FHmE= </ds:SignatureValue> <ds:KeyInfo Id="KeyId-5992FC58FDECA60AF912567553195672"> <wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="STRId-5992FC58FDECA60AF912567553195703" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:Reference URI="#CertId-5992FC58FDECA60AF912567553195531" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"/> </wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature> </wsse:Security> </soap:Header>

如果您将此与 Amazon RDS 提供的库生成的请求或另一供应商的请求进行匹配,以下为最重要的元素。

元素

  • BinarySecurityToken – 包含以 base64 编码的 PEM 格式的 X.509 证书。

  • Signature – 包含使用标准化、签名算法和摘要式方法创建的 XML 数字签名

  • Timestamp – 此值对 Amazon RDS 的请求在 5 分钟内有效,以帮助防止重播攻击

响应结构

响应请求时,Amazon RDS 服务会返回符合 XML 架构的 XML 数据结构,而根据定义,该架构是 Amazon RDS WSDL 的一部分。对于相关的请求而言,XML 响应的结构都是特定的。

以下为响应示例:

<DescribeDBInstancesResponse xmlns="http://rds.amazonaws.com/admin/2009-10-16/"> <DescribeDBInstancesResult> <DBInstances/> </DescribeDBInstancesResult> <ResponseMetadata> <RequestId>946cda70-c3f1-11de-807a-79c03c55f7d4</RequestId> </ResponseMetadata> </DescribeDBInstancesResponse>

Web 服务参考

有关使用 Web 服务的更多信息,请参阅以下任一资源: