2017/11/17 - Amazon Relational Database Service - 1 new api methods
Changes Amazon RDS now supports importing MySQL databases by using backup files from Amazon S3.
Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into an Amazon RDS MySQL DB Instance .
See also: AWS API Documentation
Request Syntax
client.restore_db_instance_from_s3( DBName='string', DBInstanceIdentifier='string', AllocatedStorage=123, DBInstanceClass='string', Engine='string', MasterUsername='string', MasterUserPassword='string', DBSecurityGroups=[ 'string', ], VpcSecurityGroupIds=[ 'string', ], AvailabilityZone='string', DBSubnetGroupName='string', PreferredMaintenanceWindow='string', DBParameterGroupName='string', BackupRetentionPeriod=123, PreferredBackupWindow='string', Port=123, MultiAZ=True|False, EngineVersion='string', AutoMinorVersionUpgrade=True|False, LicenseModel='string', Iops=123, OptionGroupName='string', PubliclyAccessible=True|False, Tags=[ { 'Key': 'string', 'Value': 'string' }, ], StorageType='string', StorageEncrypted=True|False, KmsKeyId='string', CopyTagsToSnapshot=True|False, MonitoringInterval=123, MonitoringRoleArn='string', EnableIAMDatabaseAuthentication=True|False, SourceEngine='string', SourceEngineVersion='string', S3BucketName='string', S3Prefix='string', S3IngestionRoleArn='string', EnablePerformanceInsights=True|False, PerformanceInsightsKMSKeyId='string' )
string
The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance .
string
[REQUIRED]
The DB instance identifier. This parameter is stored as a lowercase string.
Constraints:
Must contain from 1 to 63 letters, numbers, or hyphens.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Example: mydbinstance
integer
The amount of storage (in gigabytes) to allocate initially for the DB instance. Follow the allocation rules specified in CreateDBInstance .
Note
Be sure to allocate enough memory for your new DB instance so that the restore operation can succeed. You can also allocate additional memory for future growth.
string
[REQUIRED]
The compute and memory capacity of the DB instance, for example, db.m4.large . Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.
Importing from Amazon S3 is not supported on the db.t2.micro DB instance class.
string
[REQUIRED]
The name of the database engine to be used for this instance.
Valid Values: mysql
string
The name for the master user.
Constraints:
Must be 1 to 16 letters or numbers.
First character must be a letter.
Cannot be a reserved word for the chosen database engine.
string
The password for the master user. The password can include any printable ASCII character except "/", """, or "@".
Constraints: Must contain from 8 to 41 characters.
list
A list of DB security groups to associate with this DB instance.
Default: The default DB security group for the database engine.
(string) --
list
A list of VPC security groups to associate with this DB instance.
(string) --
string
The Availability Zone that the DB instance is created in. For information about AWS Regions and Availability Zones, see Regions and Availability Zones .
Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.
Example: us-east-1d
Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true . The specified Availability Zone must be in the same AWS Region as the current endpoint.
string
A DB subnet group to associate with this DB instance.
string
The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window .
Constraints:
Must be in the format ddd:hh24:mi-ddd:hh24:mi .
Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
Must be in Universal Coordinated Time (UTC).
Must not conflict with the preferred backup window.
Must be at least 30 minutes.
string
The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default parameter group for the specified engine is used.
integer
The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance .
string
The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window .
Constraints:
Must be in the format hh24:mi-hh24:mi .
Must be in Universal Coordinated Time (UTC).
Must not conflict with the preferred maintenance window.
Must be at least 30 minutes.
integer
The port number on which the database accepts connections.
Type: Integer
Valid Values: 1150 -65535
Default: 3306
boolean
Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ is set to true , you can't set the AvailabilityZone parameter.
string
The version number of the database engine to use. Choose the latest minor version of your database engine as specified in CreateDBInstance .
boolean
True to indicate that minor engine upgrades are applied automatically to the DB instance during the maintenance window, and otherwise false.
Default: true
string
The license model for this DB instance. Use general-public-license .
integer
The amount of Provisioned IOPS (input/output operations per second) to allocate initially for the DB instance. For information about valid Iops values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance .
string
The name of the option group to associate with this DB instance. If this argument is omitted, the default option group for the specified engine is used.
boolean
Specifies whether the DB instance is publicly accessible or not. For more information, see CreateDBInstance .
list
A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources .
(dict) --
Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
Key (string) --
A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
Value (string) --
A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with "aws:" or "rds:". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
string
Specifies the storage type to be associated with the DB instance.
Valid values: standard | gp2 | io1
If you specify io1 , you must also include a value for the Iops parameter.
Default: io1 if the Iops parameter is specified; otherwise standard
boolean
Specifies whether the new DB instance is encrypted or not.
string
The AWS KMS key identifier for an encrypted DB instance.
The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.
If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.
boolean
True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false.
Default: false.
integer
The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0.
If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.
Valid Values: 0, 1, 5, 10, 15, 30, 60
Default: 0
string
The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess . For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring .
If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.
boolean
True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.
Default: false
string
[REQUIRED]
The name of the engine of your source database.
Valid Values: mysql
string
[REQUIRED]
The engine version of your source database.
Valid Values: 5.6
string
[REQUIRED]
The name of your Amazon S3 bucket that contains your database backup file.
string
The prefix of your Amazon S3 bucket.
string
[REQUIRED]
An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket.
boolean
True to enable Performance Insights for the DB instance, and otherwise false.
string
The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key.
dict
Response Syntax
{ 'DBInstance': { 'DBInstanceIdentifier': 'string', 'DBInstanceClass': 'string', 'Engine': 'string', 'DBInstanceStatus': 'string', 'MasterUsername': 'string', 'DBName': 'string', 'Endpoint': { 'Address': 'string', 'Port': 123, 'HostedZoneId': 'string' }, 'AllocatedStorage': 123, 'InstanceCreateTime': datetime(2015, 1, 1), 'PreferredBackupWindow': 'string', 'BackupRetentionPeriod': 123, 'DBSecurityGroups': [ { 'DBSecurityGroupName': 'string', 'Status': 'string' }, ], 'VpcSecurityGroups': [ { 'VpcSecurityGroupId': 'string', 'Status': 'string' }, ], 'DBParameterGroups': [ { 'DBParameterGroupName': 'string', 'ParameterApplyStatus': 'string' }, ], 'AvailabilityZone': 'string', 'DBSubnetGroup': { 'DBSubnetGroupName': 'string', 'DBSubnetGroupDescription': 'string', 'VpcId': 'string', 'SubnetGroupStatus': 'string', 'Subnets': [ { 'SubnetIdentifier': 'string', 'SubnetAvailabilityZone': { 'Name': 'string' }, 'SubnetStatus': 'string' }, ], 'DBSubnetGroupArn': 'string' }, 'PreferredMaintenanceWindow': 'string', 'PendingModifiedValues': { 'DBInstanceClass': 'string', 'AllocatedStorage': 123, 'MasterUserPassword': 'string', 'Port': 123, 'BackupRetentionPeriod': 123, 'MultiAZ': True|False, 'EngineVersion': 'string', 'LicenseModel': 'string', 'Iops': 123, 'DBInstanceIdentifier': 'string', 'StorageType': 'string', 'CACertificateIdentifier': 'string', 'DBSubnetGroupName': 'string' }, 'LatestRestorableTime': datetime(2015, 1, 1), 'MultiAZ': True|False, 'EngineVersion': 'string', 'AutoMinorVersionUpgrade': True|False, 'ReadReplicaSourceDBInstanceIdentifier': 'string', 'ReadReplicaDBInstanceIdentifiers': [ 'string', ], 'ReadReplicaDBClusterIdentifiers': [ 'string', ], 'LicenseModel': 'string', 'Iops': 123, 'OptionGroupMemberships': [ { 'OptionGroupName': 'string', 'Status': 'string' }, ], 'CharacterSetName': 'string', 'SecondaryAvailabilityZone': 'string', 'PubliclyAccessible': True|False, 'StatusInfos': [ { 'StatusType': 'string', 'Normal': True|False, 'Status': 'string', 'Message': 'string' }, ], 'StorageType': 'string', 'TdeCredentialArn': 'string', 'DbInstancePort': 123, 'DBClusterIdentifier': 'string', 'StorageEncrypted': True|False, 'KmsKeyId': 'string', 'DbiResourceId': 'string', 'CACertificateIdentifier': 'string', 'DomainMemberships': [ { 'Domain': 'string', 'Status': 'string', 'FQDN': 'string', 'IAMRoleName': 'string' }, ], 'CopyTagsToSnapshot': True|False, 'MonitoringInterval': 123, 'EnhancedMonitoringResourceArn': 'string', 'MonitoringRoleArn': 'string', 'PromotionTier': 123, 'DBInstanceArn': 'string', 'Timezone': 'string', 'IAMDatabaseAuthenticationEnabled': True|False, 'PerformanceInsightsEnabled': True|False, 'PerformanceInsightsKMSKeyId': 'string' } }
Response Structure
(dict) --
DBInstance (dict) --
Contains the details of an Amazon RDS DB instance.
This data type is used as a response element in the DescribeDBInstances action.
DBInstanceIdentifier (string) --
Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.
DBInstanceClass (string) --
Contains the name of the compute and memory capacity class of the DB instance.
Engine (string) --
Provides the name of the database engine to be used for this DB instance.
DBInstanceStatus (string) --
Specifies the current state of this database.
MasterUsername (string) --
Contains the master username for the DB instance.
DBName (string) --
The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines.
MySQL, MariaDB, SQL Server, PostgreSQL
Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.
Type: String
Oracle
Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.
Endpoint (dict) --
Specifies the connection endpoint.
Address (string) --
Specifies the DNS address of the DB instance.
Port (integer) --
Specifies the port that the database engine is listening on.
HostedZoneId (string) --
Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
AllocatedStorage (integer) --
Specifies the allocated storage size specified in gigabytes.
InstanceCreateTime (datetime) --
Provides the date and time the DB instance was created.
PreferredBackupWindow (string) --
Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod .
BackupRetentionPeriod (integer) --
Specifies the number of days for which automatic DB snapshots are retained.
DBSecurityGroups (list) --
Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.
(dict) --
This data type is used as a response element in the following actions:
ModifyDBInstance
RebootDBInstance
RestoreDBInstanceFromDBSnapshot
RestoreDBInstanceToPointInTime
DBSecurityGroupName (string) --
The name of the DB security group.
Status (string) --
The status of the DB security group.
VpcSecurityGroups (list) --
Provides a list of VPC security group elements that the DB instance belongs to.
(dict) --
This data type is used as a response element for queries on VPC security group membership.
VpcSecurityGroupId (string) --
The name of the VPC security group.
Status (string) --
The status of the VPC security group.
DBParameterGroups (list) --
Provides the list of DB parameter groups applied to this DB instance.
(dict) --
The status of the DB parameter group.
This data type is used as a response element in the following actions:
CreateDBInstance
CreateDBInstanceReadReplica
DeleteDBInstance
ModifyDBInstance
RebootDBInstance
RestoreDBInstanceFromDBSnapshot
DBParameterGroupName (string) --
The name of the DP parameter group.
ParameterApplyStatus (string) --
The status of parameter updates.
AvailabilityZone (string) --
Specifies the name of the Availability Zone the DB instance is located in.
DBSubnetGroup (dict) --
Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.
DBSubnetGroupName (string) --
The name of the DB subnet group.
DBSubnetGroupDescription (string) --
Provides the description of the DB subnet group.
VpcId (string) --
Provides the VpcId of the DB subnet group.
SubnetGroupStatus (string) --
Provides the status of the DB subnet group.
Subnets (list) --
Contains a list of Subnet elements.
(dict) --
This data type is used as a response element in the DescribeDBSubnetGroups action.
SubnetIdentifier (string) --
Specifies the identifier of the subnet.
SubnetAvailabilityZone (dict) --
Contains Availability Zone information.
This data type is used as an element in the following data type:
OrderableDBInstanceOption
Name (string) --
The name of the availability zone.
SubnetStatus (string) --
Specifies the status of the subnet.
DBSubnetGroupArn (string) --
The Amazon Resource Name (ARN) for the DB subnet group.
PreferredMaintenanceWindow (string) --
Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
PendingModifiedValues (dict) --
Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.
DBInstanceClass (string) --
Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.
AllocatedStorage (integer) --
Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.
MasterUserPassword (string) --
Contains the pending or currently-in-progress change of the master credentials for the DB instance.
Port (integer) --
Specifies the pending port for the DB instance.
BackupRetentionPeriod (integer) --
Specifies the pending number of days for which automated backups are retained.
MultiAZ (boolean) --
Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
EngineVersion (string) --
Indicates the database engine version.
LicenseModel (string) --
The license model for the DB instance.
Valid values: license-included | bring-your-own-license | general-public-license
Iops (integer) --
Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.
DBInstanceIdentifier (string) --
Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.
StorageType (string) --
Specifies the storage type to be associated with the DB instance.
CACertificateIdentifier (string) --
Specifies the identifier of the CA certificate for the DB instance.
DBSubnetGroupName (string) --
The new DB subnet group for the DB instance.
LatestRestorableTime (datetime) --
Specifies the latest time to which a database can be restored with point-in-time restore.
MultiAZ (boolean) --
Specifies if the DB instance is a Multi-AZ deployment.
EngineVersion (string) --
Indicates the database engine version.
AutoMinorVersionUpgrade (boolean) --
Indicates that minor version patches are applied automatically.
ReadReplicaSourceDBInstanceIdentifier (string) --
Contains the identifier of the source DB instance if this DB instance is a Read Replica.
ReadReplicaDBInstanceIdentifiers (list) --
Contains one or more identifiers of the Read Replicas associated with this DB instance.
(string) --
ReadReplicaDBClusterIdentifiers (list) --
Contains one or more identifiers of Aurora DB clusters that are Read Replicas of this DB instance.
(string) --
LicenseModel (string) --
License model information for this DB instance.
Iops (integer) --
Specifies the Provisioned IOPS (I/O operations per second) value.
OptionGroupMemberships (list) --
Provides the list of option group memberships for this DB instance.
(dict) --
Provides information on the option groups the DB instance is a member of.
OptionGroupName (string) --
The name of the option group that the instance belongs to.
Status (string) --
The status of the DB instance's option group membership. Valid values are: in-sync , pending-apply , pending-removal , pending-maintenance-apply , pending-maintenance-removal , applying , removing , and failed .
CharacterSetName (string) --
If present, specifies the name of the character set that this instance is associated with.
SecondaryAvailabilityZone (string) --
If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.
PubliclyAccessible (boolean) --
Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.
Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.
Default VPC: true
VPC: false
If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance is publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance is private.
StatusInfos (list) --
The status of a Read Replica. If the instance is not a Read Replica, this is blank.
(dict) --
Provides a list of status information for a DB instance.
StatusType (string) --
This value is currently "read replication."
Normal (boolean) --
Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.
Status (string) --
Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.
Message (string) --
Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.
StorageType (string) --
Specifies the storage type associated with DB instance.
TdeCredentialArn (string) --
The ARN from the key store with which the instance is associated for TDE encryption.
DbInstancePort (integer) --
Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.
DBClusterIdentifier (string) --
If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.
StorageEncrypted (boolean) --
Specifies whether the DB instance is encrypted.
KmsKeyId (string) --
If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.
DbiResourceId (string) --
The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.
CACertificateIdentifier (string) --
The identifier of the CA certificate for this DB instance.
DomainMemberships (list) --
The Active Directory Domain membership records associated with the DB instance.
(dict) --
An Active Directory Domain membership record associated with the DB instance.
Domain (string) --
The identifier of the Active Directory Domain.
Status (string) --
The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).
FQDN (string) --
The fully qualified domain name of the Active Directory Domain.
IAMRoleName (string) --
The name of the IAM role to be used when making API calls to the Directory Service.
CopyTagsToSnapshot (boolean) --
Specifies whether tags are copied from the DB instance to snapshots of the DB instance.
MonitoringInterval (integer) --
The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.
EnhancedMonitoringResourceArn (string) --
The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.
MonitoringRoleArn (string) --
The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.
PromotionTier (integer) --
A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster .
DBInstanceArn (string) --
The Amazon Resource Name (ARN) for the DB instance.
Timezone (string) --
The time zone of the DB instance. In most cases, the Timezone element is empty. Timezone content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.
IAMDatabaseAuthenticationEnabled (boolean) --
True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.
IAM database authentication can be enabled for the following database engines
For MySQL 5.6, minor version 5.6.34 or higher
For MySQL 5.7, minor version 5.7.16 or higher
Aurora 5.6 or higher. To enable IAM database authentication for Aurora, see DBCluster Type.
PerformanceInsightsEnabled (boolean) --
True if Performance Insights is enabled for the DB instance, and otherwise false.
PerformanceInsightsKMSKeyId (string) --
The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.