Object FCアクセスポイントを作成すると、Object Storage Service (OSS) は自動的にObject FCアクセスポイントのエイリアスを生成します。 エイリアスを使用して、GetObject操作を呼び出すことができます。
前提条件
GetObjectリクエストの処理に使用される関数がコンパイルされます。 詳細については、「GetObjectリクエストの処理に使用される関数のコンパイル」をご参照ください。
OSS SDKの使用
Java
OSS SDK for Java 3.17.2以降では、オブジェクトFCアクセスポイントのエイリアスを使用してOSSリソースにアクセスできます。
com.aliyun.oss.ClientExceptionをインポートします。com.aliyun.oss.OSSをインポートします。impor t com.aliyun.oss.com mon.auth.*;
com.aliyun.oss.OSSClientBuilderをインポートします。com.aliyun.oss.OSSExceptionをインポートします。com.aliyun.oss.mo del.GetObjectRequestをインポートします。java.io. ファイルをインポートします。public classデモ {
public static void main(String[] args) throws Exception {
// Object FC Access Pointのパブリックエンドポイントを使用して、OSSリソースにアクセスします。
String endpoint = " https://oss-cn-qingdao.aliyuncs.com ";
// Object FC Access Pointの内部エンドポイントを使用して、OSSリソースにアクセスします。
// String endpoint = " https://oss-cn-qingdao-internal.aliyuncs.com ";
// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// オブジェクトFCアクセスポイントのエイリアスを指定します。
文字列bucketName = "fc-ap-01-3b00521f653d2b3223680ec39dbbe2 ****-opapalias";
// オブジェクトのフルパスを指定します。 バケット名をフルパスに含めないでください。
文字列objectName = "yourObjectName";
// コンピュータにダウンロードしたオブジェクトのフルパスを指定します。
文字列pathName = "yourPathName";
// Create an OSSClient instance.
OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);
try {
// 指定したパスのローカルファイルとしてオブジェクトをダウンロードします。 同じ名前のファイルがすでにパスに存在する場合、ダウンロードされたオブジェクトはファイルを上書きします。 パスに同じ名前のファイルが存在しない場合、ダウンロードしたオブジェクトはパスに保存されます。
// ダウンロードしたオブジェクトのローカルパスを指定しない場合、ダウンロードしたオブジェクトはサンプルプログラムが属するプロジェクトのパスに保存されます。
ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File(pathName));
} catch (Exception e) {
System.out.println("Caught an OSSException, which means your request made it to OSS, "
+ "しかし、何らかの理由でエラー応答で拒否されました。");
System.out.println("エラーメッセージ:" + oe.getErrorMessage());
System.out.println("エラーコード:" + oe.getErrorCode());
System.out.println("リクエストID:" + oe.getRequestId());
System.out.println("ホストID:" + oe.getHostId());
} catch (ClientException e) {
System.out.println("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ 「ネットワークにアクセスできないなど」;
System.out.println("エラーメッセージ:" + ce.getMessage());
} 最後に{
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}
Python
OSS SDK for Python 2.18.3以降では、Object FCアクセスポイントのエイリアスを使用してOSSリソースにアクセスできます。
# -*-コーディング: utf-8 -*-
oss2のインポート
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# Object FC Access Pointのパブリックエンドポイントを使用して、OSSリソースにアクセスします。
endpoint = " https://oss-cn-qingdao.aliyuncs.com "
# Object FC Access Pointの内部エンドポイントを使用して、OSSリソースにアクセスします。
# endpoint = " https://oss-cn-qingdao-internal.aliyuncs.com "
# Object FCアクセスポイントのエイリアスを指定します。
bucket_name = "fc-ap-01-3b00521f653d2b3223680ec39dbbe2 ****-opapalias"
bucket = oss2.Bucket(auth、endpoint=endpoint、bucket_name=bucket_name)
# yourObjectNameをオブジェクトのフルパスに設定します。 バケット名をフルパスに含めないでください。
# yourLocalFileをコンピューター上のダウンロードしたオブジェクトのフルパスに設定します。 同じ名前のファイルがすでにパスに存在する場合、ダウンロードされたオブジェクトはファイルを上書きします。 パスに同じ名前のファイルが存在しない場合、ダウンロードしたオブジェクトはパスに保存されます。
bucket.get_object_to_file('yourObjectName', 'yourLocalFile ')
行く
OSS SDK for Go 1.2.2以降では、Object FCアクセスポイントのエイリアスを使用してOSSリソースにアクセスできます。
パッケージメイン
import (import (import)
"fmt"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
"os"
)
func main() {
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err! =nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// Create an OSSClient instance.
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。 実際のエンドポイントを指定します。
client, err := oss.New(" http://oss-cn-qingdao.aliyuncs.com ", ", ", ", oss.SetCredentialsProvider(&provider))
if err! =nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// オブジェクトFCアクセスポイントのエイリアスを指定します。
bucketName := "fc-ap-01-3b00521f653d2b3223680ec39dbbe2 ****-opapalias"
bucket, err := client.Bucket(bucketName)
if err! =nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// yourObjectNameをオブジェクトの完全パスに設定します。 バケット名をフルパスに含めないでください。
// yourLocalFileをコンピューター上のダウンロードしたオブジェクトのフルパスに設定します。
err = bucket.GetObjectToFile("yourObjectName", "yourLocalFile")
if err! =nil {
fmt.Println("GetObjectエラー:", err)
os.Exit(-1)
}
fmt.Println("success")
}
ossutil の使用
ossutilを使用してOSSリソースを要求する場合、バケット名をObject FCアクセスポイントのエイリアスに設定する必要があります。 例:
ossutil cp oss:// fc-ap-01-3b00521f653d2b3223680ec39dbbe2 ****-opapalias/demo.txt /Users/demo/Desktop/demo.txt
共通コマンドの詳細については、「共通コマンド」をご参照ください。
OSS APIの使用
GetObject操作を呼び出してOSSリソースを要求するときは、Object FCアクセスポイントのエイリアスをHostヘッダーに追加する必要があります。 例:
GET /ObjectName HTTP/1.1
ホスト: fc-ap-01-3b00521f653d2b3223680ec39dbbe2 **** -opapalias.oss-cn-qingdao.aliyuncs.com
日付: GMT日付
権限付与: SignatureValue