首頁
云原生多模數(shù)據(jù)庫 Lindorm
操作指南
寬表引擎(兼容HBase或Cassandra)
應(yīng)用開發(fā)教程
基于S3協(xié)議的應(yīng)用開發(fā)
基于S3非Java API的應(yīng)用開發(fā)
基于S3非Java API的應(yīng)用開發(fā)
更新時(shí)間:
本文介紹多語言(例如Go、Python)通過S3協(xié)議訪問Lindorm寬表引擎的具體操作和使用示例。
前提條件
已獲取云原生多模數(shù)據(jù)庫 Lindorm寬表引擎的S3兼容連接地址,具體操作請參見查看連接地址。
已將客戶端地址添加至云原生多模數(shù)據(jù)庫 Lindorm實(shí)例的白名單中,具體操作請參見設(shè)置白名單。
操作步驟
Go SDK訪問Lindorm寬表引擎示例
安裝Go SDK。
go get github.com/aws/aws-sdk-go
使用Go SDK連接并訪問Lindorm寬表引擎。
package main import ( "log" "strings" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" ) const ( s3endpoint = "http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9053" // Lindorm寬表引擎的S3兼容連接地址 ) func main() { conf := &aws.Config{ Credentials: credentials.NewStaticCredentials("AK", "SK", ""), Region: aws.String("lindorm"), Endpoint: aws.String(s3endpoint), S3ForcePathStyle: aws.Bool(true), } sess, err := session.NewSession(conf) // 創(chuàng)建連接 svc := s3.New(sess) // 列舉所有的bucket input := &s3.ListBucketsInput{} result, err := svc.ListBuckets(input) if err != nil { panic(err.Error()) } println(result.String()) bucket := "testbucketgo" key := "testObjectGo" // 創(chuàng)建bucket out, err := svc.CreateBucket(&s3.CreateBucketInput{Bucket: &bucket}) log.Println(out) if err != nil { log.Println("Failed to create bucket", err) return } if err = svc.WaitUntilBucketExists(&s3.HeadBucketInput{Bucket: &bucket}); err != nil { log.Printf("Failed to wait for bucket to exist %s, %s\n", bucket, err) return } // 寫入object _, err = svc.PutObject(&s3.PutObjectInput{ Body: strings.NewReader("Hello World!"), Bucket: &bucket, Key: &key, }) if err != nil { log.Printf("Failed to upload data to %s/%s, %s\n", bucket, key, err) return } }
說明創(chuàng)建連接時(shí),請將示例中的“AK”和“SK”字段替換為寬表引擎的用戶名和密碼。建議將密碼寫入環(huán)境變量或配置文件中,避免采用硬編碼的形式。
Python SDK訪問Lindorm寬表引擎示例
安裝Python SDK。
pip install boto3
使用Python SDK連接并訪問Lindorm寬表引擎。
import boto3 from botocore.client import Config s3endpoint = 'http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9053' # Lindorm寬表引擎的S3兼容連接地址 # 創(chuàng)建連接 s3client = boto3.client( 's3', aws_access_key_id="AK", aws_secret_access_key="SK", endpoint_url = s3endpoint, config=Config(s3={'addressing_style': 'path'}) ) # 創(chuàng)建bucket s3client.create_bucket(Bucket="testbucketpython") # 列舉bucket buckets = s3client.list_buckets() # 打印所有bucket for bucket in buckets['Buckets']: print(bucket["Name"]) # 上傳object response = s3client.upload_file("demo.py", "testbucketpython", "demo.py") # 下載object s3client.download_file('testbucketpython', 'demo.py', 'demo.py.download')
說明創(chuàng)建連接時(shí),請將示例中的“AK”和“SK”字段替換為寬表引擎的用戶名和密碼。建議將密碼寫入環(huán)境變量或配置文件中,避免采用硬編碼的形式。
文檔內(nèi)容是否對您有幫助?