このトピックでは、Swift ソフトウェア開発キット (SDK) を使用してオブジェクトのタグ情報を取得する方法について説明します。
注意事項
このトピックのサンプルコードでは、リージョン ID として中国 (杭州) の
cn-hangzhouを例として使用します。デフォルトでは、パブリックエンドポイントが使用されます。同じリージョン内の別の Alibaba Cloud サービスから Object Storage Service (OSS) にアクセスする場合は、内部エンドポイントを使用してください。OSS でサポートされているリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。オブジェクトタグを取得するには、
oss:GetObjectTagging権限が必要です。詳細については、「RAM ユーザーへのカスタム権限の付与」をご参照ください。
説明
オブジェクトタグは、オブジェクトを識別するために使用されるキーと値のペアです。オブジェクトタグ付けの詳細については、「オブジェクトタグ付け」をご参照ください。
オブジェクトタグの取得方法の詳細については、「GetObjectTagging」をご参照ください。
サンプルコード
次のコードを使用して、バケット内の指定されたオブジェクトのタグ情報を取得します。
import AlibabaCloudOSS
import Foundation
@main
struct Main {
static func main() async {
do {
// バケットのリージョンを指定します。例:中国 (杭州) の場合は cn-hangzhou。
let region = "cn-hangzhou" // 中国 (杭州) の実際のリージョン ID。
// バケット名を指定します。
let bucket = "your-bucket-name" // 実際のバケット名。
// オプション。OSS エンドポイントを指定します。たとえば、中国 (杭州) リージョンの場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
let endpoint: String? = nil
// オブジェクト名を指定します。例:document.txt。
let key = "document.txt" // 実際のオブジェクト名。
// 環境変数からアクセス認証情報を読み込みます。サンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数を設定してください。
let credentialsProvider = EnvironmentCredentialsProvider()
// OSS クライアントのパラメーターを設定します。チェイン呼び出しにより、すべての設定が適用されることが保証されます。
let config = Configuration.default()
.withRegion(region) // バケットのリージョンを設定します。
.withCredentialsProvider(credentialsProvider) // アクセス認証情報を設定します。
// エンドポイントを設定します。
if let endpoint = endpoint {
config.withEndpoint(endpoint)
}
// OSS クライアントインスタンスを作成します。
let client = Client(config)
// 指定されたオブジェクトのタグを取得します。
let result = try await client.getObjectTagging(
GetObjectTaggingRequest(
bucket: bucket,
key: key
)
)
print("result:\n\(result)") // タグを出力します。
} catch {
// エラーを処理します。
print("error: \(error)")
}
}
}
-関連ドキュメント
オブジェクトタグを取得するための完全なサンプルコードについては、「GitHub サンプル」をご参照ください。
オブジェクトタグを取得するための API 操作の詳細については、「GetObjectTagging」をご参照ください。