Object Storage Service (OSS) にアクセスすると、多数のアクセスログが生成されます。ロギング機能を使用すると、固定の命名規則に基づいて 1時間ごとにログファイルを作成し、指定されたバケットに保存できます。
バケットのロギング有効化
以下のコードを使用して、ロギング機能を有効にできます。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# エンドポイントの例として、中国 (杭州) リージョンが使用されています。必要に応じてリージョンを指定してください。
endpoint: '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')
# logging_bucket をログファイルの宛先バケットに設定します。
# my-log をログファイルの保存先フォルダに設定します。このパラメーターを指定すると、ログファイルは指定されたフォルダに保存されます。このパラメーターを指定しない場合、ログファイルは宛先バケットのルートディレクトリに保存されます。
bucket.logging = Aliyun::OSS::BucketLogging.new(
enable: true, target_bucket: 'logging_bucket', target_prefix: 'my-log')バケットのロギング設定のクエリ
以下のコードを使用して、ロギング設定を表示できます。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# エンドポイントの例として、中国 (杭州) リージョンが使用されています。必要に応じてリージョンを指定してください。
endpoint: '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')
log = bucket.logging
puts log.to_sロギングの無効化
以下のコードは、バケットのロギングを無効化する方法の例です。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# エンドポイントの例として、中国 (杭州) リージョンが使用されています。必要に応じてリージョンを指定してください。
endpoint: '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.logging = Aliyun::OSS::BucketLogging.new(enable: false)関連ドキュメント
バケットのロギングを有効化するために呼び出すことができる API 操作の詳細については、「PutBucketLogging」をご参照ください。
バケットのロギング設定をクエリするために呼び出すことができる API 操作の詳細については、「GetBucketLogging」をご参照ください。
バケットのロギングを無効化するために呼び出すことができる API 操作の詳細については、「DeleteBucketLogging」をご参照ください。