次のサンプルコードは、一般的なプログラミング言語でOSS SDKを使用してオブジェクトメタデータを設定する方法の例を示しています。 他のプログラミング言語のOSS SDKを使用してオブジェクトメタデータを設定する方法の詳細については、「概要」をご参照ください。
Aliyun.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をインポートします。impor t com.aliyun.oss.com mon.utils.BinaryUtil;
impor t com.aliyun.oss.com mon.utils.DateUtil;
com.aliyun.oss.mo del.ObjectMetadataをインポートします。java.io.ByteArrayInputStreamをインポートします。public classデモ {
public static void main(String[] args) throws Exception {
// この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 実際のエンドポイントを指定します。
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// Specify the bucket name. 例: examplebucket.
String bucketName = "examplebucket";
// オブジェクトのフルパスを指定します。 バケット名をフルパスに含めないでください。 例: testfolder/exampleobject.txt。
文字列objectName = "testfolder/exampleobject.txt";
String content = "Hello OSS";
// Create an OSSClient instance.
OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);
try {
// アップロードされたオブジェクトのメタデータを追加します。
ObjectMetadata meta = new ObjectMetadata();
String md5 = BinaryUtil.toBase64String(BinaryUtil.calculateMd5(content.getBytes()));
// Enable MD5 verification. MD5検証が有効になると、OSSはアップロードされたオブジェクトのMD5ハッシュを計算し、このMD5ハッシュをリクエストで指定されたものと比較します。 2つの値が異なる場合、エラーが報告される。
meta.setContentMD5(md5);
// アップロードするコンテンツの種類を指定します。 ブラウザは、オブジェクトのコンテンツタイプに基づいて、オブジェクトを読み取るために使用される形式とエンコードタイプを決定します。 コンテンツタイプが指定されていない場合、オブジェクト名拡張子に基づいてコンテンツタイプが生成されます。 利用可能な拡張がない場合、デフォルト値application/octet-streamがコンテンツタイプとして使用されます。
meta.setContentType("text/plain");
// コンテンツのダウンロード時にオブジェクトの名前を指定します。
meta.setContentDisposition("attachment; filename=\"DownloadFilename\"");
// アップロードするオブジェクトの長さを指定します。 実際のオブジェクトの長さが指定された長さより大きい場合、オブジェクトは切り捨てられます。 指定された長さのコンテンツのみがアップロードされます。 実際のオブジェクトの長さが指定された長さより小さい場合、オブジェクトのすべてのコンテンツがアップロードされます。
meta.setContentLength(content.length());
// コンテンツのダウンロード時のwebページのキャッシュ動作を指定します。
meta.setCacheControl("Download Action");
// キャッシュの有効期限をUTCで指定します。
meta.setExpirationTime(DateUtil.parseIso8601Date("2022-10-12T00:00:00.000Z"));
// コンテンツのダウンロード時のコンテンツエンコーディング形式を指定します。
meta.setContentEncoding("gzip");
// HTTPヘッダーを設定します。
meta.setHeader("yourHeader", "yourHeaderValue");
// Upload the object.
ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(content.getBytes()), meta);
} 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();
}
}
}
}
<?php
if (is_file(__DIR__) 。 '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__) 。 '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
OSS\Credentials\EnvironmentVariableCredentialsProviderを使用します。OSS\OssClientを使用します。OSS\CoreOssExceptionを使用します。// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
$provider = new EnvironmentVariableCredentialsProvider();
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
$end point = "yourEndpoint";
// バケットの名前を指定します。 例: examplebucket.
$bucket= "examplebucket";
// オブジェクトのフルパスを指定します。 バケット名をフルパスに含めないでください。 例: exampledir/exampleobject.txt。
$object = "exampledir/exampleobject.txt";
$content = file_get_contents(__FILE__);
$options=配列 (
OssClient::OSS_HEADERS => array(
'Expires' => '2012-10-01 08:00:00',
'Content-Disposition' => 'attachment; filename="xxxxxx"',
'x-oss-meta-self-define-title' => 'user define meta info',
));
try {
$config=配列 (
"provider" => $provider、
"endpoint" => $end ポイント、
);
$ossClient = new OssClient($config);
// オブジェクトのアップロード時にオブジェクトメタデータを設定します。
$ossClient->putObject($bucket、$object、$content、$options);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage()) 。 "\n");
戻ります。}
print(__FUNCTION__) 。 ": OK" 。 "\n");
const OSS = require('ali-OSS ');
const client = new OSS({
// バケットが配置されているリージョンを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンをoss-cn-Hangzhouに設定します。
リージョン: 'yourRegion' 、
// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
accessKeyId: process.env.OSS_ACCESS_KEY_ID、
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET、
// バケットの名前を指定します。
bucket: 'examplebucket'
});
async関数put() {
try {
meta = { year: 2016, people: 'mary' };
let result = await client.put('object-name', path.normalize('D :\\ localpath\\examplefile.txt '), meta);
console.log (結果);
} catch (e) {
console.log(e);
}
}
put();
# -*- coding: utf-8 -*-
oss2のインポート
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート
# 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
# バケットの名前を指定します。
bucket = oss2.Bucket(auth, 'https:// oss-cn-hangzhou.aliyuncs.com ', 'examplebucket')
# オブジェクトのフルパスを指定します。 例: exampledir/exampleobject.txt。 バケット名をフルパスに含めないでください。
object_name = 'exampledir/exampleobject.txt'
# アップロードする文字列を指定します。
content = '{"age": 1}'
# HTTPヘッダーを設定します。 たとえば、Content-Typeヘッダーを 'application/json; charset=utf-8 'に設定します。
bucket.put_object(object_name, content, headers={'Content-Type': 'application/json; charset=utf-8 '})
;
Aliyun.OSS.Common; を使用
Aliyun.OSS.Utilを使用します。// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
var endpoint = "yourEndpoint";
// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// バケットの名前を指定します。
var bucketName = "examplebucket";
// オブジェクトのフルパスを指定します。 バケット名をフルパスに含めないでください。
var objectName = "exampleobject.txt";
// アップロードするローカルオブジェクトのフルパスを指定します。 デフォルトでは、ローカルオブジェクトのフルパスを指定しない場合、サンプルプログラムが属するプロジェクトのパスからローカルオブジェクトがアップロードされます。
var localFilename = "D :\\ localpath\\examplefile.txt";
// OSSClientインスタンスを作成します。
var client = new OssClient (エンドポイント、accessKeyId、accessKeySecret);
トライ
{
using (var fs = File.Open(localFilename, FileMode.Open))
{
// オブジェクトのメタデータを作成します。 オブジェクトのHTTPヘッダーを設定できます。
var metadata = new ObjectMetadata()
{
// オブジェクトのコンテンツタイプを指定します。
ContentType = "text/html",
// キャッシュの有効期限をUTCで指定します。
ExpirationTime = DateTime.Parse("2025-10-12T00:00:00.000Z"),
};
// アップロードするオブジェクトコンテンツの長さを指定します。 実際のオブジェクトの長さが指定された長さより大きい場合、オブジェクトは切り捨てられます。 指定された長さのコンテンツのみがアップロードされます。 実際のオブジェクトの長さが指定された長さより小さい場合、オブジェクトのすべてのコンテンツがアップロードされます。
metadata.ContentLength = fs.Length;
// オブジェクトのダウンロード時のwebページのキャッシュ動作を指定します。
metadata.CacheControl = "No-Cache";
// mykey1をmyval1に設定します。
metadata.UserMetadata.Add("mykey1", "myval1");
// mykey2をmyval2に設定します。
metadata.UserMetadata.Add("mykey2", "myval2");
var saveAsFilename = "Filetest123.txt";
var contentDisposition = string.Format("attachment;filename*=utf-8''{0}", HttpUtils.EncodeUri(saveAsFilename, "utf-8"));
// 必要なコンテンツをオブジェクトとして保存するときに、デフォルトのオブジェクト名を指定します。
metadata.ContentDisposition = contentDisposition;
// オブジェクトをアップロードし、オブジェクトメタデータを設定します。
client.PutObject(bucketName, objectName, fs, metadata);
Console.WriteLine("Put object succeeded");
// オブジェクトのメタデータを照会します。
var oldMeta = client.GetObjectMetadata(bucketName, objectName);
// 新しいオブジェクトメタデータを設定します。
var newMeta = new ObjectMetadata()
{
ContentType = "application/octet-stream",
ExpirationTime = DateTime.Parse("2035-11-11T00:00:00.000Z"),
// オブジェクトのダウンロード時のオブジェクトのコンテンツエンコーディング形式を指定します。
ContentEncoding = null,
CacheControl = ""
};
// ユーザーメタデータを設定します。
newMeta.UserMetadata.Add("author", "oss");
newMeta.UserMetadata.Add("flag", "my-flag");
newMeta.UserMetadata.Add("mykey2", "myval2-modified-value");
// ModifyObjectMetaメソッドを使用して、オブジェクトメタデータを変更します。
client.ModifyObjectMeta(bucketName, objectName, newMeta);
}
}
キャッチ (例外ex)
{
Console.WriteLine("Put object failed, {0}", ex.Message);
}
// オブジェクトメタデータを同期クエリするリクエストを作成します。
// バケットの名前とオブジェクトの完全パスを指定します。 この例では、バケット名はexamplebucketで、オブジェクトの完全パスはexampledir/exampleobject.txtです。 オブジェクトのフルパスにバケット名を含めないでください。
HeadObjectRequest head = new HeadObjectRequest("examplebucket", "exampledir/exampleobject.txt");
// オブジェクトメタデータを照会します。
OSSAsyncTask task = oss.asyncHeadObject(head, new OSSCompletedCallback<HeadObjectRequest, HeadObjectResult>() {
@オーバーライド
public void onSuccess(HeadObjectRequestリクエスト, HeadObjectResult結果) {
// オブジェクトの長さを取得します。
Log.d("headObject", "object Size: " + result.getMetadata().getContentLength());
// オブジェクトの型を照会します。
Log.d("headObject", "object Content Type: " + result.getMetadata().getContentType());
}
@オーバーライド
public void onFailure(HeadObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
// リクエスト例外を処理します。
if (clientExcepion != null) {
// ネットワーク例外などのクライアント例外を処理します。
clientExcepion.printStackTrace();
}
if (serviceException != null) {
// サービス例外を処理します。
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});
// task.waitUntilFinished(); // オブジェクトメタデータが照会されるまで待ちます。
パッケージメイン
import (import (import)
"fmt"
"os"
"time",
"strings"
「github.com/aliyun/aliyun-oss-go-sdk/oss」
)
func main() {
// 環境変数からアクセス資格情報を取得します。 コードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
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("yourEndpoint", ", " ", ", oss.SetCredentialsProvider(&provider))
if err! =nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// Specify the bucket name. 例: examplebucket.
bucket, err := client.Bucket("examplebucket")
if err! =nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// オブジェクトメタデータを設定します。 有効期限を1月10日23:00:00に設定し、GMTで2049し、アクセス制御リスト (ACL) をpublic-readに、MyPropをユーザーメタデータとしてMyPropValに設定します。
expires := time.Date(2049, time.January, 10, 23, 0, 0, 0, time.UTC)
options := []oss.Option{
oss.Expires(expires),
oss.ObjectACL(oss.ACLPublicRead),
oss.Meta("MyProp", "MyPropVal"),
}
// データストリームを使用してオブジェクトをアップロードします。
// オブジェクトのフルパスを指定します。 オブジェクトのフルパスにバケット名を含めることはできません。 例: exampledir/exampleobject.txt。
err = bucket.PutObject("exampledir/exampleobject.txt" 、strings.NewReader("MyObjectValue") 、オプション...)
if err! =nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// オブジェクトのメタデータを照会します。
props, err := bucket.GetObjectDetailedMeta("exampledir/exampleobject.txt")
if err! =nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
fmt.Println("オブジェクトメタ:", props)
}
OSSHeadObjectRequest * request = [OSSHeadObjectRequest new];
// バケット名を指定します。 例: examplebucket.
request.bucketName = @ "examplebucket";
// オブジェクトのフルパスを指定します。 バケット名をフルパスに含めないでください。 例: exampledir/exampleobject.txt。
request.objectKey = @ "exampledir/exampleobject.txt";
OSSTask * headTask = [client headObject:request];
[headTask continueWithBlock:^ id(OSSTask * task) {
if (!task.error) {
NSLog(@ "ヘッドオブジェクトの成功!");
OSSHeadObjectResult * result = task.result;
NSLog(@ "ヘッダーフィールド: % @" 、result.httpResponseHeaderFields);
for (NSString * key in result.objectMeta) {
NSLog(@ "ObjectMeta: % @ - % @", key, [result.objectMeta objectForKey:key]);
}
} else {
NSLog(@ "head object failed, error: % @" ,task.error);
}
nilを返します。}];
#include <alibabacloud/oss/OssClient.h>
名前空間listaCloud::OSSを使用します。int main(void)
{
/* OSSへのアクセスに使用されるアカウントに関する情報を初期化します。 */
/* バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 */
std::string Endpoint = "yourEndpoint";
/* バケットの名前を指定します。 例: examplebucket. */
std::string BucketName = "examplebucket";
/* オブジェクトのフルパスを指定します。 オブジェクトのフルパスにバケット名を含めないでください。 例: exampledir/exampleobject.txt。 */
std::string ObjectName = "exampledir/exampleobject.txt";
/* ネットワークリソースなどのリソースを初期化します。 */
InitializeSdk();
ClientConfiguration conf;
/* 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 */
auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
OssClientクライアント (Endpoint, credentialsProvider, conf);
/* HTTPヘッダーを設定します。 */
auto meta = ObjectMetaData();
meta.setContentType("text/plain");
meta.setCacheControl("max-age=3");
/* オブジェクトのユーザーメタデータを設定します。 */
meta.UserMetaData()["meta"] = "meta-value";
std::shared_ptr<std::iostream> content = std::make_shared<std::stringstream>();
* content << "Aliyun Object Storage Serviceをご利用いただきありがとうございます!";
auto outcome = client.PutObject(BucketName, ObjectName, content, meta);
if (!outcome.isSuccess()) {
/* 例外を処理します。 */
std::cout << "PutObject fail" <<
",code:" << outcome.error().Code() <<
",message:" << outcome.error().Message() <<
",requestId:" << outcome.error().RequestId() << std::endl;
return -1;
}
/* ネットワークリソースなどのリソースをリリースします。 */
ShutdownSdk();
0を返します。}
#include "oss_api.h"
# 「aos_http_io.h」を含める
/* バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 * /
const char * endpoint = "yourEndpoint";
/* バケットの名前を指定します。 例: examplebucket. * /
const char * bucket_name = "examplebucket";
/* オブジェクトのフルパスを指定します。 オブジェクトのフルパスにバケット名を含めないでください。 例: exampledir/exampleobject.txt。 * /
const char * object_name = "exampledir/exampleobject.txt";
const char * object_content= "hello world";
void init_options(oss_request_options_t * オプション)
{
options->config = oss_config_create(options->pool);
/* char * 文字列を使用してaos_string_tを初期化します。 */
aos_str_set(&options->config->endpoint, endpoint);
/* 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 */
aos_str_set(&options->config->access_key_id, getenv("OSS_ACCESS_KEY_ID"));
aos_str_set(&options->config->access_key_secret, getenv("OSS_ACCESS_KEY_SECRET"));
/* CNAMEを使用するかどうかを指定します。 値0は、CNAMEが使用されないことを示す。 */
options->config->is_cname = 0;
/* タイムアウト時間などのネットワークパラメーターを指定します。 */
options->ctl = aos_http_controller_create(options->pool, 0);
}
int main(int argc, char * argv[])
{
/* main() でaos_http_io_initializeメソッドを呼び出して、ネットワークリソースやメモリリソースなどのグローバルリソースを初期化します。 */
if (aos_http_io_initialize(NULL, 0))! =AOSE_OK) {
exit(1);
}
/* メモリを管理するためのメモリプールを作成します。 aos_pool_tはapr_pool_tと同じです。 メモリプールの作成に使用されるコードは、APRライブラリに含まれています。 */
aos_pool_t *pool;
/* メモリプールを作成します。 2番目のパラメーターの値はNULLです。 この値は、プールが他のメモリプールを継承しないことを指定します。 */
aos_pool_create(&pool, NULL);
/* Create and initialize options. このパラメーターには、エンドポイント、access_key_id、access_key_secret、is_cname、curlなどのグローバル構成情報を指定します。 */
oss_request_options_t *oss_client_options;
/* メモリプール内のメモリリソースをオプションに割り当てます。 */
oss_client_options = oss_request_options_create(pool);
/* oss_client_optionsを初期化します。 */
init_options(oss_client_options);
/* パラメーターを初期化します。 */
aos_string_t bucket;
aos_string_t object;
aos_table_t *headers;
aos_list_t buffer;
aos_table_t *resp_headers = NULL;
aos_status_t *resp_status = NULL;
aos_buf_t *content = NULL;
char *content_length_str = NULL;
char *object_type = NULL;
char *object_author = NULL;
int64_t content_length = 0;
aos_str_set(&bucket, bucket_name);
aos_str_set(&object, object_name);
headers = aos_table_make(pool, 2);
/* ユーザーメタデータを設定します。 */
apr_table_set(headers, "Expires", "Fri, 28 Feb 2032 05:38:42 GMT");
apr_table_set(headers, "x-oss-meta-author", "oss");
aos_list_init(&buffer);
content = aos_buf_pack(oss_client_options->pool, object_content, strlen(object_content));
aos_list_add_tail(&content->node, &buffer);
/* キャッシュからオブジェクトをアップロードします。 */
resp_status = oss_put_object_from_buffer(oss_client_options, &bucket, &object,
&buffer, headers, &resp_headers);
if (aos_status_is_ok(resp_status)) {
printf("put object from buffer with md5 succeeded\n");
} else {
printf("put object from buffer with md5 failed\n");
}
/* オブジェクトのメタデータを照会します。 */
resp_status = oss_get_object_meta(oss_client_options, &bucket, &object, &resp_headers);
if (aos_status_is_ok(resp_status)) {
content_length_str = (char*)apr_table_get(resp_headers, OSS_CONTENT_LENGTH);
if (content_length_str != NULL) {
content_length = atol(content_length_str);
}
object_author = (char*)apr_table_get(resp_headers, OSS_AUTHORIZATION);
object_type = (char*)apr_table_get(resp_headers, OSS_OBJECT_TYPE);
printf("get object meta succeeded, object author:%s, object type:%s, content_length:%ld\n", object_author, object_type, content_length);
} else {
printf("req:%s, get object meta failed\n", resp_status->req_id);
}
/* メモリプールを解放します。 この操作により、リクエストに割り当てられたメモリリソースが解放されます。 */
aos_pool_destroy(pool);
/* 割り当てられたグローバルリソースを解放します。 */
aos_http_io_deinitialize();
0を返します。}
'aliyun/oss' が必要です
client = Aliyun::OSS::Client.new (
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
エンドポイント: 'https:// oss-cn-hangzhou.aliyuncs.com '、
# 環境変数からアクセス資格情報を取得します。 コードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。
access_key_id: ENV['OSS_ACCESS_KEY_ID '] 、
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET ']
)
# バケットの名前を指定します。 例: examplebucket.
bucket = client.get_bucket('examplebucket')
# 単純なアップロード時にオブジェクトメタデータを設定します。
bucket.put_object (
'my-object-1 '、
: file => 'local-file' 、
: metas => {'year' => '2016', 'people' => 'mary'})
# 追加アップロード時にオブジェクトメタデータを設定します。
bucket.append_object (
'my-object-2 '、0、
: file => 'local-file' 、
: metas => {'year' => '2016', 'people' => 'mary'})
# 再開可能なアップロード中にオブジェクトメタデータを設定します。
bucket.resumable_upload (
「私のオブジェクト」、
「ローカルファイル」、
: metas => {'year' => '2016', 'people' => 'mary'})