本文目錄一覽:
- 1、如何用 java語言 實現 AWS 的 instance的start與stop??完全沒思路。。急~謝謝大家~~
- 2、亞馬遜的AWS和MWS到底哪個是官方api,我想要用java測試訂單介面,訂單api用那個?
- 3、如何從java生成簽名在AWS問題,怎麼解決
- 4、aws支java的hbase-client訪問嗎
- 5、如何配置 aws-sdk-java json cn-north-1
如何用 java語言 實現 AWS 的 instance的start與stop??完全沒思路。。急~謝謝大家~~
package lnurd.test;
import java.lang.reflect.Method;
import java.util.Date;
public class Event {
//要執行方法的對象
private Object object;
//要執行的方法名稱
private String methodName;
//要執行方法的參數
private Object[] params;
//要執行方法的參數類型
private Class[] paramTypes;
public Event(){
}
public Event(Object object,String methodName,Object…args){
this.object=object;
this.methodName=methodName;
this.params=args;
contractParamTypes(this.params);
}
//根據參數數組生成參數類型數組
private void contractParamTypes(Object[] params){
this.paramTypes=new Class[params.length];
for(int i=0;iparams.length;i++){
this.paramTypes[i]=params[i].getClass();
}
}
public Object getObject() {
return object;
}
//若干setter getter省略
public void setParamTypes(Class[] paramTypes) {
this.paramTypes = paramTypes;
}
//執行該 對象的該方法
public void invoke() throws Exception{
Method method=object.getClass().getMethod(this.getMethodName(), this.getParamTypes());
if(null==method){
return;
}
method.invoke(this.getObject(), this.getParams());
}
}
亞馬遜的AWS和MWS到底哪個是官方api,我想要用java測試訂單介面,訂單api用那個?
亞馬遜商品、訂單和付款數據均可以通過 Amazon MWS 整合到現有的工作流程中。
如何從java生成簽名在AWS問題,怎麼解決
Java2下Applet數字簽名實現過程如下:
在代碼的分發端:
(1)開發Java源程序並對其進行編譯。
(2)用JAR工具對類文件和資源文件進行封裝。
(3)用keytool創建公鑰和密鑰,生成X。509V1簽名證書,輸出證書。
(4)通過jarsigner工具用生成的密鑰對JAR文件進行數字簽名。
在代碼的接收端:
(1)用keytool輸入證書視其為可信任。
(2)用policytool創建和修改安全性策略配置文件,授權請求的訪問許可權。
(3)從網路取得位元組碼,用公鑰驗證數字簽名證書和文檔代碼的完整性。
(4)驗證位元組碼的合法性,根據策略文件分配相應許可權。
(5)執行代碼,完成後被垃圾回收器回收內存。
在用公鑰驗證數字簽名證書之前,接收方需要確認公鑰自身的可靠性,因此通常情況是提供一個包含公鑰的證書而不是公鑰自身。1個證書包括:
(1)1個公鑰。
(2)1個唯一的名字實體(個人或公司),它是證書的所有者,包含用戶名字、公司、組織、城市、地址、國家代碼、省份等信息。
(3)數字簽名:1個證書被1個分發者的實體簽名,保證證書確實包含另1個實體(所有者)的公鑰。
aws支java的hbase-client訪問嗎
HBase提供了對HBase進行一系列的管理涉及到對錶的管理、數據的操作java api。
常用的API操作有:
1、 對錶的創建、刪除、顯示以及修改等,可以用HBaseAdmin,一旦創建了表,那麼可以通過HTable的實例來訪問表,每次可以往表裡增加數據。
2、 插入數據
創建一個Put對象,在這個Put對象里可以指定要給哪個列增加數據,以及當前的時間戳等值,然後通過調用HTable.put(Put)來提交操作,子猴在這裡提請注意的是:在創建Put對象的時候,你必須指定一個行(Row)值,在構造Put對象的時候作為參數傳入。
3、 獲取數據
要獲取數據,使用Get對象,Get對象同Put對象一樣有好幾個構造函數,通常在構造的時候傳入行值,表示取第幾行的數據,通過HTable.get(Get)來調用。
4、 瀏覽每一行
通過Scan可以對表中的行進行瀏覽,得到每一行的信息,比如列名,時間戳等,Scan相當於一個游標,通過next()來瀏覽下一個,通過調用HTable.getScanner(Scan)來返回一個ResultScanner對象。HTable.get(Get)和HTable.getScanner(Scan)都是返回一個Result。Result是一個
KeyValue的鏈表。
5、 刪除
使用Delete來刪除記錄,通過調用HTable.delete(Delete)來執行刪除操作。(註:刪除這裡有些特別,也就是刪除並不是馬上將數據從表中刪除。)
6、 鎖
新增、獲取、刪除在操作過程中會對所操作的行加一個鎖,而瀏覽卻不會。
7、 簇的訪問
客戶端代碼通過ZooKeeper來訪問找到簇,也就是說ZooKeeper quorum將被使用,那麼相關的類(包)應該在客戶端的類(classes)目錄下,即客戶端一定要找到文件hbase-site.xml。
下面是一個例子程序:
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;
public class HBaseTest {
private static Configuration conf = null;
/**
* 初始化配置
*/
static {
Configuration HBASE_CONFIG = new Configuration();
//與hbase/conf/hbase-site.xml中hbase.zookeeper.quorum配置的值相同
HBASE_CONFIG.set(“hbase.zookeeper.quorum”, “10.1.1.1”);
//與hbase/conf/hbase-site.xml中hbase.zookeeper.property.clientPort配置的值相同
HBASE_CONFIG.set(“hbase.zookeeper.property.clientPort”, “2181”);
conf = HBaseConfiguration.create(HBASE_CONFIG);
}
/**
* 創建一張表
*/
public static void creatTable(String tableName, String[] familys) throws Exception {
HBaseAdmin admin = new HBaseAdmin(conf);
if (admin.tableExists(tableName)) {
System.out.println(“table already exists!”);
} else {
HTableDescriptor tableDesc = new HTableDescriptor(tableName);
for(int i=0; ifamilys.length; i++){
tableDesc.addFamily(new HColumnDescriptor(familys[i]));
}
admin.createTable(tableDesc);
System.out.println(“create table ” + tableName + ” ok.”);
}
}
/**
* 刪除表
*/
public static void deleteTable(String tableName) throws Exception {
try {
HBaseAdmin admin = new HBaseAdmin(conf);
admin.disableTable(tableName);
admin.deleteTable(tableName);
System.out.println(“delete table ” + tableName + ” ok.”);
} catch (MasterNotRunningException e) {
e.printStackTrace();
} catch (ZooKeeperConnectionException e) {
e.printStackTrace();
}
}
/**
* 插入一行記錄
*/
public static void addRecord (String tableName, String rowKey, String family, String qualifier, String value)
throws Exception{
try {
HTable table = new HTable(conf, tableName);
Put put = new Put(Bytes.toBytes(rowKey));
put.add(Bytes.toBytes(family),Bytes.toBytes(qualifier),Bytes.toBytes(value));
table.put(put);
System.out.println(“insert recored ” + rowKey + ” to table ” + tableName +” ok.”);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 刪除一行記錄
*/
public static void delRecord (String tableName, String rowKey) throws IOException{
HTable table = new HTable(conf, tableName);
List list = new ArrayList();
Delete del = new Delete(rowKey.getBytes());
list.add(del);
table.delete(list);
System.out.println(“del recored ” + rowKey + ” ok.”);
}
/**
* 查找一行記錄
*/
public static void getOneRecord (String tableName, String rowKey) throws IOException{
HTable table = new HTable(conf, tableName);
Get get = new Get(rowKey.getBytes());
Result rs = table.get(get);
for(KeyValue kv : rs.raw()){
System.out.print(new String(kv.getRow()) + ” ” );
System.out.print(new String(kv.getFamily()) + “:” );
System.out.print(new String(kv.getQualifier()) + ” ” );
System.out.print(kv.getTimestamp() + ” ” );
System.out.println(new String(kv.getValue()));
}
}
/**
* 顯示所有數據
*/
public static void getAllRecord (String tableName) {
try{
HTable table = new HTable(conf, tableName);
Scan s = new Scan();
ResultScanner ss = table.getScanner(s);
for(Result r:ss){
for(KeyValue kv : r.raw()){
System.out.print(new String(kv.getRow()) + ” “);
System.out.print(new String(kv.getFamily()) + “:”);
System.out.print(new String(kv.getQualifier()) + ” “);
System.out.print(kv.getTimestamp() + ” “);
System.out.println(new String(kv.getValue()));
}
}
} catch (IOException e){
e.printStackTrace();
}
}
public static void main (String [] agrs) {
try {
String tablename = “scores”;
String[] familys = {“grade”, “course”};
HBaseTest.creatTable(tablename, familys);
//add record zkb
HBaseTest.addRecord(tablename,”zkb”,”grade”,””,”5″);
HBaseTest.addRecord(tablename,”zkb”,”course”,””,”90″);
HBaseTest.addRecord(tablename,”zkb”,”course”,”math”,”97″);
HBaseTest.addRecord(tablename,”zkb”,”course”,”art”,”87″);
//add record baoniu
HBaseTest.addRecord(tablename,”baoniu”,”grade”,””,”4″);
HBaseTest.addRecord(tablename,”baoniu”,”course”,”math”,”89″);
System.out.println(“===========get one record========”);
HBaseTest.getOneRecord(tablename, “zkb”);
System.out.println(“===========show all record========”);
HBaseTest.getAllRecord(tablename);
System.out.println(“===========del one record========”);
HBaseTest.delRecord(tablename, “baoniu”);
HBaseTest.getAllRecord(tablename);
System.out.println(“===========show all record========”);
HBaseTest.getAllRecord(tablename);
} catch (Exception e) {
e.printStackTrace();
}
}
}
如何配置 aws-sdk-java json cn-north-1
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/152685.html