put-bucket-logging

put-bucket-logging用于为存储空间(Bucket)开启日志转存功能,可将OSS的访问日志按照固定命名规则,以小时为单位生成日志文件写入您指定的Bucket。

注意事项

  • 阿里云账号默认拥有为Bucket开启日志转存功能的权限。如果您需要通过RAM用户或者STS的方式开启日志转存并将日志存储到相同Bucket,您必须具有oss:PutBucketLogging权限;要开启日志转存并将日志存储到不同Bucket,您必须具有oss:PutBucketLoggingoss:PutObject权限。具体操作,请参见为RAM用户授权自定义的权限策略

  • 在开启日志转存之前,请确保您已了解该功能。详情请参见日志转存

命令格式

ossutil api put-bucket-logging --bucket value --bucket-logging-status value [flags]

参数

类型

说明

--bucket

string

Bucket的名称。

--bucket-logging-status

string

存储访问日志状态信息的容器。

说明

put-bucket-logging命令对应API接口PutBucketLogging。关于API中的具体参数含义,请参见PutBucketLogging

--bucket-logging-status

--bucket-logging-status配置选项既支持XML语法也支持JSON语法,当选项值包含file://前缀时,表示从文件中读取配置。

  • XML语法:

    <BucketLoggingStatus>
      <LoggingEnabled>
        <TargetBucket>string</TargetBucket>
        <TargetPrefix>string</TargetPrefix>
      </LoggingEnabled>
    </BucketLoggingStatus>
  • JSON语法:

    {
      "LoggingEnabled": {
        "TargetBucket": "string",
        "TargetPrefix": "string"
      }
    }
说明

关于支持的全局命令行选项,请参见支持的全局命令行选项

使用示例

以下示例展示了如何为名为examplebucket的存储空间开启日志转存功能,日志文件前缀为MyLog-,存储访问日志的Bucket为dest-bucket

  • 使用XML配置文件,bucket-logging-status.xml内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <BucketLoggingStatus>
      <LoggingEnabled>
        <TargetBucket>dest-bucket</TargetBucket>
        <TargetPrefix>MyLog-</TargetPrefix>
      </LoggingEnabled>
    </BucketLoggingStatus>

命令示例如下:

ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status file://bucket-logging-status.xml
  • 使用JSON配置文件,bucket-logging-status.json内容如下:

    {
      "LoggingEnabled": {
        "TargetBucket": "destBucket",
        "TargetPrefix": "MyLog-"
      }
    }

    命令示例如下:

    ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status file://bucket-logging-status.json
  • 使用JSON配置参数,命令示例如下:

    ossutil api put-bucket-logging --bucket examplebucket --bucket-logging-status "{\"LoggingEnabled\":{\"TargetBucket\":\"destBucket\",\"TargetPrefix\":\"MyLog-\"}}"