2.15. 버킷 알림


스토리지 관리자는 이러한 API를 사용하여 버킷 알림 메커니즘에 대한 구성 및 제어 인터페이스를 제공할 수 있습니다. API 주제는 특정 끝점의 정의를 포함하는 개체의 이름입니다. 버킷 알림은 주제를 특정 버킷과 연결합니다. S3 버킷 작업 섹션에서는 버킷 알림에 대한 자세한 내용을 제공합니다.

참고

모든 주제 작업에서 매개 변수는 URL로 인코딩되고 application/x-www-form-urlencoded 콘텐츠 유형을 사용하여 메시지 본문에 전송됩니다.

참고

주제 업데이트가 적용되려면 주제와 이미 연결된 버킷 알림을 다시 생성해야 합니다.

사전 요구 사항

  • Ceph Object Gateway에서 버킷 알림을 생성합니다.

2.15.1. 버킷 알림 개요

버킷 알림은 버킷에서 특정 이벤트가 발생할 때 Ceph Object Gateway에서 정보를 보내는 방법을 제공합니다. 버킷 알림은 HTTP, AMQP0.9.1 및 Kafka 끝점으로 보낼 수 있습니다. 특정 버킷과 특정 주제의 이벤트에 대한 버킷 알림을 보내려면 알림 항목을 생성해야 합니다. 버킷 알림은 이벤트 유형의 서브 세트 또는 모든 이벤트 유형에 대해 기본적으로 생성될 수 있습니다. 버킷 알림은 키 접두사 또는 접미사, 키와 일치하는 정규식, 오브젝트에 연결된 메타데이터 속성 또는 오브젝트 태그를 기반으로 이벤트를 필터링할 수 있습니다. 버킷 알림에는 버킷 알림 메커니즘에 대한 구성 및 제어 인터페이스를 제공하는 REST API가 있습니다.

오브젝트가 영역에 동기화될 때 버킷 알림을 전송하면 외부 시스템에서 오브젝트 수준에서 영역 동기화 상태로 정보를 얻을 수 있습니다. 버킷 알림 이벤트 유형 s3:ObjectSynced:*s3:ObjectSynced:Created 에서는 버킷 알림 메커니즘을 통해 구성된 경우 오브젝트 동기화 시 동기화된 RGW에서 알림 이벤트를 보냅니다. 알림 이벤트가 전송되는 각 영역에서 주제와 알림 구성은 별도로 수행해야 합니다.

2.15.2. 영구 알림

영구 알림을 사용하면 Ceph Object Gateway에서 주제에 구성된 엔드포인트로 알림을 안정적이고 비동기로 전달할 수 있습니다. 끝점으로의 전달이 요청 중 동기적으로 수행되기 때문에 일반 알림도 안정적입니다. 영구 알림을 통해 Ceph Object Gateway는 끝점이 다운되거나 작업 중에 네트워크 문제가 있어도 알림을 다시 시도합니다. 이 메시지는 엔드포인트로 전달되지 않은 경우 다시 시도합니다. 알림은 알림을 받은 작업과 관련된 다른 모든 작업이 성공한 후에만 전송됩니다. 긴 기간 동안 끝점이 다운되면 알림 큐가 채워지고 이러한 끝점에 대한 알림을 구성한 S3 작업이 실패합니다.

참고

kafka-ack-level=none 에서는 메시지 실패에 대한 표시가 없으므로 브로커가 다운된 동안 전송된 메시지는 다시 시도되지 않습니다. 브로커가 다시 가동되면 새 알림만 표시됩니다.

2.15.3. 주제 생성

버킷 알림을 생성하기 전에 주제를 만들 수 있습니다. 주제는 SNS(Simple Notification Service) 엔티티와 모든 주제 작업 즉, , create,delete,list, get, areECDHE operations입니다. 주제에는 버킷 알림이 생성될 때 사용되는 끝점 매개 변수가 있어야 합니다. 요청이 성공하면 응답에 버킷 알림 요청의 이 주제를 참조하는 데 나중에 사용할 수 있는 ARM(Amazon Resource Name) 항목이 포함됩니다.

참고

topic_arn 은 버킷 알림 구성을 제공하며 항목이 생성된 후 생성됩니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 루트 수준 액세스.
  • Ceph 오브젝트 게이트웨이 설치.
  • 사용자 액세스 키 및 시크릿 키입니다.
  • 엔드포인트 매개 변수.

절차

  1. 다음 요청 형식을 사용하여 주제를 생성합니다.

    구문

    POST
    Action=CreateTopic
    &Name=TOPIC_NAME
    [&Attributes.entry.1.key=amqp-exchange&Attributes.entry.1.value=EXCHANGE]
    [&Attributes.entry.2.key=amqp-ack-level&Attributes.entry.2.value=none|broker|routable]
    [&Attributes.entry.3.key=verify-ssl&Attributes.entry.3.value=true|false]
    [&Attributes.entry.4.key=kafka-ack-level&Attributes.entry.4.value=none|broker]
    [&Attributes.entry.5.key=use-ssl&Attributes.entry.5.value=true|false]
    [&Attributes.entry.6.key=ca-location&Attributes.entry.6.value=FILE_PATH]
    [&Attributes.entry.7.key=OpaqueData&Attributes.entry.7.value=OPAQUE_DATA]
    [&Attributes.entry.8.key=push-endpoint&Attributes.entry.8.value=ENDPOINT]
    [&Attributes.entry.9.key=persistent&Attributes.entry.9.value=true|false]

    요청 매개변수는 다음과 같습니다.

    • 끝점: 알림을 보낼 끝점의 URL입니다.
    • OpaqueData: 불투명 데이터는 주제 구성에 설정되어 주제 구성에 의해 트리거되는 모든 알림에 추가됩니다.
    • persistent: 이 끝점에 대한 알림이 비동기 상태인지 여부를 나타냅니다. 기본적으로 값은 false 입니다.
    • HTTP 끝점:

      • URL: https://FQDN:PORT
      • 포트 기본값은: HTTP[S]에 대해 80/443을 사용합니다.
      • verify-ssl: 클라이언트에서 서버 인증서의 유효성을 검사할지 여부를 나타냅니다. 기본적으로 True 입니다.
    • AMQP0.9.1 끝점:

      • URL: amqp://USER:PASSWORD@FQDN:PORT[/VHOST].
      • 사용자 및 암호의 기본값은 각각 guestguest 입니다.
      • 사용자 및 암호 세부 정보는 HTTPS를 통해 제공해야 하며 그렇지 않으면 주제 생성 요청이 거부됩니다.
      • 포트 기본값은:ECDHE72입니다.
      • vhost 기본값은 "/"입니다.
      • AMQP-exchange: 교환이 있어야 하며 항목에 따라 메시지를 라우팅할 수 있어야 합니다. 이 매개변수는 AMQP0.9.1의 필수 매개변수입니다. 동일한 끝점을 가리키는 주제마다 동일한 교환을 사용해야 합니다.
      • AMQP-ack-level: 메시지가 최종 목적지로 전달되기 전에 브로커에서 유지될 수 있으므로 감사를 종료하기 위한 엔드는 필요하지 않습니다. 세 가지 승인 방법이 있습니다.

        • None: 브로커로 전송되는 경우 메시지가 전달되는 것으로 간주됩니다.
        • broker: 브로커가 승인하는 경우 기본적으로 메시지는 전달되는 것으로 간주됩니다.
        • 라우팅 가능: 브로커가 소비자에게 라우팅할 수 있는 경우 메시지가 전달되는 것으로 간주됩니다.

          참고

          특정 매개변수의 키와 값은 동일한 라인 또는 특정 순서로 상주할 필요는 없지만 동일한 인덱스를 사용해야 합니다. 특성 인덱싱은 순차적이거나 특정 값에서 시작할 필요가 없습니다.

          참고

          topic-name 은 AMQP 주제로 사용됩니다.

    • Kafka 끝점:

      • URL: kafka://USER:암호@FQDN:PORT.
      • use-ssl 은 기본적으로 false 로 설정됩니다. use-ssltrue 로 설정된 경우 브로커와 연결하는 데 보안 연결이 사용됩니다.
      • ca-location 이 제공되고 보안 연결이 사용되는 경우 브로커를 인증하기 위해 기본 CA 대신 지정된 CA가 사용됩니다.
      • 사용자 및 암호는 HTTP[S]를 통해서만 제공될 수 있습니다. 그러지 않으면 주제 생성 요청이 거부됩니다.
      • 사용자 및 암호는 use-ssl 과 함께 함께 제공될 수 있습니다. 그렇지 않으면 브로커에 대한 연결이 실패합니다.
      • 기본값은 9092입니다.
      • Kafka-ack-level: 메시지가 최종 목적지로 전달되기 전에 브로커에 유지 될 수 있으므로 감사를 종료 할 필요가 없습니다. 두 가지 승인 방법이 있습니다.

        • none: 브로커로 전송되는 경우 메시지가 전달되는 것으로 간주됩니다.
        • broker: 브로커가 승인하는 경우 기본적으로 메시지는 전달되는 것으로 간주됩니다.

다음은 응답 형식의 예입니다.

예제

<CreateTopicResponse xmlns="https://sns.amazonaws.com/doc/2010-03-31/">
    <CreateTopicResult>
        <TopicArn></TopicArn>
    </CreateTopicResult>
    <ResponseMetadata>
        <RequestId></RequestId>
    </ResponseMetadata>
</CreateTopicResponse>

참고

응답의 ARMN(Amazon Resource Name)의 주제는 arn:aws:sns:ZONE_GROUP:TENANT : topic

다음은 AMQP0.9.1 엔드 포인트의 예입니다.

예제

client.create_topic(Name='my-topic' , Attributes={'push-endpoint': 'amqp://127.0.0.1:5672', 'amqp-exchange': 'ex1', 'amqp-ack-level': 'broker'}) "

2.15.4. 주제 정보 얻기

특정 항목에 대한 정보를 반환합니다. 여기에는 제공된 경우 엔드 포인트 정보가 포함될 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 루트 수준 액세스.
  • Ceph 오브젝트 게이트웨이 설치.
  • 사용자 액세스 키 및 시크릿 키입니다.
  • 엔드포인트 매개 변수.

절차

  1. 다음 요청 형식을 사용하여 주제 정보를 가져옵니다.

    구문

    POST
    Action=GetTopic
    &TopicArn=TOPIC_ARN

    다음은 응답 형식의 예입니다.

    <GetTopicResponse>
    <GetTopicRersult>
    <Topic>
    <User></User>
    <Name></Name>
    <EndPoint>
    <EndpointAddress></EndpointAddress>
    <EndpointArgs></EndpointArgs>
    <EndpointTopic></EndpointTopic>
    <HasStoredSecret></HasStoredSecret>
    <Persistent></Persistent>
    </EndPoint>
    <TopicArn></TopicArn>
    <OpaqueData></OpaqueData>
    </Topic>
    </GetTopicResult>
    <ResponseMetadata>
    <RequestId></RequestId>
    </ResponseMetadata>
    </GetTopicResponse>

    다음은 태그 및 정의입니다.

    • User: 주제를 만든 사용자의 이름입니다.
    • name: 주제의 이름입니다.
    • JSON 형식의 끝점은 다음과 같습니다.

      • EndpointAddress: 끝점 URL입니다. 끝점 URL에 사용자 및 암호 정보가 포함된 경우 HTTPS를 통해 요청을 수행해야 합니다. 기타, get 요청이 거부됩니다.

        • End FlexVolumeArgs: 끝점 인수입니다.
        • EndpointTopic: 엔드포인트로 전송되는 주제 이름은 위의 예제 주제 이름과 다를 수 있습니다.
        • HasStoredSecret: 끝점 URL에 사용자 및 암호 정보가 포함된 경우true 입니다.
        • persistent: 주제가 지속되는 경우True 입니다.
    • 주제: ARN.
    • OpaqueData: 주제에서 불투명한 데이터 세트입니다.

2.15.5. 주제 나열

사용자가 정의한 항목을 나열합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 루트 수준 액세스.
  • Ceph 오브젝트 게이트웨이 설치.
  • 사용자 액세스 키 및 시크릿 키입니다.
  • 엔드포인트 매개 변수.

절차

  1. 다음 요청 형식을 사용하여 주제 정보를 나열합니다.

    구문

    POST
    Action=ListTopics

    다음은 응답 형식의 예입니다.

    <ListTopicdResponse xmlns="https://sns.amazonaws.com/doc/2020-03-31/">
    <ListTopicsRersult>
    <Topics>
    <member>
    <User></User>
    <Name></Name>
    <EndPoint>
    <EndpointAddress></EndpointAddress>
    <EndpointArgs></EndpointArgs>
    <EndpointTopic></EndpointTopic>
    </EndPoint>
    <TopicArn></TopicArn>
    <OpaqueData></OpaqueData>
    </member>
    </Topics>
    </ListTopicsResult>
    <ResponseMetadata>
    <RequestId></RequestId>
    </ResponseMetadata>
    </ListTopicsResponse>
    참고

    끝점 URL에 사용자 및 암호 정보가 포함된 경우 주제 중 하나에서 HTTPS를 통해 요청을 수행해야 합니다. 그러지 않으면 주제 목록 요청이 거부됩니다.

2.15.6. 주제 삭제

삭제된 주제를 제거하면 작업이 없으며 실패하지 않습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 루트 수준 액세스.
  • Ceph 오브젝트 게이트웨이 설치.
  • 사용자 액세스 키 및 시크릿 키입니다.
  • 엔드포인트 매개 변수.

절차

  1. 다음 요청 형식을 사용하여 주제를 삭제합니다.

    구문

    POST
    Action=DeleteTopic
    &TopicArn=TOPIC_ARN

    다음은 응답 형식의 예입니다.

    <DeleteTopicResponse xmlns="https://sns.amazonaws.com/doc/2020-03-31/">
    <ResponseMetadata>
    <RequestId></RequestId>
    </ResponseMetadata>
    </DeleteTopicResponse>

2.15.7. 주제 관리를 위해 명령줄 인터페이스 사용

명령줄 인터페이스를 사용하여 주제를 나열, 가져오기 및 제거할 수 있습니다.

사전 요구 사항

  • Ceph Object Gateway 노드에 대한 루트 수준 액세스.

절차

  1. 사용자의 모든 주제 목록을 가져오려면 다음을 수행합니다.

    구문

    radosgw-admin topic list --uid=USER_ID

    예제

    [root@rgw ~]# radosgw-admin topic list --uid=example

  2. 특정 주제의 구성을 가져오려면 다음을 수행합니다.

    구문

    radosgw-admin topic get --uid=USER_ID --topic=TOPIC_NAME

    예제

    [root@rgw ~]# radosgw-admin topic get --uid=example --topic=example-topic

  3. 특정 주제를 제거하려면 다음을 수행합니다.

    구문

    radosgw-admin topic rm --uid=USER_ID --topic=TOPIC_NAME

    예제

    [root@rgw ~]# radosgw-admin topic rm --uid=example --topic=example-topic

2.15.8. 이벤트 레코드

이벤트에는 Ceph Object Gateway에서 수행한 작업에 대한 정보가 있으며 HTTP, HTTPS, Kafka 또는 AMQ0.9.1과 같이 선택한 끝점을 통해 페이로드로 전송됩니다. 이벤트 레코드는 JSON 형식으로 되어 있습니다.

Red Hat Ceph Storage 6부터 다음 ObjectLifecycle:Expiration 이벤트가 지원됩니다.

  • ObjectLifecycle:Expiration:Current
  • ObjectLifecycle:Expiration:NonCurrent
  • ObjectLifecycle:Expiration:DeleteMarker
  • ObjectLifecycle:Expiration:AbortMultipartUpload

예제

{"Records":[
    {
        "eventVersion":"2.1",
        "eventSource":"ceph:s3",
        "awsRegion":"us-east-1",
        "eventTime":"2019-11-22T13:47:35.124724Z",
        "eventName":"ObjectCreated:Put",
        "userIdentity":{
            "principalId":"tester"
        },
        "requestParameters":{
            "sourceIPAddress":""
        },
        "responseElements":{
            "x-amz-request-id":"503a4c37-85eb-47cd-8681-2817e80b4281.5330.903595",
            "x-amz-id-2":"14d2-zone1-zonegroup1"
        },
        "s3":{
            "s3SchemaVersion":"1.0",
            "configurationId":"mynotif1",
            "bucket":{
                "name":"mybucket1",
                "ownerIdentity":{
                    "principalId":"tester"
                },
                "arn":"arn:aws:s3:us-east-1::mybucket1",
                "id":"503a4c37-85eb-47cd-8681-2817e80b4281.5332.38"
            },
            "object":{
                "key":"myimage1.jpg",
                "size":"1024",
                "eTag":"37b51d194a7513e45b56f6524f2d51f2",
                "versionId":"",
                "sequencer": "F7E6D75DC742D108",
                "metadata":[],
                "tags":[]
            }
        },
        "eventId":"",
        "opaqueData":"me@example.com"
    }
]}

다음은 이벤트 레코드 키와 해당 정의입니다.

  • awsRegion: zonegroup.
  • eventTime: 이벤트가 트리거된 시기를 나타내는 Timestamp입니다.
  • eventname: 이벤트의 유형입니다. ObjectCreated,ObjectRemoved 또는 ObjectLifecycle:Expiration일 수 있습니다.
  • userIdentity.principalId: 이벤트를 트리거한 사용자의 ID입니다.
  • requestParameters.sourceIPAddress: 이벤트를 트리거한 클라이언트의 IP 주소입니다. 이 필드는 지원되지 않습니다.
  • responseECDHEs.x-amz-request-id: 이벤트를 트리거한 요청 ID입니다.
  • responseECDHEs.x_amz_id_2: 이벤트가 트리거된 Ceph Object Gateway의 ID입니다. ID 형식은 RGWID-ZONE- ZONE -ZONE입니다.
  • s3.configurationId: 이벤트를 생성한 알림 ID입니다.
  • s3.bucket.name: 버킷의 이름입니다.
  • s3.bucket.ownerIdentity.principalId: 버킷의 소유자.
  • s3.bucket.arn: 버킷의 Amazon Resource Name (ARN)
  • s3.bucket.id: 버킷의 ID입니다.
  • s3.object.key: 오브젝트 키입니다.
  • s3.object.size: 오브젝트의 크기
  • s3.object.eTag: 오브젝트 etag입니다.
  • s3.object.version: 버전이 지정된 버킷의 오브젝트 버전입니다.
  • s3.object.sequencer: 16진수 형식의 개체당 변경 식별자 증가
  • s3.object.metadata: x-amz-meta 로 전송되는 오브젝트의 모든 메타데이터 세트
  • s3.object.tags: 오브젝트에 설정된 모든 태그
  • s3.eventId: 이벤트의 고유한 ID입니다.
  • s3.opaqueData: 주제 구성에 Opaque 데이터가 설정되어 주제 구성에 의해 트리거되는 모든 알림에 추가됩니다.

추가 리소스

2.15.9. 버킷 정보 가져오기

기존 버킷의 하위 집합에 대한 정보를 가져옵니다. 버킷 없이 uid 를 지정하면 사용자에게 속하는 모든 버킷이 반환됩니다. 버킷 만으로 지정되면 특정 버킷에 대한 정보가 검색됩니다.

capabilities

`buckets=read`

구문

GET /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME

요청 매개변수

bucket
설명
정보를 반환할 버킷입니다.
유형
문자열
예제
foo_bucket
필수 항목
없음
uid
설명
사용자가 버킷 정보를 검색할 수 있습니다.
유형
문자열
예제
foo_user
필수 항목
없음
통계
설명
버킷 통계 반환.
유형
부울
예제
true [False]
필수 항목
없음

응답 엔티티

통계
설명
버킷 정보 수입니다.
유형
컨테이너
상위
해당 없음
buckets
설명
하나 이상의 버킷 컨테이너 목록을 포함합니다.
유형
컨테이너
상위
buckets
bucket
설명
단일 버킷 정보에 대한 컨테이너입니다.
유형
컨테이너
상위
buckets
name
설명
버킷의 이름입니다.
유형
문자열
상위
bucket
pool
설명
버킷이 저장된 풀입니다.
유형
문자열
상위
bucket
id
설명
고유한 버킷 ID입니다.
유형
문자열
상위
bucket
마커
설명
내부 버킷 태그.
유형
문자열
상위
bucket
소유자
설명
버킷 소유자의 사용자 ID입니다.
유형
문자열
상위
bucket
usage
설명
스토리지 사용 정보.
유형
컨테이너
상위
bucket
인덱스
설명
버킷 인덱스의 상태입니다.
유형
문자열
상위
bucket

성공하면 요청은 버킷 정보를 사용하여 버킷 컨테이너를 반환합니다.

특수 오류 응답

IndexRepairFailed
설명
버킷 인덱스 복구에 실패했습니다.
코드
409 충돌

2.15.10. 버킷 인덱스 확인

기존 버킷의 인덱스를 확인합니다.

참고

check-objects 를 사용하여 다중 파트 오브젝트 계정을 확인하려면fix 를 True로 설정해야 합니다.

capabilities

buckets=write

구문

GET /admin/bucket?index&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME

요청 매개변수

bucket
설명
정보를 반환할 버킷입니다.
유형
문자열
예제
foo_bucket
필수 항목
제공됨
Check-objects
설명
다중 파트 오브젝트 계정을 확인합니다.
유형
부울
예제
true [False]
필수 항목
없음
수정
설명
또한 확인할 때 버킷 인덱스도 수정합니다.
유형
부울
예제
false [False]
필수 항목
없음

응답 엔티티

인덱스
설명
버킷 인덱스의 상태입니다.
유형
문자열

특수 오류 응답

IndexRepairFailed
설명
버킷 인덱스 복구에 실패했습니다.
코드
409 충돌

2.15.11. 버킷 제거

기존 버킷을 제거합니다.

capabilities

`buckets=write`

구문

DELETE /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME

요청 매개변수

bucket
설명
제거할 버킷입니다.
유형
문자열
예제
foo_bucket
필수 항목
제공됨
purge-objects
설명
삭제하기 전에 버킷의 오브젝트를 제거합니다.
유형
부울
예제
true [False]
필수 항목
없음

응답 엔티티

없음.

특수 오류 응답

BucketNotEmpty
설명
비어 있지 않은 버킷을 삭제하려고 했습니다.
코드
409 충돌
ObjectRemovalFailed
설명
오브젝트를 제거할 수 없음
코드
409 충돌

2.15.14. 버킷 또는 오브젝트 정책 가져오기

오브젝트 또는 버킷의 정책을 읽습니다.

capabilities

`buckets=read`

구문

GET /admin/bucket?policy&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME

요청 매개변수

bucket
설명
정책을 읽을 버킷입니다.
유형
문자열
예제
foo_bucket
필수 항목
제공됨
object
설명
정책을 읽을 오브젝트입니다.
유형
문자열
예제
foo.txt
필수 항목
없음

응답 엔티티

policy
설명
액세스 제어 정책.
유형
컨테이너
상위
해당 없음

성공하면 오브젝트 또는 버킷 정책을 반환합니다.

특수 오류 응답

IncompleteBody
설명
버킷 정책 요청 또는 버킷에 대해 버킷이 지정되지 않았으며 오브젝트 정책 요청에 오브젝트가 지정되지 않았습니다.
코드
400 잘못된 요청

2.15.15. 오브젝트 제거

기존 오브젝트를 제거합니다.

참고

소유자에 의존하지 않는 것이 필요하지 않습니다.

capabilities

`buckets=write`

구문

DELETE /admin/bucket?object&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME

요청 매개변수

bucket
설명
제거할 오브젝트가 포함된 버킷입니다.
유형
문자열
예제
foo_bucket
필수 항목
제공됨
object
설명
제거할 오브젝트입니다.
유형
문자열
예제
foo.txt
필수 항목
제공됨

응답 엔티티

없음.

특수 오류 응답

NoSuchObject
설명
지정된 개체가 존재하지 않습니다.
코드
404 Not Found
ObjectRemovalFailed
설명
오브젝트를 제거할 수 없음
코드
409 충돌

2.15.16. 할당량

관리 작업 API를 사용하면 사용자 및 사용자가 소유한 버킷에 할당량을 설정할 수 있습니다. 쿼터에는 버킷의 최대 오브젝트 수와 최대 스토리지 크기(MB)가 포함됩니다.

할당량을 보려면 사용자에게 users=read 기능이 있어야 합니다. 할당량을 설정, 수정 또는 비활성화하려면 users=write 기능이 있어야 합니다.

할당량에 유효한 매개변수는 다음과 같습니다.

  • 버킷: 버킷 옵션을 사용하면 사용자가 소유한 버킷에 대한 할당량을 지정할 수 있습니다.
  • Maximum Objects: max-objects 설정을 사용하면 최대 오브젝트 수를 지정할 수 있습니다. 음수 값은 이 설정을 비활성화합니다.
  • Maximum Size: max-size 옵션을 사용하면 최대 바이트 수에 대한 할당량을 지정할 수 있습니다. 음수 값은 이 설정을 비활성화합니다.
  • 할당량 범위: quota-scope 옵션은 할당량 범위를 설정합니다. 옵션은 버킷사용자입니다.

2.15.17. 사용자 할당량 가져오기

할당량을 가져오려면 사용자에게 읽기 권한으로 users 기능을 설정해야 합니다.

구문

GET /admin/user?quota&uid=UID&quota-type=user

2.15.18. 사용자 할당량 설정

할당량을 설정하려면 사용자에게 쓰기 권한으로 사용자 기능을 설정해야 합니다.

구문

PUT /admin/user?quota&uid=UID&quota-type=user

콘텐츠에는 해당 읽기 작업에 인코딩된 할당량 설정의 JSON 표현이 포함되어야 합니다.

2.15.19. 버킷 할당량 가져오기

기존 버킷의 하위 집합에 대한 정보를 가져옵니다. 버킷 없이 uid 를 지정하면 사용자에게 속하는 모든 버킷이 반환됩니다. 버킷 만으로 지정되면 특정 버킷에 대한 정보가 검색됩니다.

capabilities

`buckets=read`

구문

GET /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME

요청 매개변수

bucket
설명
정보를 반환할 버킷입니다.
유형
문자열
예제
foo_bucket
필수 항목
없음
uid
설명
사용자가 버킷 정보를 검색할 수 있습니다.
유형
문자열
예제
foo_user
필수 항목
없음
통계
설명
버킷 통계 반환.
유형
부울
예제
true [False]
필수 항목
없음

응답 엔티티

통계
설명
버킷 정보 수입니다.
유형
컨테이너
상위
해당 없음
buckets
설명
하나 이상의 버킷 컨테이너 목록을 포함합니다.
유형
컨테이너
상위
해당 없음
bucket
설명
단일 버킷 정보에 대한 컨테이너입니다.
유형
컨테이너
상위
buckets
name
설명
버킷의 이름입니다.
유형
문자열
상위
bucket
pool
설명
버킷이 저장된 풀입니다.
유형
문자열
상위
bucket
id
설명
고유한 버킷 ID입니다.
유형
문자열
상위
bucket
마커
설명
내부 버킷 태그.
유형
문자열
상위
bucket
소유자
설명
버킷 소유자의 사용자 ID입니다.
유형
문자열
상위
bucket
usage
설명
스토리지 사용 정보.
유형
컨테이너
상위
bucket
인덱스
설명
버킷 인덱스의 상태입니다.
유형
문자열
상위
bucket

성공하면 요청은 버킷 정보를 사용하여 버킷 컨테이너를 반환합니다.

특수 오류 응답

IndexRepairFailed
설명
버킷 인덱스 복구에 실패했습니다.
코드
409 충돌

2.15.20. 버킷 할당량 설정

할당량을 설정하려면 사용자에게 쓰기 권한으로 사용자 기능을 설정해야 합니다.

구문

PUT /admin/user?quota&uid=UID&quota-type=bucket

콘텐츠에는 해당 읽기 작업에 인코딩된 할당량 설정의 JSON 표현이 포함되어야 합니다.

2.15.21. 사용 정보 얻기

대역폭 사용 정보 요청

capabilities

`usage=read`

구문

GET /admin/usage?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME

요청 매개변수

uid
설명
정보가 요청된 사용자입니다.
유형
문자열
필수 항목
제공됨
start
설명
날짜 및 선택적으로 데이터 요청이 시작된 시간입니다. 예를 들어, 2012-09-25 16:00:00.
유형
문자열
필수 항목
없음
end
설명
날짜 및 선택적으로 데이터 요청이 종료된 시점의 시간입니다. 예를 들어, 2012-09-25 16:00:00.
유형
문자열
필수 항목
없음
show-entries
설명
데이터 항목을 반환해야 하는지 여부를 지정합니다.
유형
부울
필수 항목
없음
show-summary
설명
데이터 항목을 반환해야 하는지 여부를 지정합니다.
유형
부울
필수 항목
없음

응답 엔티티

usage
설명
사용 정보를 위한 컨테이너입니다.
유형
컨테이너
entries
설명
사용법 항목 정보를 위한 컨테이너입니다.
유형
컨테이너
user
설명
사용자 데이터 정보를 위한 컨테이너입니다.
유형
컨테이너
소유자
설명
버킷을 소유한 사용자의 이름입니다.
유형
문자열
bucket
설명
버킷 이름입니다.
유형
문자열
time
설명
첫 번째 관련 시간의 시작 부분으로 반올림되는 데이터가 지정되는 시간 하한 값입니다.
유형
문자열
epoch
설명
1/1/1970 이후의 시간(초)입니다.
유형
문자열
카테고리
설명
통계 카테고리에 대한 컨테이너입니다.
유형
컨테이너
항목
설명
stats 항목에 대한 컨테이너입니다.
유형
컨테이너
카테고리
설명
통계가 제공되는 요청 카테고리의 이름입니다.
유형
문자열
bytes_sent
설명
Ceph 오브젝트 게이트웨이에서 보낸 바이트 수입니다.
유형
정수
bytes_received
설명
Ceph Object Gateway에서 수신한 바이트 수입니다.
유형
정수
ops
설명
작업 수입니다.
유형
정수
successful_ops
설명
성공적인 작업 수입니다.
유형
정수
summary
설명
성공적인 작업 수입니다.
유형
컨테이너
total
설명
총 통계 요약을 위한 컨테이너입니다.
유형
컨테이너

성공하면 응답에 요청된 정보가 포함됩니다.

2.15.22. 사용 정보 제거

사용 정보 제거. 날짜가 지정되지 않은 경우 사용 정보를 모두 제거합니다.

capabilities

`usage=write`

구문

DELETE /admin/usage?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME

요청 매개변수

uid
설명
정보가 요청된 사용자입니다.
유형
문자열
예제
foo_user
필수 항목
제공됨
start
설명
날짜 및 선택적으로 데이터 요청이 시작된 시간입니다. 예를 들어, 2012-09-25 16:00:00.
유형
문자열
예제
2012-09-25 16:00:00
필수 항목
없음
end
설명
날짜 및 선택적으로 데이터 요청이 종료된 시점의 시간입니다. 예를 들어, 2012-09-25 16:00:00.
유형
문자열
예제
2012-09-25 16:00:00
필수 항목
없음
remove-all
설명
다중 사용자 데이터 제거를 확인하기 위해 uid 를 지정하지 않은 경우 필수 항목입니다.
유형
부울
예제
true [False]
필수 항목
없음

2.15.23. 표준 오류 응답

다음 목록은 표준 오류 응답 및 설명을 자세히 보여줍니다.

AccessDenied
설명
액세스가 거부되었습니다.
코드
403 금지
InternalError
설명
내부 서버 오류
코드
500개의 내부 서버 오류
NoSuchUser
설명
사용자가 존재하지 않습니다.
코드
404 Not Found
NoSuchBucket
설명
버킷은 존재하지 않습니다.
코드
404 Not Found
NoSuchKey
설명
이러한 액세스 키가 없습니다.
코드
404 Not Found
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.