游客cb6nupzysxah2_个人页

游客cb6nupzysxah2
0
1
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 提交了问题 2018-06-29

    如何设置静态网站托管

  • 提交了问题 2018-05-02

    创建 RDS for MySQL 实例间数据实时同步作业

  • 提交了问题 2018-04-29

    RDS 续费变更配置,会不会造成数据库不能访问

  • 回答了问题 2018-03-07

    把服务器上的数据库同步到云数据库上

    详细解答可以参考官方帮助文档适用场景使用数据传输DTS可以实现ECS自建数据库到RDS/MongoDB/Redis/DRDS/PetaData/OceanBase实例的数据迁移。对于支持增量迁移的存储引擎,还可以使用DTS在ECS自建数据库不停服的情况下,将数据迁移到目标实例。 本小节简单介绍使用DTS进行ECS自建数据库迁移到RDS/MongoDB/Redis/DRDS/PetaData/OceanBase等实例的数据迁移任务的配置流程。 环境准备 创建RDS实例数据库 如果目标实例为RDS实例,如果待迁移的数据库在目标RDS实例中不存在,那么DTS自动会创建。但是对于如下两种情况,用户需要在配置迁移任务之前,手动创建数据库。 数据库名称不符合:RDS定义规范(由小写字母、数字、下划线、中划线组成,字母开头,字母或数字结尾,最长64个字符)。待迁移数据库,在ECS自建数据库跟目标RDS实例中存储名称不同。 对于这两种情况,用户需要在配置迁移任务之前,先在RDS控制台完成数据库创建。具体参考RDS数据库创建流程。 创建迁移帐号 迁移任务配置时,需要提供ECS自建数据库及目的实例的迁移账号。 自建数据库的存储引擎不同,账号创建及权限授权的方式不同,具体授权方式可以参考各存储引擎的官方文档。 目的实例的迁移账号可以参考各个云产品的使用手册,进行账号创建。例如,RDS实例的迁移账号的创建流程可以参考 RDS账号创建说明。 操作步骤 以目标实例所属阿里云账号登录DTS数据传输控制台,单击右上角的创建迁移任务,开始任务配置。 设置实例连接信息。 这个步骤主要配置迁移任务名称、源ECS连接信息及目标实例连接信息。其中: 任务名称 DTS为每个任务自动生成一个任务名称,任务名称没有唯一性要求。您可以根据需要修改任务名称,建议为任务配置具有业务意义的名称,便于后续的任务识别。 源实例信息 实例类型:选择 ECS上的自建数据库ECS实例ID: 配置迁移的源ECS实例的实例ID。DTS支持经典网络、VPC网络的ECS实例。如果ECS实例跟目标实例在不同地域,那么ECS上面必须挂载公网EIP。数据库类型:选择ECS上自建数据库的数据库类型,例如Oracle/MySQL/SQLServer/PostgreSQL/Redis/MongoDB等。数据库名称: 如果自建数据库为PostgreSQL/MongoDB, 那么需要配置数据库名称。这个数据库名称为连接ECS自建数据库时使用的默认数据库。数据库账号:连接自建数据库的账号。数据库密码:上面数据账号对应的密码。 目标实例信息 实例类型: 选择要迁入的实例对应的实例类型,包括RDS/MongoDB/Redis/DRDS/PetaData/OceanBase等。实例ID: 配置迁移的目标实例的实例ID。数据库名称:如果数据库类型为PostgreSQL/PPAS/MongoDB, 那么需要配置数据库名称。这个数据库名称为连接实例时使用的默认数据库。数据库账号:连接实例的账号。数据库密码:上面数据账号对应的密码。 下图以ECS上自建MongoDB到MongoDB实例的数据迁移为例,展示配置内容。 迁移类型及迁移对象选择 迁移类型 对于不同的数据库类型,DTS 支持的迁移类型不同。 如果只需要进行全量迁移,那么迁移类型选择:结构迁移+全量数据迁移。 对于支持增量迁移的数据库类型,如果需要进行不停机迁移,迁移类型选择:结构迁移+全量数据迁移+增量数据迁移。 迁移对象 这个步骤选择要迁移的对象。迁移对象的选择粒度细化为:库、表、列三个粒度。默认情况下,对象迁移到目标实例后,对象名跟源实例一致。如果您迁移的对象在源实例跟目标实例上名称不同,那么需要使用DTS提供的对象名映射功能,详细使用方式可以参考库表列映射。 预检查。 在迁移任务正式启动之前,会先进行前置预检查,只有预检查通过后,才能成功启动迁移。 如果预检查失败,那么可以点击具体检查项后的按钮,查看具体的失败详情,并根据失败原因修复后,重新进行预检查。 启动迁移任务。 当预检查通过后,可以启动迁移任务,任务启动成功后,可以在任务列表中查看迁移的具体状态及迁移进度。 如果选择了增量迁移,那么进入增量迁移阶段后,源库的更新写入都会被DTS同步到目标实例。迁移任务不会自动结束。如果用户只是为了迁移,那么建议在增量迁移无延迟的状态时,源库停写几分钟,等待增量迁移再次进入无延迟状态后,停止掉迁移任务,直接将业务切换到目标实例上即可。 至此,完成ECS自建数据库到目标实例的数据迁移任务的配置。 说明:配置迁移任务时如果选择了增量迁移,那么增量迁移过程中,若用户不结束迁移,任务会一直处于迁移中。建议在业务验证通过且增量迁移无延迟的状态时,源库停写几分钟,等待增量迁移再次进入无延迟状态后,停止掉迁移任务,将业务切换到目标实例上即可。
    踩1 评论0
  • 回答了问题 2018-02-09

    上传分片解析失败

    详细解答可以参考官方帮助文档OSS 移动端SDK 上传文件的方式可以分为:简单上传,追加上传,分片上传和断点续传。 简单上传上传Object可以直接上传OSSData,或者通过NSURL上传一个文件: OSSPutObjectRequest * put = [OSSPutObjectRequest new];// 必填字段put.bucketName = @'';put.objectKey = @'';put.uploadingFileURL = [NSURL fileURLWithPath:@''];// put.uploadingData = ; // 直接上传NSData// 可选字段,可不设置put.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) { // 当前上传段长度、当前已经上传总长度、一共需要上传的总长度 NSLog(@'%lld, %lld, %lld', bytesSent, totalByteSent, totalBytesExpectedToSend);};// 以下可选字段的含义参考: https://docs.aliyun.com/#/pub/oss/api-reference/object&PutObject// put.contentType = @'';// put.contentMd5 = @'';// put.contentEncoding = @'';// put.contentDisposition = @'';// put.objectMeta = [NSMutableDictionary dictionaryWithObjectsAndKeys:@'value1', @'x-oss-meta-name1', nil]; // 可以在上传时设置元信息或者其他HTTP头部OSSTask * putTask = [client putObject:put];[putTask continueWithBlock:^id(OSSTask *task) { if (!task.error) { NSLog(@'upload object success!'); } else { NSLog(@'upload object failed, error: %@' , task.error); } return nil;}];// [putTask waitUntilFinished];// [put cancel]; 上传到文件目录OSS服务是没有文件夹这个概念的,所有元素都是以文件来存储,但给用户提供了创建模拟文件夹的方式。创建模拟文件夹本质上来说是创建了一个名字以“/”结尾的文件,对于这个文件照样可以上传下载,只是控制台会对以“/”结尾的文件以文件夹的方式展示。 如,在上传文件是,如果把ObjectKey写为'folder/subfolder/file',即是模拟了把文件上传到folder/subfolder/下的file文件。注意,路径默认是”根目录”,不需要以’/‘开头。 上传时设置Content-Type和开启校验MD5上传时可以显式指定ContentType,如果没有指定,SDK会根据文件名或者上传的ObjectKey自动判断。另外,上传Object时如果设置了Content-Md5,那么OSS会用之检查消息内容是否与发送时一致。SDK提供了方便的Base64和MD5计算方法。 OSSPutObjectRequest * put = [OSSPutObjectRequest new];// 必填字段put.bucketName = @'';put.objectKey = @'';put.uploadingFileURL = [NSURL fileURLWithPath:@''];// put.uploadingData = ; // 直接上传NSData// 设置Content-Type,可选put.contentType = @'application/octet-stream';// 设置MD5校验,可选put.contentMd5 = [OSSUtil base64Md5ForFilePath:@'']; // 如果是文件路径// put.contentMd5 = [OSSUtil base64Md5ForData:]; // 如果是二进制数据// 进度设置,可选put.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) { // 当前上传段长度、当前已经上传总长度、一共需要上传的总长度 NSLog(@'%lld, %lld, %lld', bytesSent, totalByteSent, totalBytesExpectedToSend);};OSSTask * putTask = [client putObject:put];[putTask continueWithBlock:^id(OSSTask *task) { if (!task.error) { NSLog(@'upload object success!'); } else { NSLog(@'upload object failed, error: %@' , task.error); } return nil;}];// [putTask waitUntilFinished];// [put cancel]; 追加上传Append Object以追加写的方式上传文件。通过Append Object操作创建的Object类型为Appendable Object,而通过Put Object上传的Object是Normal Object。 OSSAppendObjectRequest * append = [OSSAppendObjectRequest new];// 必填字段append.bucketName = @'';append.objectKey = @'';append.appendPosition = 0; // 指定从何处进行追加NSString * docDir = [self getDocumentDirectory];append.uploadingFileURL = [NSURL fileURLWithPath:@''];// 可选字段append.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) { NSLog(@'%lld, %lld, %lld', bytesSent, totalByteSent, totalBytesExpectedToSend);};// 以下可选字段的含义参考:https://docs.aliyun.com/#/pub/oss/api-reference/object&AppendObject// append.contentType = @'';// append.contentMd5 = @'';// append.contentEncoding = @'';// append.contentDisposition = @'';OSSTask * appendTask = [client appendObject:append];[appendTask continueWithBlock:^id(OSSTask *task) { NSLog(@'objectKey: %@', append.objectKey); if (!task.error) { NSLog(@'append object success!'); OSSAppendObjectResult * result = task.result; NSString * etag = result.eTag; long nextPosition = result.xOssNextAppendPosition; } else { NSLog(@'append object failed, error: %@' , task.error); } return nil;}]; 上传后回调通知客户端在上传Object时可以指定OSS服务端在处理完上传请求后,通知您的业务服务器,在该服务器确认接收了该回调后将回调的结果返回给客户端。因为加入了回调请求和响应的过程,相比简单上传,使用回调通知机制一般会导致客户端花费更多的等待时间。 具体说明参考:Callback 代码示例: OSSPutObjectRequest * request = [OSSPutObjectRequest new];request.bucketName = @'';request.objectKey = @'';request.uploadingFileURL = [NSURL fileURLWithPath:@filepath>'];// 设置回调参数request.callbackParam = @{ @'callbackUrl': @'your server callback address>', @'callbackBody': @'your callback body>' };// 设置自定义变量request.callbackVar = @{ @'': @'', @'': @'' };request.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) { NSLog(@'%lld, %lld, %lld', bytesSent, totalByteSent, totalBytesExpectedToSend);};OSSTask * task = [client putObject:request];[task continueWithBlock:^id(OSSTask *task) { if (task.error) { OSSLogError(@'%@', task.error); } else { OSSPutObjectResult * result = task.result; NSLog(@'Result - requestId: %@, headerFields: %@, servercallback: %@', result.requestId, result.httpResponseHeaderFields, result.serverReturnJsonString); } return nil;}]; 分片上传因为篇幅的原因,分片上传参考:分片上传 断点续传 特别注意: 断点续传暂时只支持上传本地文件。 对于移动端来说,如果不是比较大的文件,不建议使用这种方式上传,因为断点续传是通过分片上传实现的,上传单个文件需要进行多次网络请求,效率不高。** 在无线网络下,上传比较大的文件持续时间长,可能会遇到因为网络条件差、用户切换网络等原因导致上传中途失败,整个文件需要重新上传。为此,SDK提供了断点上传功能。 在上传前,可以指定断点记录的保存文件夹。若不进行此项设置,断点上传只在本次上传生效,某个分片因为网络原因等上传失败时会进行重试,避免整个大文件重新上传,节省重试时间和耗用流量。如果设置了断点记录的保存文件夹,如果任务失败,在下次重新启动任务,上传同一文件到同一Bucket、Object时,如果用户设置取消时不删除断点记录。再次上传将从断点记录处继续上传。详见随后的范例。 断点续传失败时,如果同一任务一直得不到续传,可能会在OSS上积累无用碎片。对这种情况,可以为Bucket设置lifeCycle规则,定时清理碎片。参考:生命周期管理。 出于碎片管理的原因,如果在断点续传时取消当前任务。默认会同步清理已经上传到服务器的分片。如果取消时需要保留断点上传记录,需要指定断点记录的保存文件夹并修改deleteUploadIdOnCancelling参数。需要注意,如果本地保留记录时间过长,且Bucket设置lifeCycle规则定时清理了服务端分片。会出现服务端和移动端记录不一致的问题。 说明: 断点续传的实现依赖InitMultipartUpload/UploadPart/ListParts/CompleteMultipartUpload/AbortMultipartUpload,如果采用STS鉴权模式,请注意加上这些API所需的权限。 断点续传也支持上传后回调通知,用法和上述普通上传回调通知一致。 断点续传已经默认开启每个分片上传时的Md5校验,请勿重复在request中设置Content-Md5头部。 在本地持久保存断点记录的调用方式(默认是不设置): OSSResumableUploadRequest * resumableUpload = [OSSResumableUploadRequest new];resumableUpload.bucketName = OSS_BUCKET_PRIVATE;//...NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];resumableUpload.recordDirectoryPath = cachesDir; 断点续传功能实现 // 获得UploadId进行上传,如果任务失败并且可以续传,利用同一个UploadId可以上传同一文件到同一个OSS上的存储对象OSSResumableUploadRequest * resumableUpload = [OSSResumableUploadRequest new];resumableUpload.bucketName = ;resumableUpload.objectKey = ;resumableUpload.partSize = 1024 * 1024;resumableUpload.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) { NSLog(@'%lld, %lld, %lld', bytesSent, totalByteSent, totalBytesExpectedToSend);};NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];//设置断点记录文件resumableUpload.recordDirectoryPath = cachesDir;//设置NO,取消时,不删除断点记录文件,如果不进行设置,默认YES,是会删除断点记录文件,下次再进行上传时会重新上传。resumableUpload.deleteUploadIdOnCancelling = NO;resumableUpload.uploadingFileURL = [NSURL fileURLWithPath:your file path>];OSSTask * resumeTask = [client resumableUpload:resumableUpload];[resumeTask continueWithBlock:^id(OSSTask *task) { if (task.error) { NSLog(@'error: %@', task.error); if ([task.error.domain isEqualToString:OSSClientErrorDomain] && task.error.code == OSSClientErrorCodeCannotResumeUpload) { // 该任务无法续传,需要获取新的uploadId重新上传 } } else { NSLog(@'Upload file success'); } return nil;}];// [resumeTask waitUntilFinished];// [resumableUpload cancel]; 数据完整性校验因为移动端网络环境的复杂性,OSS SDK提供了基于MD5和CRC64的端到端的数据完整性验证功能。 MD5校验 需要在上传文件时提供文件的Content-MD5值,OSS服务器会帮助用户进行MD5校验,只有在OSS服务器计算接收到的文件得到的MD5值和上传提供的MD5一致时才可以上传成功,从而保证上传数据的完整性。 OSSPutObjectRequest * request = [OSSPutObjectRequest new];request.bucketName = BUCKET_NAME;...request.contentMd5 = [OSSUtil fileMD5String:filepath]; CRC校验 与MD5相比,CRC64可以同时上传并计算CRC值。 // 构造上传请求OSSPutObjectRequest * request = [OSSPutObjectRequest new];request.bucketName = OSS_BUCKET_PRIVATE;///....request.crcFlag = OSSRequestCRCOpen;// 开启crc效验后。如果在传输中数据不一致,会提示OSSClientErrorCodeInvalidCRC 错误。OSSTask * task = [_client putObject:request];[[task continueWithBlock:^id(OSSTask *task) { //如果crc效验失败,会有error XCTAssertNil(task.error); return nil;}] waitUntilFinished];
    踩1 评论0
  • 回答了问题 2018-01-17

    后端ECS要特别配置吗

    详细解答可以参考官方帮助文档 创建ECS实例后,您需要在ECS上部署相关应用。本教程将指引您使用Apache搭建两个静态网页。 操作步骤 登录ECS实例。 输入以下命令安装Apache服务器。 sudo apt-get install apache2 输入以下命令,修改index.html文件内容。 cd /var/www/html echo 'Hello World ! This is ECS01.' > index.html 修改成功后,在浏览器中输入ECS实例绑定的弹性公网IP地址,您将看到如下网页内容。 重复上述步骤,在另外一个ECS实例上创建一个静态网页并将网页内容修改为 Hello World ! This is ECS02.。 创建成功后,在浏览器中输入ECS02的弹性公网IP,您会看到如下图所示的内容。
    踩1 评论0
  • 提交了问题 2018-01-05

    账号查询

  • 回答了问题 2017-12-30

    在代理商那边买的域名怎么转移到我阿里云自己的账号下

    详细解答可以参考官方帮助文档 请您先确认您是否已有阿里云的会员账号。如没有,请单击进入 注册 页面注册一个阿里云账号。 联系您的代理商进行域名转移操作。如您无代理商联系方式,请访问 阿里云合作伙伴 页面,查询您的代理商联系方式。 请您的代理商登录分销商账号进行在线转移。待在线转移完毕后,您的转入会员账号绑定的邮箱中会收到一封确认转入邮件。您确认转入后,即可完成转入。如出现您的分销商不能配合进行在线转移情况,请参见 账号间域名转移 中线下转移方法,进行人工申诉业务转移。
    踩1 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息