开发手册 欢迎您!
软件开发者资料库

亚马逊RDS - 接口

Amazon RDS初学者教程 - 从基本到高级概念的简单简单步骤学习Amazon RDS,其中包括概述,环境,接口,数据库实例,数据库存储,MS SQL功能,MS SQL创建数据库,MS SQL连接到数据库, MS SQL DB导出导入,带有SSL的MS SQL DB,MS SQL DBA任务,Oracle功能,Oracle创建数据库,Oracle连接到数据库,Oracle DB数据导入,Oracle DBA任务,MariaDB功能,MariaDB连接到数据库,MariaDB数据导入, PostgresSQL功能,PostgresSQL创建数据库,PostgresSQL连接数据库,PostgresSQL数据导入,MySQL功能,MySQL创建数据库,MySQL连接数据库,MySQL数据库导出导入,MySQL DBA任务,多可用区部署,数据库快照,数据库监控,事件通知,DB访问控制。

RDS接口是访问我们创建的RDS服务的一种方式.在创建和配置RDS服务之后,需要访问数据,将数据上载到该数据库并运行应该能够连接到数据库的其他程序.数据库的最终用户访问和操作数据的这些要求,而不一定是创建数据库的AWS账户持有者需要这些接口.

有三种主要的接口.

GUI控制台

这是用户可以通过Web浏览器登录并开始使用数据库服务的最简单的接口.这种访问的缺点是,它需要一个人与RDS服务进行交互,我们无法运行数据库程序来执行一些常规任务,如备份或分析数据库等.

aws_interface_mgmt_console.JPG

命令行界面

它是也称为CLI访问,您可以通过AWS命令提示符屏幕执行DB命令,该屏幕应该已安装在您正在使用的客户端计算机中.以下是在本地系统中安装CLI的步骤,您将使用它来访问AWS服务.

安装AWS CLI的步骤如下.

Step-1

检查环境中的python版本.

ubuntu@ubuntu:~$ python -Vubuntu@ubuntu:~$ python3 -V

当我们运行上面的程序时,我们得到以下输出 :

Python 2.7.12 Python 3.5.2

如果版本低于2.6或3.3,则需要升级系统中的python版本.

步骤-2

检查名为pip的python包的可用性.需要安装AWS CLI.

Pip -V

当我们运行上述程序时,我们得到以下输出 :

pip 10.0.1 from /home/ubuntu/.local/lib/python3.5/site-packages/pip (python 3.5)

步骤-3

发出以下命令以安装AWS CLI.

pip install awscli –upgrade –useraws --version

当我们运行上述程序时,我们得到以下输出 :

Aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0

Step-4

接下来,我们使用凭据配置aws CLI.我们发出此命令,然后逐个输入所需的值.

aws configure

当我们运行上述程序时,我们得到以下输出 :

AWS Access Key ID [None]: ****PLEAWS Secret Access Key [None]: ********8Default region name [None]: us-west-2Default output format [None]: json

通过上述配置,您现在可以使用CLI与AWS环境进行通信,以设置和使用amazon RDS.在接下来的章节中,我们将看到我们如何做到这一点.

AWS API

Amazon Relational Database Service(Amazon RDS)提供应用程序编程接口(API).当在系统之间交换信息而不是发出命令并接收结果的人时,使用API.例如,如果要在事务数达到特定阈值时自动将数据库实例添加到RDS服务,则使用AWS开发工具包编写程序,该程序将监视数据库事务的数量并分离RDS满足所需条件时的实例.

以下是创建数据库快照副本的API代码示例.它是一个python程序,它使用名为boto3的AWS sdk. boto3中的客户端库有一个名为copy_db_snapshot的方法,该方法由python程序调用,以创建具有所需参数的数据库快照的副本,如图所示.

import boto3client = boto3.client('rds')response = client.copy_db_snapshot(    SourceDBSnapshotIdentifier='mydbsnapshot',    TargetDBSnapshotIdentifier='mydbsnapshot-copy',)print(response)

当运行上述程序时,我们得到描述复制事件的各种属性的响应.这里术语字符串表示用户为其环境定义的参数的各种名称.例如,VpcID表示发生复制操作的vpc的ID.

{    'DBSnapshot': {        'DBSnapshotIdentifier': 'string',        'DBInstanceIdentifier': 'string',        'SnapshotCreateTime': datetime(2015, 1, 1),        'Engine': 'string',        'AllocatedStorage': 123,        'Status': 'string',        'Port': 123,        'AvailabilityZone': 'string',        'VpcId': 'string',        'InstanceCreateTime': datetime(2015, 1, 1),        'MasterUsername': 'string',        'EngineVersion': 'string',        'LicenseModel': 'string',        'SnapshotType': 'string',        'Iops': 123,        'OptionGroupName': 'string',        'PercentProgress': 123,        'SourceRegion': 'string',        'SourceDBSnapshotIdentifier': 'string',        'StorageType': 'string',        'TdeCredentialArn': 'string',        'Encrypted': True|False,        'KmsKeyId': 'string',        'DBSnapshotArn': 'string',        'Timezone': 'string',        'IAMDatabaseAuthenticationEnabled': True|False,        'ProcessorFeatures': [            {                'Name': 'string',                'Value': 'string'            },        ]    }}