int cmd_del_life_cycle(const VSTRING& param) { int32_t file_type = atoi(param[0].c_str()); const char* file_name = param[1].c_str(); char appkey[257]; strcpy(appkey, app_key); RcClientImpl impl; impl.set_kv_rs_addr(krs_addr); int ret = impl.initialize(rc_addr, appkey, app_ip); if (TFS_SUCCESS != ret) { TBSYS_LOG(DEBUG, "rc client init failed, ret: %d", ret); } else { ret = impl.rm_life_cycle(file_type, file_name); } if (TFS_SUCCESS == ret) { ToolUtil::print_info(ret, "del life cycle file %s success", file_name); } return ret; }
int cmd_del_object(const VSTRING& param) { const char* bucket_name = param[0].c_str(); const char* object_name = param[1].c_str(); char appkey[257]; int size = param.size(); if (size > 2) { strncpy(appkey, param[2].c_str(), 256); appkey[256] = '\0'; } else { strcpy(appkey, app_key); } UserInfo user_info; RcClientImpl impl; impl.set_kv_rs_addr(krs_addr); int ret = impl.initialize(rc_addr, appkey, app_ip); if (TFS_SUCCESS != ret) { TBSYS_LOG(DEBUG, "rc client init failed, ret: %d", ret); } else { ret = impl.del_object(bucket_name, object_name, user_info); } ToolUtil::print_info(ret, "del bucket: %s, object: %s", bucket_name, object_name); return ret; }
int cmd_head_bucket(const VSTRING& param) { const char* bucket_name = param[0].c_str(); char appkey[257]; int size = param.size(); if (size > 1) { strncpy(appkey, param[1].c_str(), 256); appkey[256] = '\0'; } else { strcpy(appkey, app_key); } BucketMetaInfo bucket_meta_info; UserInfo user_info; RcClientImpl impl; impl.set_kv_rs_addr(krs_addr); int ret = impl.initialize(rc_addr, appkey, app_ip); if (TFS_SUCCESS != ret) { TBSYS_LOG(DEBUG, "rc client init failed, ret: %d", ret); } else { ret = impl.head_bucket(bucket_name, &bucket_meta_info, user_info); } ToolUtil::print_info(ret, "head bucket %s", bucket_name); if (TFS_SUCCESS == ret) { printf("bucket: %s, create_time: %"PRI64_PREFIX"d, owner_id: %"PRI64_PREFIX"d\n", bucket_name, bucket_meta_info.create_time_, bucket_meta_info.owner_id_); } return ret; }
int cmd_put_object(const VSTRING& param) { const char* bucket_name = param[0].c_str(); const char* object_name = param[1].c_str(); const char* local_file = expand_path(const_cast<string&>(param[2])); int64_t owner_id = strtoll(param[3].c_str(), NULL, 10); char appkey[257]; int size = param.size(); if (size > 4) { strncpy(appkey, param[4].c_str(), 256); appkey[256] = '\0'; } else { strcpy(appkey, app_key); } UserInfo user_info; user_info.owner_id_ = owner_id; RcClientImpl impl; impl.set_kv_rs_addr(krs_addr); int ret = impl.initialize(rc_addr, appkey, app_ip); if (TFS_SUCCESS != ret) { TBSYS_LOG(DEBUG, "rc client init failed, ret: %d", ret); } else { ret = impl.put_object(bucket_name, object_name, local_file, user_info); ToolUtil::print_info(ret, "put object: %s, object: %s => %s owner_id: %"PRI64_PREFIX"d", bucket_name, object_name, local_file, owner_id); } return ret; }
int cmd_put_bucket(const VSTRING& param) { const char* bucket_name = param[0].c_str(); int64_t owner_id = strtoll(param[1].c_str(), NULL, 10); char appkey[257]; int size = param.size(); if (size > 2) { strncpy(appkey, param[2].c_str(), 256); appkey[256] = '\0'; } else { strcpy(appkey, app_key); } UserInfo user_info; user_info.owner_id_ = owner_id; RcClientImpl impl; impl.set_kv_rs_addr(krs_addr); int ret = impl.initialize(rc_addr, appkey, app_ip); if (TFS_SUCCESS != ret) { TBSYS_LOG(DEBUG, "rc client init failed, ret: %d", ret); } else { ret = impl.put_bucket(bucket_name, user_info); } if (TFS_SUCCESS == ret) { ToolUtil::print_info(ret, "put bucket %s owner_id : %ld", bucket_name, owner_id); } return ret; }
int cmd_get_bucket(const VSTRING& param) { int size = param.size(); int ret = TFS_SUCCESS; const char *bucket_name = NULL; const char *prefix = NULL; const char *start_key = NULL; char delimiter = KvDefine::DEFAULT_CHAR; int32_t limit = KvDefine::MAX_LIMIT; bucket_name = param[0].c_str(); char appkey[257]; if (size > 1) { prefix = canonical_param(param[1]); } if (size > 2) { start_key = canonical_param(param[2]); } if (size > 3) { delimiter = canonical_param(param[3]) == NULL ? KvDefine::DEFAULT_CHAR : (param[3].size() == 1 ? param[3][0] : KvDefine::DEFAULT_CHAR); } if (size > 4) { limit = atoi(param[4].c_str()); } if (size > 5) { strncpy(appkey, param[5].c_str(), 256); appkey[256] = '\0'; } else { strcpy(appkey, app_key); } vector<ObjectMetaInfo> v_object_meta_info; VSTRING v_object_name; set<string> s_common_prefix; int8_t is_truncated = 0; UserInfo user_info; RcClientImpl impl; impl.set_kv_rs_addr(krs_addr); ret = impl.initialize(rc_addr, appkey, app_ip); if (TFS_SUCCESS != ret) { TBSYS_LOG(DEBUG, "rc client init failed, ret: %d", ret); } else { ret = impl.get_bucket(bucket_name, prefix, start_key, delimiter, limit, &v_object_meta_info, &v_object_name, &s_common_prefix, &is_truncated, user_info); } if (TFS_SUCCESS == ret) { printf("bucket: %s has %d common_prefix\n", bucket_name, static_cast<int>(s_common_prefix.size())); set<string>::iterator iter = s_common_prefix.begin(); for (int i = 0; iter != s_common_prefix.end(); iter++, i++) { cout << i << ": " << *iter << endl; } } if (TFS_SUCCESS == ret) { printf("bucket: %s has %d objects\n", bucket_name, static_cast<int>(v_object_name.size())); for (int i = 0; i < static_cast<int>(v_object_name.size()); i++) { cout << i << ": " << v_object_name[i] << endl; } } //todo show info of objects ToolUtil::print_info(ret, "get bucket %s", bucket_name); return ret; }