개발자 가이드
Red Hat Ceph Storage에 다양한 애플리케이션 프로그래밍 인터페이스 사용
초록
1장. Ceph RESTful API 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 Red Hat Ceph Storage 대시보드가 제공하는 Ceph RESTful API 또는 Ceph API를 사용하여 Red Hat Ceph Storage 클러스터와 상호 작용할 수 있습니다. Ceph 모니터 및 OSD에 대한 정보를 해당 구성 옵션과 함께 표시할 수 있습니다. Ceph 풀을 생성하거나 편집할 수도 있습니다.
Ceph API는 다음 표준을 사용합니다.
- HTTP 1.1
- JSON
- MIME 및 HTTP 콘텐츠 협상
- JWT
이러한 표준은 OpenAPI 3.0을 준수하여 API 구문, 의미 체계, 콘텐츠 인코딩, 버전 관리, 인증 및 권한 부여를 규제합니다.
사전 요구 사항
- 정상적인 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Manager를 실행하는 노드에 액세스합니다.
1.1. Ceph API 버전 관리 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API의 주요 목표는 안정적인 인터페이스를 제공하는 것입니다. 안정적인 인터페이스를 제공하기 위해 Ceph API는 다음과 같은 원칙을 기반으로 구축됩니다.
- 암시적 기본값을 방지하기 위해 모든 끝점에 대한 필수 명시적 기본 버전입니다.
엔드 포인트별 변경 제어 기능 개선
특정 끝점의 예상 버전이 HTTP 헤더에 명시되어 있습니다.
구문
Accept: application/vnd.ceph.api.vMAJOR.MINOR+json
Accept: application/vnd.ceph.api.vMAJOR.MINOR+jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Accept: application/vnd.ceph.api.v1.0+json
Accept: application/vnd.ceph.api.v1.0+jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 Ceph API 서버가 특정 버전을 처리할 수 없는 경우
415 - 지원되지 않는 미디어 유형응답이 반환됩니다.
의미 체계 버전 관리 사용.
- 주요 변경 사항은 이전 버전과 호환되지 않습니다. 변경으로 인해 요청에 추가되지 않고 특정 끝점에 대한 응답 형식이 변경될 수 있습니다.
- 작은 변경 사항은 이전 버전과 호환됩니다. 변경 사항은 특정 끝점에 대한 요청 또는 응답 형식에 대한 추가 변경 사항으로 구성됩니다.
1.2. Ceph API에 대한 인증 및 권한 부여 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API에 대한 액세스는 두 개의 체크포인트를 거칩니다. 첫 번째는 요청이 유효하고 기존 사용자를 대신하여 수행됨을 인증하는 것입니다. 두 번째는 이전에 인증된 사용자가 대상 끝점에서 생성, 읽기, 업데이트 또는 삭제와 같은 특정 작업을 수행할 수 있는 권한을 부여하는 것입니다.
사용자가 Ceph API를 사용하기 전에 유효한 JSON 웹 토큰(JWT)이 필요합니다. /api/auth 끝점을 사용하면 이 토큰을 검색할 수 있습니다.
예제
curl -X POST "https://example.com:8443/api/auth" \
-H "Accept: application/vnd.ceph.api.v1.0+json" \
-H "Content-Type: application/json" \
-d '{"username": user1, "password": password1}'
[root@mon ~]# curl -X POST "https://example.com:8443/api/auth" \
-H "Accept: application/vnd.ceph.api.v1.0+json" \
-H "Content-Type: application/json" \
-d '{"username": user1, "password": password1}'
이 토큰은 Authorization HTTP 헤더 내에 배치하여 모든 API 요청과 함께 사용해야 합니다.
구문
curl -H "Authorization: Bearer TOKEN" ...
curl -H "Authorization: Bearer TOKEN" ...
1.3. Ceph API 모듈 활성화 및 보안 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage Dashboard 모듈은 SSL 보안 연결을 통해 스토리지 클러스터에 대한 RESTful API 액세스를 제공합니다.
SSL을 비활성화하면 사용자 이름과 암호가 암호화되지 않은 Red Hat Ceph Storage 대시보드로 전송됩니다.
사전 요구 사항
- Ceph Monitor 노드에 대한 루트 수준 액세스.
-
ceph-mgr데몬이 활성 상태인지 확인합니다. -
방화벽을 사용하는 경우 활성
ceph-mgr데몬이 있는 노드에서 TCP 포트8443, SSL 및 TCP 포트8080이 열려 있는지 확인합니다.
절차
Cephadm 쉘에 로그인합니다.
예제
root@host01 ~]# cephadm shell
root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow RESTful 플러그인을 활성화합니다.
[ceph: root@host01 /]# ceph mgr module enable dashboard
[ceph: root@host01 /]# ceph mgr module enable dashboardCopy to Clipboard Copied! Toggle word wrap Toggle overflow SSL 인증서를 구성합니다.
조직의 CA(인증 기관)에서 인증서를 제공하는 경우 인증서 파일을 사용하여 설정합니다.
구문
ceph dashboard set-ssl-certificate HOST_NAME -i CERT_FILE ceph dashboard set-ssl-certificate-key HOST_NAME -i KEY_FILE
ceph dashboard set-ssl-certificate HOST_NAME -i CERT_FILE ceph dashboard set-ssl-certificate-key HOST_NAME -i KEY_FILECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph dashboard set-ssl-certificate -i dashboard.crt [ceph: root@host01 /]# ceph dashboard set-ssl-certificate-key -i dashboard.key
[ceph: root@host01 /]# ceph dashboard set-ssl-certificate -i dashboard.crt [ceph: root@host01 /]# ceph dashboard set-ssl-certificate-key -i dashboard.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 고유한 노드 기반 인증서를 설정하려면 명령에 HOST_NAME 을 추가합니다.
예제
[ceph: root@host01 /]# ceph dashboard set-ssl-certificate host01 -i dashboard.crt [ceph: root@host01 /]# ceph dashboard set-ssl-certificate-key host01 -i dashboard.key
[ceph: root@host01 /]# ceph dashboard set-ssl-certificate host01 -i dashboard.crt [ceph: root@host01 /]# ceph dashboard set-ssl-certificate-key host01 -i dashboard.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 또는 자체 서명된 인증서를 생성할 수 있습니다. 그러나 자체 서명된 인증서를 사용하면 HTTPS 프로토콜의 완전한 보안 이점을 제공하지 않습니다.
[ceph: root@host01 /]# ceph dashboard create-self-signed-cert
[ceph: root@host01 /]# ceph dashboard create-self-signed-certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 주의대부분의 최신 웹 브라우저에서는 자체 서명된 인증서에 대해 어려움을 겪을 수 있으므로 보안 연결을 설정하기 전에 확인해야 합니다.
사용자를 생성하고 암호를 설정한 다음 역할을 설정합니다.
구문
echo -n "PASSWORD" > PATH_TO_FILE/PASSWORD_FILE ceph dashboard ac-user-create USER_NAME -i PASSWORD_FILE ROLE
echo -n "PASSWORD" > PATH_TO_FILE/PASSWORD_FILE ceph dashboard ac-user-create USER_NAME -i PASSWORD_FILE ROLECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# echo -n "p@ssw0rd" > /root/dash-password.txt [ceph: root@host01 /]# ceph dashboard ac-user-create user1 -i /root/dash-password.txt administrator
[ceph: root@host01 /]# echo -n "p@ssw0rd" > /root/dash-password.txt [ceph: root@host01 /]# ceph dashboard ac-user-create user1 -i /root/dash-password.txt administratorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는
관리자역할이 있는user1이라는 사용자를 생성합니다.RESTful 플러그인 웹 페이지에 연결합니다. 웹 브라우저를 열고 다음 URL을 입력합니다.
구문
https://HOST_NAME:8443
https://HOST_NAME:8443Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
https://host01:8443
https://host01:8443Copy to Clipboard Copied! Toggle word wrap Toggle overflow 자체 서명된 인증서를 사용한 경우 보안 예외를 확인합니다.
추가 리소스
-
ceph dashboard --help명령 -
https://HOST_NAME:8443/doc페이지입니다. 여기서 HOST_NAME 은 실행 중인ceph-mgr인스턴스가 있는 노드의 IP 주소 또는 이름입니다. - 자세한 내용은 Red Hat Customer Portal에서 OS 버전 용 Red Hat Enterprise Linux 제품 설명서 의 보안 강화 가이드를 참조하십시오.
1.4. 질문 및 답변 링크 복사링크가 클립보드에 복사되었습니다!
1.4.1. 정보 얻기 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Ceph API를 사용하여 스토리지 클러스터, Ceph 모니터, OSD, 풀 및 호스트에 대한 정보를 확인하는 방법을 설명합니다.
1.4.1.1. 모든 클러스터 구성 옵션을 보려면 어떻게 해야 합니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 RESTful 플러그인을 사용하여 클러스터 구성 옵션 및 해당 값을 보는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:CEPH_MANAGER_PORT/api/cluster_conf'
curl --silent --user USER 'https://CEPH_MANAGER:CEPH_MANAGER_PORT/api/cluster_conf'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
TCP 포트 번호를 사용하는
CEPH_MANAGER_PORT. 기본 TCP 포트 번호는 8443입니다.
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/cluster_conf
https://CEPH_MANAGER:8080/api/cluster_conf
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
추가 리소스
- Red Hat Ceph Storage 6 구성 가이드
1.4.1.2. 부분적인 클러스터 설정 옵션을 보려면 어떻게 해야 합니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 특정 클러스터 옵션 및 해당 값을 보는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
보려는 설정 옵션을 사용한
ARGUMENT
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
보려는 설정 옵션을 사용한
ARGUMENT -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT
https://CEPH_MANAGER:8080/api/cluster_conf/ARGUMENT
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
보려는 설정 옵션을 사용한
ARGUMENT
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
추가 리소스
- Red Hat Ceph Storage 6 구성 가이드
1.4.1.3. OSD의 모든 구성 옵션을 보려면 어떻게 해야 합니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 모든 구성 옵션과 OSD의 값을 보는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/osd/flags', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/flags', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/osd/flags', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/flags', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/osd/flags
https://CEPH_MANAGER:8080/api/osd/flags
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
추가 리소스
- Red Hat Ceph Storage 6 구성 가이드
1.4.1.4. 어떻게 규칙을 볼 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 규칙을 보는 방법에 대해 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/crush_rule'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/crush_rule'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/crush_rule'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/crush_rule'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/crush_rule', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/crush_rule', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/crush_rule', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/crush_rule', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/crush_rule
https://CEPH_MANAGER:8080/api/crush_rule
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
추가 리소스
- Red Hat Ceph Storage 6 관리 가이드에 있는 FlexVolume 규칙 섹션.
1.4.1.5. 모니터에 대한 정보는 어떻게 볼 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다음과 같은 특정 Monitor에 대한 정보를 보는 방법에 대해 설명합니다.
- IP 주소
- 이름
- 쿼럼 상태
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/monitor'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/monitor'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/monitor'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/monitor'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/monitor', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/monitor', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/monitor', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/monitor', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/monitor
https://CEPH_MANAGER:8080/api/monitor
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.1.6. 파트 모니터에 대한 정보는 어떻게 볼 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다음과 같은 특정 Monitor에 대한 정보를 보는 방법에 대해 설명합니다.
- IP 주소
- 이름
- 쿼럼 상태
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/monitor/NAME'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/monitor/NAME'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
모니터의 짧은 호스트 이름으로
NAME
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/monitor/NAME'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/monitor/NAME'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/monitor/NAME', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/monitor/NAME', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
모니터의 짧은 호스트 이름으로
NAME -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/monitor/NAME', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/monitor/NAME', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/monitor/NAME
https://CEPH_MANAGER:8080/api/monitor/NAME
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
모니터의 짧은 호스트 이름으로
NAME
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.1.7. OSD에 대한 정보를 어떻게 볼 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다음과 같은 OSD에 대한 정보를 보는 방법을 설명합니다.
- IP 주소
- 해당 풀
- 유사성
- 가중치
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/osd/', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/osd/', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/osd
https://CEPH_MANAGER:8080/api/osd
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.1.8. 파트 OSD에 대한 정보를 보려면 어떻게 해야 합니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다음과 같은 특정 OSD에 대한 정보를 보는 방법을 설명합니다.
- IP 주소
- 해당 풀
- 유사성
- 가중치
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/osd/ID
https://CEPH_MANAGER:8080/api/osd/ID
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.1.9. OSD에서 일정할 수 있는 프로세스를 어떻게 결정할 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 RESTful 플러그인을 사용하여 scrubbing 또는 deep scrubbing과 같은 프로세스를 OSD에서 예약할 수 있는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID/command', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID/command', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID/command', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/osd/ID/command', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/osd/ID/command
https://CEPH_MANAGER:8080/api/osd/ID/command
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.1.10. 풀에 대한 정보를 어떻게 볼 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다음과 같은 풀에 대한 정보를 보는 방법을 설명합니다.
- 플래그
- 크기
- 배치 그룹 수
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/pool'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/pool'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/pool', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/pool', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/pool', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/pool', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/pool
https://CEPH_MANAGER:8080/api/pool
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.1.11. 파트 풀에 대한 정보는 어떻게 볼 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다음과 같은 특정 풀에 대한 정보를 보는 방법을 설명합니다.
- 플래그
- 크기
- 배치 그룹 수
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
pool필드에 나열된 풀의ID가 있는 ID
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
pool필드에 나열된 풀의ID가 있는 ID -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/pool/ID
https://CEPH_MANAGER:8080/api/pool/ID
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
pool필드에 나열된 풀의ID가 있는 ID
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.1.12. 호스트에 대한 정보를 어떻게 볼 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다음과 같은 호스트에 대한 정보를 보는 방법을 설명합니다.
- 호스트 이름
- Ceph 데몬 및 해당 ID
- Ceph 버전
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/host'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/host'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/host'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/host'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/host', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/host', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/host', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/host', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/host
https://CEPH_MANAGER:8080/api/host
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.1.13. 파트 호스트에 대한 정보는 어떻게 볼 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다음과 같은 특정 호스트에 대한 정보를 보는 방법을 설명합니다.
- 호스트 이름
- Ceph 데몬 및 해당 ID
- Ceph 버전
curl 명령
명령줄에서 다음을 사용합니다.
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/host/HOST_NAME'
curl --silent --user USER 'https://CEPH_MANAGER:8080/api/host/HOST_NAME'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
hostname필드에 나열된 호스트의 호스트 이름을 사용하는HOST_NAME
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/host/HOST_NAME'
curl --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/host/HOST_NAME'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/host/HOST_NAME', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/host/HOST_NAME', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
hostname필드에 나열된 호스트의 호스트 이름을 사용하는HOST_NAME -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.get('https://CEPH_MANAGER:8080/api/host/HOST_NAME', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.get('https://CEPH_MANAGER:8080/api/host/HOST_NAME', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
WebECDHE
웹 브라우저에서 다음을 입력합니다.
https://CEPH_MANAGER:8080/api/host/HOST_NAME
https://CEPH_MANAGER:8080/api/host/HOST_NAME
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
hostname필드에 나열된 호스트의 호스트 이름을 사용하는HOST_NAME
메시지가 표시되면 사용자 이름과 암호를 입력합니다.
1.4.2. 설정 변경 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Ceph API를 사용하여 OSD 구성 옵션, OSD 상태, 풀에 대한 정보를 변경하는 방법을 설명합니다.
1.4.2.1. OSD 설정 옵션을 어떻게 변경할 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 RESTful 플러그인을 사용하여 OSD 구성 옵션을 변경하는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
교체:
-
수정할 옵션과 함께,
일시 정지,, noin ,nodown,nooutnoin,nobackfill,norecover,noscrub,nodeep-scrub -
true또는false를 사용하는VALUE -
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/flags'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/flags', json={"OPTION": VALUE}, auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/flags', json={"OPTION": VALUE}, auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
수정할 옵션과 함께,
일시 정지,, noin ,nodown,nooutnoin,nobackfill,norecover,noscrub,nodeep-scrub -
True또는False를 사용하는VALUE -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/flags', json={"OPTION": VALUE}, auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/flags', json={"OPTION": VALUE}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
1.4.2.2. OSD 상태를 어떻게 변경할 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 RESTful 플러그인을 사용하여 OSD 상태를 변경하는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
echo -En '{"STATE": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
echo -En '{"STATE": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
교체:
-
상태에 대한
STATE(in또는up) -
true또는false를 사용하는VALUE -
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
echo -En '{"STATE": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
echo -En '{"STATE": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"STATE": VALUE}, auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"STATE": VALUE}, auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID -
상태에 대한
STATE(in또는up) -
True또는False를 사용하는VALUE -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"STATE": VALUE}, auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"STATE": VALUE}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
1.4.2.3. OSD를 어떻게 복구할 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 OSD의 가중치를 변경하는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
echo -En '{"reweight": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
echo -En '{"reweight": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
교체:
-
새로운 가중치와 함께
VALUE -
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
echo -En '{"reweight": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
echo -En '{"reweight": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.patch('https://CEPH_MANAGER:8080/osd/ID', json={"reweight": VALUE}, auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/osd/ID', json={"reweight": VALUE}, auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID -
새로운 가중치와 함께
VALUE -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"reweight": VALUE}, auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/osd/ID', json={"reweight": VALUE}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
1.4.2.4. 풀에 대한 정보는 어떻게 변경할 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 RESTful 플러그인을 사용하여 특정 풀에 대한 정보를 변경하는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
교체:
-
수정할 옵션이 있는 경우
-
옵션의 새 값과 함께
VALUE -
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
pool필드에 나열된 풀의ID가 있는 ID
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
echo -En '{"OPTION": VALUE}' | curl --request PATCH --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.patch('https://CEPH_MANAGER:8080/api/pool/ID', json={"OPTION": VALUE}, auth=("USER, "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/pool/ID', json={"OPTION": VALUE}, auth=("USER, "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
pool필드에 나열된 풀의ID가 있는 ID -
수정할 옵션이 있는 경우
-
옵션의 새 값과 함께
VALUE -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.patch('https://CEPH_MANAGER:8080/api/pool/ID', json={"OPTION": VALUE}, auth=("USER, "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.patch('https://CEPH_MANAGER:8080/api/pool/ID', json={"OPTION": VALUE}, auth=("USER, "PASSWORD"), verify=False)
>> print result.json()
1.4.3. 클러스터 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Ceph API를 사용하여 OSD에서 스크럽 또는 딥 스크럽을 초기화하거나 풀을 생성하거나 풀에서 데이터를 제거하거나 요청을 제거하는 방법을 설명합니다.
1.4.3.1. OSD에서 예약된 프로세스를 실행하려면 어떻게 해야 합니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 RESTful API를 사용하여 OSD에서 scrubbing 또는 deep scrubbing과 같은 예약된 프로세스를 실행하는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
echo -En '{"command": "COMMAND"}' | curl --request POST --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
echo -En '{"command": "COMMAND"}' | curl --request POST --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
교체:
-
시작하기를 원하는 프로세스(scrub,deep-scrub또는repair)를 사용한 ResticMAND. OSD에서 프로세스가 지원되는지 확인합니다. 자세한 내용은 1.4.1.9절. “OSD에서 일정할 수 있는 프로세스를 어떻게 결정할 수 있습니까?” 을 참조하십시오. -
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
echo -En '{"command": "COMMAND"}' | curl --request POST --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
echo -En '{"command": "COMMAND"}' | curl --request POST --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/osd/ID/command'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.post('https://CEPH_MANAGER:8080/api/osd/ID/command', json={"command": "COMMAND"}, auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.post('https://CEPH_MANAGER:8080/api/osd/ID/command', json={"command": "COMMAND"}, auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
osd필드에 나열된 OSD의ID가 있는 ID -
시작하기를 원하는 프로세스(scrub,deep-scrub또는repair)를 사용한 ResticMAND. OSD에서 프로세스가 지원되는지 확인합니다. 자세한 내용은 1.4.1.9절. “OSD에서 일정할 수 있는 프로세스를 어떻게 결정할 수 있습니까?” 을 참조하십시오. -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.post('https://CEPH_MANAGER:8080/api/osd/ID/command', json={"command": "COMMAND"}, auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.post('https://CEPH_MANAGER:8080/api/osd/ID/command', json={"command": "COMMAND"}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
1.4.3.2. 새 풀을 어떻게 만들 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 RESTful 플러그인을 사용하여 새 풀을 생성하는 방법을 설명합니다.
curl 명령
명령줄에서 다음을 사용합니다.
echo -En '{"name": "NAME", "pg_num": NUMBER}' | curl --request POST --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/pool'
echo -En '{"name": "NAME", "pg_num": NUMBER}' | curl --request POST --data @- --silent --user USER 'https://CEPH_MANAGER:8080/api/pool'
교체:
-
새 풀의 이름으로
NAME -
배치 그룹 수와 함께
NUMBER -
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
echo -En '{"name": "NAME", "pg_num": NUMBER}' | curl --request POST --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool'
echo -En '{"name": "NAME", "pg_num": NUMBER}' | curl --request POST --data @- --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.post('https://CEPH_MANAGER:8080/api/pool', json={"name": "NAME", "pg_num": NUMBER}, auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.post('https://CEPH_MANAGER:8080/api/pool', json={"name": "NAME", "pg_num": NUMBER}, auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
새 풀의 이름으로
NAME -
배치 그룹 수와 함께
NUMBER -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.post('https://CEPH_MANAGER:8080/api/pool', json={"name": "NAME", "pg_num": NUMBER}, auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.post('https://CEPH_MANAGER:8080/api/pool', json={"name": "NAME", "pg_num": NUMBER}, auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
1.4.3.3. 풀을 어떻게 제거할 수 있습니까? 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 RESTful 플러그인을 사용하여 풀을 제거하는 방법을 설명합니다.
이 요청은 기본적으로 허용되지 않습니다. 이를 허용하려면 Ceph 구성 가이드에 다음 매개 변수를 추가합니다.
mon_allow_pool_delete = true
mon_allow_pool_delete = true
curl 명령
명령줄에서 다음을 사용합니다.
curl --request DELETE --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
curl --request DELETE --silent --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
교체:
-
사용자 이름을 사용하는
USER -
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
pool필드에 나열된 풀의ID가 있는 ID
메시지가 표시되면 사용자 암호를 입력합니다.
자체 서명된 인증서를 사용한 경우 --insecure 옵션을 사용합니다.
curl --request DELETE --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
curl --request DELETE --silent --insecure --user USER 'https://CEPH_MANAGER:8080/api/pool/ID'
Python
Python 인터프리터에서 다음을 입력합니다.
python
> import requests
> result = requests.delete('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"))
> print result.json()
$ python
>> import requests
>> result = requests.delete('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"))
>> print result.json()
교체:
-
CEPH_MANAGERwith the IP address or short host name of the node with the activeceph-mgrinstance -
pool필드에 나열된 풀의ID가 있는 ID -
사용자 이름을 사용하는
USER -
사용자
암호를 사용한 암호
자체 서명된 인증서를 사용한 경우 verify=False 옵션을 사용합니다.
python
> import requests
> result = requests.delete('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"), verify=False)
> print result.json()
$ python
>> import requests
>> result = requests.delete('https://CEPH_MANAGER:8080/api/pool/ID', auth=("USER", "PASSWORD"), verify=False)
>> print result.json()
2장. Ceph Object Gateway 관리 API 링크 복사링크가 클립보드에 복사되었습니다!
개발자는 RESTful API(애플리케이션 프로그래밍 인터페이스)와 상호 작용하여 Ceph Object Gateway를 관리할 수 있습니다. Ceph Object Gateway를 사용하면 RESTful API에서 radosgw-admin 명령의 기능을 사용할 수 있습니다. 다른 관리 플랫폼과 통합할 수 있는 사용자, 데이터, 할당량 및 사용을 관리할 수 있습니다.
Ceph Object Gateway를 구성할 때 명령줄 인터페이스를 사용하는 것이 좋습니다.
관리 API는 다음 기능을 제공합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
2.1. 관리 작업 링크 복사링크가 클립보드에 복사되었습니다!
관리 API(애플리케이션 프로그래밍 인터페이스) 요청은 구성 가능한 'admin' 리소스 진입점으로 시작하는 URI에서 수행됩니다. 관리 API에 대한 권한 부여는 S3 권한 부여 메커니즘을 복제합니다. 일부 작업을 수행하려면 사용자에게 특수 관리 기능이 있어야 합니다. 응답 엔티티 유형( XML 또는 JSON)은 요청의 'format' 옵션으로 지정되고 지정되지 않은 경우 기본값은 JSON으로 지정할 수 있습니다.
예제
2.2. 관리 인증 요청 링크 복사링크가 클립보드에 복사되었습니다!
Amazon의 S3 서비스는 요청 헤더와 시크릿 키의 액세스 키와 해시를 사용하여 요청을 인증합니다. 인증된 요청(특히 큰 업로드)을 SSL 오버헤드 없이 제공할 수 있습니다.
S3 API의 대부분의 사용 사례는 Amazon SDK for Java 또는 Python Boto의 AmazonS3Client 와 같은 오픈 소스 S3 클라이언트를 사용하는 것입니다. 이러한 라이브러리는 Ceph Object Gateway Admin API를 지원하지 않습니다. 이러한 라이브러리를 하위 분류하여 Ceph Admin API를 지원할 수 있습니다. 또는 고유한 게이트웨이 클라이언트를 만들 수 있습니다.
execute() 메서드 생성
이 섹션의 CephAdminAPI 예제 클래스는 요청 매개 변수를 사용하고, 요청을 인증하고, Ceph Admin API를 호출하고 응답을 수신하는 execute() 메서드를 생성하는 방법을 보여줍니다.
CephAdminAPI 클래스의 예는 지원되지 않거나 상용 용도로 사용됩니다. 이는 예시적인 목적으로만 사용됩니다.
Ceph Object Gateway 호출
클라이언트 코드에 는 CRUD 작업을 시연하기 위해 Ceph Object Gateway에 대한 5개의 호출이 포함되어 있습니다.
- 사용자 만들기
- 사용자 가져오기
- 사용자 수정
- 하위 사용자 만들기
- 사용자를 삭제합니다.
이 예제를 사용하려면 httpcomponents-client-4.5.3 Apache HTTP 구성 요소를 가져옵니다. 예를 들면 여기에서 다운로드할 수 있습니다. http://hc.apache.org/downloads.cgi. 그런 다음 tar 파일의 압축을 풀고 lib 디렉토리로 이동하여 JAVA_HOME 디렉터리의 /jre/lib/ext 디렉터리 또는 사용자 지정 classpath에 내용을 복사합니다.
CephAdminAPI 클래스 예제를 살펴보면 execute() 메서드가 HTTP 메서드, 요청 경로, 선택적 하위 리소스, 지정되지 않은 경우 null, 매개변수 맵을 사용합니다. 하위 리소스(예: subuser, 키 )를 사용하여 실행하려면 하위 리소스를 execute() 메서드에서 인수로 지정해야 합니다.
예제 메서드:
- URI를 빌드합니다.
- HTTP 헤더 문자열을 빌드합니다.
-
HTTP 요청을 인스턴스화합니다(예:
PUT,POST,GET,DELETE). -
Date헤더를 HTTP 헤더 문자열 및 request 헤더에 추가합니다. -
Authorization헤더를 HTTP 요청 헤더에 추가합니다. - HTTP 클라이언트를 인스턴스화하고 인스턴스화된 HTTP 요청을 전달합니다.
- 요청을 만듭니다.
- 응답을 반환합니다.
헤더 문자열 빌드
헤더 문자열을 구축하는 것은 Amazon의 S3 인증 절차를 포함하는 프로세스의 일부입니다. 특히 예제 방법은 다음을 수행합니다.
-
요청 유형(예:
PUT,POST,GET,DELETE)을 추가합니다. - 날짜를 추가합니다.
- requestPath를 추가합니다.
요청 유형은 선행 또는 후행 공백이 없는 대문자여야 합니다. 공백을 트래핑하지 않으면 인증이 실패합니다. 날짜는 GMT로 표시되거나 인증이 실패합니다.
예시적인 메서드에는 다른 헤더가 없습니다. Amazon S3 인증 절차는 x-amz 헤더를 사전 순차적으로 정렬합니다. 따라서 x-amz 헤더를 추가하는 경우 사전 순으로 추가합니다.
헤더 문자열을 빌드하면 다음 단계는 HTTP 요청을 인스턴스화하고 URI를 전달하는 것입니다. 예시적인 방법은 PUT 를 사용하여 사용자 및 하위 사용자, 사용자 가져오기에 GET, 사용자 변경을 위해 POST, 사용자를 삭제하기 위해 DELETE 를 사용합니다.
요청을 인스턴스화한 후 Date 헤더 다음에 Authorization 헤더를 추가합니다. Amazon의 S3 인증은 표준 Authorization 헤더를 사용하며 다음과 같은 구조를 갖습니다.
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
CephAdminAPI 예제 클래스에는 base64Sha1Hmac() 메서드가 있으며, 이 방법은 헤더 문자열과 admin 사용자의 secret 키를 가져와 SHA1 HMAC를 base-64 인코딩 문자열로 반환합니다. 각 execute() 호출은 동일한 코드 행을 호출하여 Authorization 헤더를 빌드합니다.
httpRequest.addHeader("Authorization", "AWS " + this.getAccessKey() + ":" + base64Sha1Hmac(headerString.toString(), this.getSecretKey()));
httpRequest.addHeader("Authorization", "AWS " + this.getAccessKey() + ":" + base64Sha1Hmac(headerString.toString(), this.getSecretKey()));
다음 CephAdminAPI 예제 클래스를 사용하려면 액세스 키, 시크릿 키 및 끝점을 생성자에 전달해야 합니다. 클래스는 런타임에 이를 변경할 수 있는 액세스자 메서드를 제공합니다.
예제
이후의 CephAdminAPIClient 예제에서는 CephAdminAPI 클래스를 인스턴스화하고, 요청 매개변수의 맵을 빌드하며, execute() 메서드를 사용하여 사용자를 생성, 가져오기, 업데이트, 삭제하는 방법을 보여줍니다.
예제
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 인증 섹션을 참조하십시오.
- Amazon S3 인증 절차에 대한 보다 광범위한 설명은 Amazon Simple Storage Service 문서의 Signing and Authenticating REST Requests 섹션을 참조하십시오.
2.3. 관리자 생성 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway 노드에서 radosgw-admin 명령을 실행하려면 노드에 admin 키가 있는지 확인합니다. admin 키는 모든 Ceph Monitor 노드에서 복사할 수 있습니다.
사전 요구 사항
- Ceph Object Gateway 노드에 대한 루트 수준 액세스.
절차
오브젝트 게이트웨이 사용자를 만듭니다.
구문
radosgw-admin user create --uid="USER_NAME" --display-name="DISPLAY_NAME"
radosgw-admin user create --uid="USER_NAME" --display-name="DISPLAY_NAME"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin user create --uid="admin-api-user" --display-name="Admin API User"
[user@client ~]$ radosgw-admin user create --uid="admin-api-user" --display-name="Admin API User"Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw-admin명령줄 인터페이스에서 사용자를 반환합니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성하는 사용자에게 관리 기능을 할당합니다.
구문
radosgw-admin caps add --uid="USER_NAME" --caps="users=*"
radosgw-admin caps add --uid="USER_NAME" --caps="users=*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin caps add --uid=admin-api-user --caps="users=*"
[user@client ~]$ radosgw-admin caps add --uid=admin-api-user --caps="users=*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw-admin명령줄 인터페이스에서 사용자를 반환합니다."caps":사용자에게 할당한 기능이 있습니다.출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이제 관리자 권한이 있는 사용자가 있습니다.
2.4. 사용자 정보 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
사용자의 정보를 가져옵니다.
capabilities
users=read
users=read
구문
GET /admin/user?format=json HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME
GET /admin/user?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 정보가 요청된 사용자입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
응답 엔티티
user- 설명
- 사용자 데이터 정보를 위한 컨테이너입니다.
- 유형
- 컨테이너
- 상위
- 해당 없음
user_id- 설명
- 사용자 ID.
- 유형
- 문자열
- 상위
-
user
display_name- 설명
- 사용자의 표시 이름입니다.
- 유형
- 문자열
- 상위
-
user
일시 정지- 설명
- 사용자가 일시 중지된 경우 True입니다.
- 유형
- 부울
- 상위
-
user
max_buckets- 설명
- 사용자가 소유할 최대 버킷 수입니다.
- 유형
- 정수
- 상위
-
user
하위 사용자- 설명
- 이 사용자 계정과 연결된 하위 사용자입니다.
- 유형
- 컨테이너
- 상위
-
user
keys- 설명
- 이 사용자 계정과 연결된 S3 키입니다.
- 유형
- 컨테이너
- 상위
-
user
swift_keys- 설명
- 이 사용자 계정과 연결된 Swift 키입니다.
- 유형
- 컨테이너
- 상위
-
user
caps- 설명
- 사용자 기능.
- 유형
- 컨테이너
- 상위
-
user
성공하면 응답에 사용자 정보가 포함됩니다.
특수 오류 응답
없음.
2.5. 사용자 생성 링크 복사링크가 클립보드에 복사되었습니다!
새 사용자를 생성합니다. 기본적으로 S3 키 쌍은 자동으로 생성되고 응답으로 반환됩니다. access-key 또는 secret-key 만 제공되면 생략된 키가 자동으로 생성됩니다. 기본적으로 생성된 키는 기존 키 쌍을 교체하지 않고 키링에 추가됩니다. access-key 가 지정되어 있고 사용자가 소유한 기존 키를 참조하는 경우 수정됩니다.
capabilities
`users=write`
`users=write`
구문
PUT /admin/user?format=json HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME
PUT /admin/user?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 생성할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
display-name- 설명
- 생성할 사용자의 표시 이름입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
email- 설명
- 사용자와 연결된 이메일 주소입니다.
- 유형
- 문자열
- 예제
-
foo@bar.com - 필수 항목
- 없음
key-type- 설명
- 생성할 키 유형으로, 옵션은 swift, s3(기본값)입니다.
- 유형
- 문자열
- 예제
-
s3[s3] - 필수 항목
- 없음
access-key- 설명
- 액세스 키를 지정합니다.
- 유형
- 문자열
- 예제
-
ABCD0EF12GHIJ2K34LMN - 필수 항목
- 없음
secret-key- 설명
- 시크릿 키를 지정합니다.
- 유형
- 문자열
- 예제
-
0AbCDEFg1h2i34JklM5nop6QrSTUV+WxyzaBC7D8 - 필수 항목
- 없음
user-caps- 설명
- 사용자 기능.
- 유형
- 문자열
- 예제
-
usage=read, write; users=read - 필수 항목
- 없음
generate-key- 설명
- 새 키 쌍을 생성하고 기존 키링에 추가합니다.
- 유형
- 부울
- 예제
- true [True]
- 필수 항목
- 없음
max-buckets- 설명
- 사용자가 보유할 수 있는 최대 버킷 수를 지정합니다.
- 유형
- 정수
- 예제
- 500 [1000]
- 필수 항목
- 없음
일시 정지- 설명
- 사용자를 일시 중지해야 하는지 여부를 지정합니다.
- 유형
- 부울
- 예제
- false [False]
- 필수 항목
- 없음
응답 엔티티
user- 설명
- 사용자를 일시 중지해야 하는지 여부를 지정합니다.
- 유형
- 부울
- 상위
- 없음
user_id- 설명
- 사용자 ID.
- 유형
- 문자열
- 상위
-
user
display_name- 설명
- 사용자의 표시 이름입니다.
- 유형
- 문자열
- 상위
-
user
일시 정지- 설명
- 사용자가 일시 중지된 경우 True입니다.
- 유형
- 부울
- 상위
-
user
max_buckets- 설명
- 사용자가 소유할 최대 버킷 수입니다.
- 유형
- 정수
- 상위
-
user
하위 사용자- 설명
- 이 사용자 계정과 연결된 하위 사용자입니다.
- 유형
- 컨테이너
- 상위
-
user
keys- 설명
- 이 사용자 계정과 연결된 S3 키입니다.
- 유형
- 컨테이너
- 상위
-
user
swift_keys- 설명
- 이 사용자 계정과 연결된 Swift 키입니다.
- 유형
- 컨테이너
- 상위
-
user
caps- 설명
- 사용자 기능.
- 유형
- 컨테이너
- 상위
- 성공하면 응답에 사용자 정보가 포함됩니다.
특수 오류 응답
UserExists- 설명
- 기존 사용자 생성을 시도합니다.
- 코드
- 409 충돌
InvalidAccessKey- 설명
- 잘못된 액세스 키가 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidKeyType- 설명
- 잘못된 키 유형이 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidSecretKey- 설명
- 잘못된 시크릿 키가 지정되었습니다.
- 코드
- 400 잘못된 요청
KeyExists- 설명
- 제공된 액세스 키가 존재하며 다른 사용자에게 속합니다.
- 코드
- 409 충돌
EmailExists- 설명
- 이메일 주소가 제공됩니다.
- 코드
- 409 충돌
InvalidCap- 설명
- 잘못된 admin 기능 부여를 시도합니다.
- 코드
- 400 잘못된 요청
추가 리소스
- 하위 사용자 생성은 Red Hat Ceph Storage 개발자 가이드를 참조하십시오.
2.6. 사용자 수정 링크 복사링크가 클립보드에 복사되었습니다!
기존 사용자를 수정합니다.
capabilities
`users=write`
`users=write`
구문
POST /admin/user?format=json HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME
POST /admin/user?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 생성할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
display-name- 설명
- 생성할 사용자의 표시 이름입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
email- 설명
- 사용자와 연결된 이메일 주소입니다.
- 유형
- 문자열
- 예제
-
foo@bar.com - 필수 항목
- 없음
generate-key- 설명
- 새 키 쌍을 생성하고 기존 키링에 추가합니다.
- 유형
- 부울
- 예제
- true [False]
- 필수 항목
- 없음
access-key- 설명
- 액세스 키를 지정합니다.
- 유형
- 문자열
- 예제
-
ABCD0EF12GHIJ2K34LMN - 필수 항목
- 없음
secret-key- 설명
- 시크릿 키를 지정합니다.
- 유형
- 문자열
- 예제
-
0AbCDEFg1h2i34JklM5nop6QrSTUV+WxyzaBC7D8 - 필수 항목
- 없음
key-type- 설명
- 생성할 키 유형으로, 옵션은 swift, s3(기본값)입니다.
- 유형
- 문자열
- 예제
-
s3 - 필수 항목
- 없음
user-caps- 설명
- 사용자 기능.
- 유형
- 문자열
- 예제
-
usage=read, write; users=read - 필수 항목
- 없음
max-buckets- 설명
- 사용자가 보유할 수 있는 최대 버킷 수를 지정합니다.
- 유형
- 정수
- 예제
- 500 [1000]
- 필수 항목
- 없음
일시 정지- 설명
- 사용자를 일시 중지해야 하는지 여부를 지정합니다.
- 유형
- 부울
- 예제
- false [False]
- 필수 항목
- 없음
응답 엔티티
user- 설명
- 사용자를 일시 중지해야 하는지 여부를 지정합니다.
- 유형
- 부울
- 상위
- 없음
user_id- 설명
- 사용자 ID.
- 유형
- 문자열
- 상위
-
user
display_name- 설명
- 사용자의 표시 이름입니다.
- 유형
- 문자열
- 상위
-
user
일시 정지- 설명
- 사용자가 일시 중지된 경우 True입니다.
- 유형
- 부울
- 상위
-
user
max_buckets- 설명
- 사용자가 소유할 최대 버킷 수입니다.
- 유형
- 정수
- 상위
-
user
하위 사용자- 설명
- 이 사용자 계정과 연결된 하위 사용자입니다.
- 유형
- 컨테이너
- 상위
-
user
keys- 설명
- 이 사용자 계정과 연결된 S3 키입니다.
- 유형
- 컨테이너
- 상위
-
user
swift_keys- 설명
- 이 사용자 계정과 연결된 Swift 키입니다.
- 유형
- 컨테이너
- 상위
-
user
caps- 설명
- 사용자 기능.
- 유형
- 컨테이너
- 상위
- 성공하면 응답에 사용자 정보가 포함됩니다.
특수 오류 응답
InvalidAccessKey- 설명
- 잘못된 액세스 키가 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidKeyType- 설명
- 잘못된 키 유형이 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidSecretKey- 설명
- 잘못된 시크릿 키가 지정되었습니다.
- 코드
- 400 잘못된 요청
KeyExists- 설명
- 제공된 액세스 키가 존재하며 다른 사용자에게 속합니다.
- 코드
- 409 충돌
EmailExists- 설명
- 이메일 주소가 제공됩니다.
- 코드
- 409 충돌
InvalidCap- 설명
- 잘못된 admin 기능 부여를 시도합니다.
- 코드
- 400 잘못된 요청
추가 리소스
- 하위 사용자 수정을 위한 Red Hat Ceph Storage 개발자 가이드를 참조하십시오.
2.7. 사용자 제거 링크 복사링크가 클립보드에 복사되었습니다!
기존 사용자를 제거합니다.
capabilities
`users=write`
`users=write`
구문
DELETE /admin/user?format=json HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME
DELETE /admin/user?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 제거할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
purge-data- 설명
- 사용자에게 속하는 버킷과 오브젝트도 지정하면 제거됩니다.
- 유형
- 부울
- 예제
- True
- 필수 항목
- 없음
응답 엔티티
없음.
특수 오류 응답
없음.
추가 리소스
- 하위 사용자 제거는 Red Hat Ceph Storage 개발자 가이드를 참조하십시오.
2.8. 하위 사용자 생성 링크 복사링크가 클립보드에 복사되었습니다!
Swift API를 사용하여 클라이언트에 특히 유용한 새 하위 사용자를 만듭니다.
유효한 요청에는 gen- 또는 subuser가 필요합니다. 일반적으로 하위 사용자에게 유용한 경우 subuser 액세스 권한을 지정하여 권한을 부여해야 합니다. 시크릿 없이 하위 사용자가 지정된 경우 사용자 생성과 마찬가지로 시크릿 키가 자동으로 생성됩니다.
capabilities
`users=write`
`users=write`
구문
PUT /admin/user?subuser&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
PUT /admin/user?subuser&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 하위 사용자를 생성할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
하위 사용자- 설명
- 생성할 하위 사용자 ID를 지정합니다.
- 유형
- 문자열
- 예제
-
sub_foo - 필수 항목
-
제공됨 (또는
gen-subuser)
FlexVolume-subuser- 설명
- 생성할 하위 사용자 ID를 지정합니다.
- 유형
- 문자열
- 예제
-
sub_foo - 필수 항목
-
제공됨 (또는
gen-subuser)
secret-key- 설명
- 시크릿 키를 지정합니다.
- 유형
- 문자열
- 예제
-
0AbCDEFg1h2i34JklM5nop6QrSTUV+WxyzaBC7D8 - 필수 항목
- 없음
key-type- 설명
- 생성할 키 유형입니다. 옵션은 swift(기본값), s3입니다.
- 유형
- 문자열
- 예제
-
swift[swift] - 필수 항목
- 없음
액세스- 설명
-
sub-user에 대한 액세스 권한을
읽기, 쓰기, 읽기 쓰기, 전체여야 합니다. - 유형
- 문자열
- 예제
-
read - 필수 항목
- 없음
generate-secret- 설명
- 시크릿 키를 생성합니다.
- 유형
- 부울
- 예제
- true [False]
- 필수 항목
- 없음
응답 엔티티
하위 사용자- 설명
- 사용자 계정과 연결된 하위 사용자입니다.
- 유형
- 컨테이너
- 상위
- 해당 없음
권한- 설명
- 사용자 계정에 대한 하위 사용자 액세스.
- 유형
- 문자열
- 상위
-
하위 사용자
성공하면 응답에 하위 사용자 정보가 포함됩니다.
특수 오류 응답
SubuserExists- 설명
- 지정된 하위 사용자가 있습니다.
- 코드
- 409 충돌
InvalidKeyType- 설명
- 잘못된 키 유형이 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidSecretKey- 설명
- 잘못된 시크릿 키가 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidAccess- 설명
- 잘못된 하위 사용자 액세스 권한이 지정되었습니다.
- 코드
- 400 잘못된 요청
2.9. 하위 사용자 수정 링크 복사링크가 클립보드에 복사되었습니다!
기존 하위 사용자를 수정합니다.
capabilities
`users=write`
`users=write`
구문
POST /admin/user?subuser&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
POST /admin/user?subuser&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 하위 사용자를 생성할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
하위 사용자- 설명
- 수정할 하위 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
sub_foo - 필수 항목
generate-secret- 설명
- 기존 키를 교체하여 하위 사용자에 대한 새 시크릿 키를 생성합니다.
- 유형
- 부울
- 예제
- true [False]
- 필수 항목
- 없음
secret- 설명
- 시크릿 키를 지정합니다.
- 유형
- 문자열
- 예제
-
0AbCDEFg1h2i34JklM5nop6QrSTUV+WxyzaBC7D8 - 필수 항목
- 없음
key-type- 설명
- 생성할 키 유형입니다. 옵션은 swift(기본값), s3입니다.
- 유형
- 문자열
- 예제
-
swift[swift] - 필수 항목
- 없음
액세스- 설명
-
sub-user에 대한 액세스 권한을
읽기, 쓰기, 읽기 쓰기, 전체여야 합니다. - 유형
- 문자열
- 예제
-
read - 필수 항목
- 없음
응답 엔티티
하위 사용자- 설명
- 사용자 계정과 연결된 하위 사용자입니다.
- 유형
- 컨테이너
- 상위
- 해당 없음
id- 설명
- 하위 사용자 ID
- 유형
- 문자열
- 상위
-
하위 사용자
권한- 설명
- 사용자 계정에 대한 하위 사용자 액세스.
- 유형
- 문자열
- 상위
-
하위 사용자
성공하면 응답에 하위 사용자 정보가 포함됩니다.
특수 오류 응답
InvalidKeyType- 설명
- 잘못된 키 유형이 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidSecretKey- 설명
- 잘못된 시크릿 키가 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidAccess- 설명
- 잘못된 하위 사용자 액세스 권한이 지정되었습니다.
- 코드
- 400 잘못된 요청
2.10. 하위 사용자 제거 링크 복사링크가 클립보드에 복사되었습니다!
기존 하위 사용자를 제거합니다.
capabilities
`users=write`
`users=write`
구문
DELETE /admin/user?subuser&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
DELETE /admin/user?subuser&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 제거할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
하위 사용자- 설명
- 제거할 하위 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
sub_foo - 필수 항목
- 제공됨
purge-keys- 설명
- subuser에 속하는 키를 제거합니다.
- 유형
- 부울
- 예제
- true [True]
- 필수 항목
- 없음
응답 엔티티
없음.
특수 오류 응답
없음.
2.11. 사용자에게 기능 추가 링크 복사링크가 클립보드에 복사되었습니다!
지정된 사용자에게 관리 기능을 추가합니다.
capabilities
`users=write`
`users=write`
구문
PUT /admin/user?caps&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
PUT /admin/user?caps&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 관리 기능을 추가할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
user-caps- 설명
- 사용자에게 추가할 관리 기능입니다.
- 유형
- 문자열
- 예제
-
usage=read, write - 필수 항목
- 제공됨
응답 엔티티
user- 설명
- 사용자 데이터 정보를 위한 컨테이너입니다.
- 유형
- 컨테이너
- 상위
- 해당 없음
user_id- 설명
- 사용자 ID
- 유형
- 문자열
- 상위
-
user
caps- 설명
- 사용자 기능
- 유형
- 컨테이너
- 상위
-
user
성공하면 응답에 사용자의 기능이 포함됩니다.
특수 오류 응답
InvalidCap- 설명
- 잘못된 admin 기능 부여를 시도합니다.
- 코드
- 400 잘못된 요청
2.12. 사용자의 기능 제거 링크 복사링크가 클립보드에 복사되었습니다!
지정된 사용자의 관리 기능 제거.
capabilities
`users=write`
`users=write`
구문
DELETE /admin/user?caps&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
DELETE /admin/user?caps&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 관리 기능을 제거할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
user-caps- 설명
- 사용자에서 제거할 관리 기능입니다.
- 유형
- 문자열
- 예제
-
usage=read, write - 필수 항목
- 제공됨
응답 엔티티
user- 설명
- 사용자 데이터 정보를 위한 컨테이너입니다.
- 유형
- 컨테이너
- 상위
- 해당 없음
user_id- 설명
- 사용자 ID.
- 유형
- 문자열
- 상위
-
user
caps- 설명
- 사용자 기능.
- 유형
- 컨테이너
- 상위
-
user
성공하면 응답에 사용자의 기능이 포함됩니다.
특수 오류 응답
InvalidCap- 설명
- 잘못된 admin 기능 제거를 시도합니다.
- 코드
- 400 잘못된 요청
NoSuchCap- 설명
- 사용자는 지정된 기능을 가지고 있지 않습니다.
- 코드
- 404 Not Found
2.13. 키 생성 링크 복사링크가 클립보드에 복사되었습니다!
새 키를 만듭니다. 하위 사용자를 지정하면 기본적으로 생성된 키는 swift 유형이 됩니다. access-key 또는 secret-key 중 하나만 제공하면 커밋된 키가 자동으로 생성되며 secret-key 만 지정된 경우 access-key 가 자동으로 생성됩니다. 기본적으로 생성된 키는 기존 키 쌍을 교체하지 않고 키링에 추가됩니다. access-key 가 지정되어 있고 사용자가 소유한 기존 키를 참조하는 경우 수정됩니다. 응답은 생성된 키와 동일한 유형의 모든 키를 나열하는 컨테이너입니다.
swift 키를 생성할 때 옵션 access-key 를 지정하면 효과가 없습니다. 또한 각 사용자 또는 하위 사용자가 하나의 swift 키만 보유할 수 있습니다.
capabilities
`users=write`
`users=write`
구문
PUT /admin/user?key&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
PUT /admin/user?key&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
uid- 설명
- 새 키를 수신할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
하위 사용자- 설명
- 새 키를 수신할 하위 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
sub_foo - 필수 항목
- 없음
key-type- 설명
- 생성할 키 유형으로, 옵션은 swift, s3(기본값)입니다.
- 유형
- 문자열
- 예제
-
s3[s3] - 필수 항목
- 없음
access-key- 설명
- 액세스 키를 지정합니다.
- 유형
- 문자열
- 예제
-
AB01C2D3EF45G6H7IJ8K - 필수 항목
- 없음
secret-key- 설명
- 시크릿 키를 지정합니다.
- 유형
- 문자열
- 예제
-
0ab/CdeFGhij1klmnopqRSTUv1WxyZabcDEFgHij - 필수 항목
- 없음
generate-key- 설명
- 새 키 쌍을 생성하고 기존 키링에 추가합니다.
- 유형
- 부울
- 예제
-
true [
True] - 필수 항목
- 없음
응답 엔티티
keys- 설명
- 이 사용자 계정과 연관된 생성된 유형의 키입니다.
- 유형
- 컨테이너
- 상위
- 해당 없음
user- 설명
- 키와 연결된 사용자 계정입니다.
- 유형
- 문자열
- 상위
-
keys
access-key- 설명
- 액세스 키입니다.
- 유형
- 문자열
- 상위
-
keys
secret-key- 설명
- 시크릿 키입니다.
- 유형
- 문자열
- 상위
-
keys
특수 오류 응답
InvalidAccessKey- 설명
- 잘못된 액세스 키가 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidKeyType- 설명
- 잘못된 키 유형이 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidSecretKey- 설명
- 잘못된 시크릿 키가 지정되었습니다.
- 코드
- 400 잘못된 요청
InvalidKeyType- 설명
- 잘못된 키 유형이 지정되었습니다.
- 코드
- 400 잘못된 요청
KeyExists- 설명
- 제공된 액세스 키가 존재하며 다른 사용자에게 속합니다.
- 코드
- 409 충돌
2.14. 키 제거 링크 복사링크가 클립보드에 복사되었습니다!
기존 키를 제거합니다.
capabilities
`users=write`
`users=write`
구문
DELETE /admin/user?key&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
DELETE /admin/user?key&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
access-key- 설명
- 제거할 S3 키 쌍에 속하는 S3 액세스 키입니다.
- 유형
- 문자열
- 예제
-
AB01C2D3EF45G6H7IJ8K - 필수 항목
- 제공됨
uid- 설명
- 키를 제거할 사용자입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 없음
하위 사용자- 설명
- 키를 제거할 하위 사용자입니다.
- 유형
- 문자열
- 예제
-
sub_foo - 필수 항목
- 없음
key-type- 설명
제거할 키 유형, 옵션은 swift, s3입니다.
참고swift 키를 제거하는 데 필요합니다.
- 유형
- 문자열
- 예제
-
swift - 필수 항목
- 없음
특수 오류 응답
없음.
응답 엔티티
없음.
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 오브젝트 게이트웨이 설치.
- 사용자 액세스 키 및 시크릿 키입니다.
- 엔드포인트 매개 변수.
절차
다음 요청 형식을 사용하여 주제를 생성합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 요청 매개변수는 다음과 같습니다.
-
끝점: 알림을 보낼 끝점의 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]. -
사용자 및 암호의 기본값은 각각
guest및guest입니다. - 사용자 및 암호 세부 정보는 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-ssl이true로 설정된 경우 브로커와 연결하는 데 보안 연결이 사용됩니다. -
ca-location이 제공되고 보안 연결이 사용되는 경우 브로커를 인증하기 위해 기본 CA 대신 지정된 CA가 사용됩니다. - 사용자 및 암호는 HTTP[S]를 통해서만 제공될 수 있습니다. 그러지 않으면 주제 생성 요청이 거부됩니다.
-
사용자 및 암호는
use-ssl과 함께 함께 제공될 수 있습니다. 그렇지 않으면 브로커에 대한 연결이 실패합니다. -
기본값은9092입니다. Kafka-ack-level: 메시지가 최종 목적지로 전달되기 전에 브로커에 유지 될 수 있으므로 감사를 종료 할 필요가 없습니다. 두 가지 승인 방법이 있습니다.-
none: 브로커로 전송되는 경우 메시지가전달되는것으로 간주됩니다. -
broker: 브로커가 승인하는 경우 기본적으로 메시지는전달되는것으로 간주됩니다.
-
-
-
다음은 응답 형식의 예입니다.
예제
응답의 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'}) "
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 오브젝트 게이트웨이 설치.
- 사용자 액세스 키 및 시크릿 키입니다.
- 엔드포인트 매개 변수.
절차
다음 요청 형식을 사용하여 주제 정보를 가져옵니다.
구문
POST Action=GetTopic &TopicArn=TOPIC_ARN
POST Action=GetTopic &TopicArn=TOPIC_ARNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은 응답 형식의 예입니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은 태그 및 정의입니다.
-
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 오브젝트 게이트웨이 설치.
- 사용자 액세스 키 및 시크릿 키입니다.
- 엔드포인트 매개 변수.
절차
다음 요청 형식을 사용하여 주제 정보를 나열합니다.
구문
POST Action=ListTopics
POST Action=ListTopicsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은 응답 형식의 예입니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고끝점 URL에 사용자 및 암호 정보가 포함된 경우 주제 중 하나에서 HTTPS를 통해 요청을 수행해야 합니다. 그러지 않으면 주제 목록 요청이 거부됩니다.
2.15.6. 주제 삭제 링크 복사링크가 클립보드에 복사되었습니다!
삭제된 주제를 제거하면 작업이 없으며 실패하지 않습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 루트 수준 액세스.
- Ceph 오브젝트 게이트웨이 설치.
- 사용자 액세스 키 및 시크릿 키입니다.
- 엔드포인트 매개 변수.
절차
다음 요청 형식을 사용하여 주제를 삭제합니다.
구문
POST Action=DeleteTopic &TopicArn=TOPIC_ARN
POST Action=DeleteTopic &TopicArn=TOPIC_ARNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은 응답 형식의 예입니다.
<DeleteTopicResponse xmlns="https://sns.amazonaws.com/doc/2020-03-31/"> <ResponseMetadata> <RequestId></RequestId> </ResponseMetadata> </DeleteTopicResponse>
<DeleteTopicResponse xmlns="https://sns.amazonaws.com/doc/2020-03-31/"> <ResponseMetadata> <RequestId></RequestId> </ResponseMetadata> </DeleteTopicResponse>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.15.7. 주제 관리를 위해 명령줄 인터페이스 사용 링크 복사링크가 클립보드에 복사되었습니다!
명령줄 인터페이스를 사용하여 주제를 나열, 가져오기 및 제거할 수 있습니다.
사전 요구 사항
- Ceph Object Gateway 노드에 대한 루트 수준 액세스.
절차
사용자의 모든 주제 목록을 가져오려면 다음을 수행합니다.
구문
radosgw-admin topic list --uid=USER_ID
radosgw-admin topic list --uid=USER_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin topic list --uid=example
[root@rgw ~]# radosgw-admin topic list --uid=exampleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 주제의 구성을 가져오려면 다음을 수행합니다.
구문
radosgw-admin topic get --uid=USER_ID --topic=TOPIC_NAME
radosgw-admin topic get --uid=USER_ID --topic=TOPIC_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin topic get --uid=example --topic=example-topic
[root@rgw ~]# radosgw-admin topic get --uid=example --topic=example-topicCopy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 주제를 제거하려면 다음을 수행합니다.
구문
radosgw-admin topic rm --uid=USER_ID --topic=TOPIC_NAME
radosgw-admin topic rm --uid=USER_ID --topic=TOPIC_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin topic rm --uid=example --topic=example-topic
[root@rgw ~]# radosgw-admin topic rm --uid=example --topic=example-topicCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
예제
다음은 이벤트 레코드 키와 해당 정의입니다.
-
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`
`buckets=read`
구문
GET /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
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
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`
`buckets=write`
구문
DELETE /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
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.12. 버킷 연결 링크 복사링크가 클립보드에 복사되었습니다!
이전 사용자의 버킷을 연결 해제하여 지정된 사용자에게 버킷을 연결합니다.
capabilities
`buckets=write`
`buckets=write`
구문
PUT /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
PUT /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
bucket- 설명
- 연결할 버킷입니다.
- 유형
- 문자열
- 예제
-
foo_bucket - 필수 항목
- 제공됨
uid- 설명
- 버킷을 연결할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
응답 엔티티
bucket- 설명
- 단일 버킷 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 상위
- 해당 없음
name- 설명
- 버킷의 이름입니다.
- 유형
- 문자열
- 상위
-
bucket
pool- 설명
- 버킷이 저장된 풀입니다.
- 유형
- 문자열
- 상위
-
bucket
id- 설명
- 고유한 버킷 ID입니다.
- 유형
- 문자열
- 상위
-
bucket
마커- 설명
- 내부 버킷 태그.
- 유형
- 문자열
- 상위
-
bucket
소유자- 설명
- 버킷 소유자의 사용자 ID입니다.
- 유형
- 문자열
- 상위
-
bucket
usage- 설명
- 스토리지 사용 정보.
- 유형
- 컨테이너
- 상위
-
bucket
인덱스- 설명
- 버킷 인덱스의 상태입니다.
- 유형
- 문자열
- 상위
-
bucket
특수 오류 응답
BucketUnlinkFailed- 설명
- 지정된 사용자로부터 버킷을 연결 해제할 수 없습니다.
- 코드
- 409 충돌
BucketLinkFailed- 설명
- 지정된 사용자에게 버킷을 연결할 수 없습니다.
- 코드
- 409 충돌
2.15.13. 버킷 연결 해제 링크 복사링크가 클립보드에 복사되었습니다!
지정된 사용자로부터 버킷 연결을 해제합니다. 버킷 소유권을 변경하는 데 주로 유용합니다.
capabilities
`buckets=write`
`buckets=write`
구문
POST /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
POST /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
요청 매개변수
bucket- 설명
- 연결할 버킷입니다.
- 유형
- 문자열
- 예제
-
foo_bucket - 필수 항목
- 제공됨
uid- 설명
- 버킷을 연결할 사용자 ID입니다.
- 유형
- 문자열
- 예제
-
foo_user - 필수 항목
- 제공됨
응답 엔티티
없음.
특수 오류 응답
BucketUnlinkFailed- 설명
- 지정된 사용자로부터 버킷을 연결 해제할 수 없습니다.
- 유형
- 409 충돌
2.15.14. 버킷 또는 오브젝트 정책 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트 또는 버킷의 정책을 읽습니다.
capabilities
`buckets=read`
`buckets=read`
구문
GET /admin/bucket?policy&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
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`
`buckets=write`
구문
DELETE /admin/bucket?object&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
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"a-type=user
GET /admin/user?quota&uid=UID"a-type=user
2.15.18. 사용자 할당량 설정 링크 복사링크가 클립보드에 복사되었습니다!
할당량을 설정하려면 사용자에게 쓰기 권한으로 사용자 기능을 설정해야 합니다.
구문
PUT /admin/user?quota&uid=UID"a-type=user
PUT /admin/user?quota&uid=UID"a-type=user
콘텐츠에는 해당 읽기 작업에 인코딩된 할당량 설정의 JSON 표현이 포함되어야 합니다.
2.15.19. 버킷 할당량 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
기존 버킷의 하위 집합에 대한 정보를 가져옵니다. 버킷 없이 uid 를 지정하면 사용자에게 속하는 모든 버킷이 반환됩니다. 버킷 만으로 지정되면 특정 버킷에 대한 정보가 검색됩니다.
capabilities
`buckets=read`
`buckets=read`
구문
GET /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
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"a-type=bucket
PUT /admin/user?quota&uid=UID"a-type=bucket
콘텐츠에는 해당 읽기 작업에 인코딩된 할당량 설정의 JSON 표현이 포함되어야 합니다.
2.15.21. 사용 정보 얻기 링크 복사링크가 클립보드에 복사되었습니다!
대역폭 사용 정보 요청
capabilities
`usage=read`
`usage=read`
구문
GET /admin/usage?format=json HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME
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`
`usage=write`
구문
DELETE /admin/usage?format=json HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME
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
3장. Ceph Object Gateway 및 S3 API 링크 복사링크가 클립보드에 복사되었습니다!
개발자는 Amazon S3 데이터 액세스 모델과 호환되는 RESTful API(애플리케이션 프로그래밍 인터페이스)를 사용할 수 있습니다. Ceph Object Gateway를 통해 Red Hat Ceph Storage 클러스터에 저장된 버킷과 오브젝트를 관리할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
3.1. S3 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
다음 제한 사항을 주의해서 사용해야 합니다. 하드웨어 선택과 관련된 영향이 있으므로 Red Hat 계정 팀과 항상 이러한 요구 사항을 논의해야 합니다.
-
Amazon S3를 사용할 때 최대 오브젝트 크기: 개별 Amazon S3 오브젝트의 범위는 최소 0B에서 최대 5TB까지입니다. 단일
PUT에서 업로드할 수 있는 가장 큰 오브젝트는 5GB입니다. 100MB보다 큰 개체의 경우 Multipart 업로드 기능을 사용해야 합니다. - Amazon S3 사용 시 최대 메타데이터 크기: 오브젝트에 적용할 수 있는 사용자 메타데이터의 총 크기에 제한이 없지만 단일 HTTP 요청은 16,000바이트로 제한됩니다.
- Red Hat Ceph Storage 클러스터에서 S3 오브젝트 및 메타데이터를 저장하기 위해 생성하는 데이터 오버헤드의 양입니다. 이 추정치는 200-300바이트와 오브젝트 이름의 길이를 더한 값입니다. 버전이 지정된 오브젝트는 버전 수에 비례하는 추가 공간을 사용합니다. 또한 멀티 파트 업로드 및 기타 트랜잭션 업데이트 중에 일시적인 오버헤드가 생성되지만 이러한 오버헤드는 가비지 수집 중에 복구됩니다.
추가 리소스
- 지원되지 않는 헤더 필드에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드를 참조하십시오.
3.2. S3 API를 사용하여 Ceph 오브젝트 게이트웨이 액세스 링크 복사링크가 클립보드에 복사되었습니다!
개발자는 Amazon S3 API를 사용하기 전에 Ceph Object Gateway 및 STS(Secure Token Service)에 대한 액세스를 구성해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 실행 중인 Ceph 오브젝트 게이트웨이.
- RESTful 클라이언트입니다.
3.2.1. S3 인증 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway에 대한 요청은 인증하거나 인증되지 않은 것일 수 있습니다. Ceph Object Gateway는 인증되지 않은 요청이 익명 사용자가 전송하는 것으로 가정합니다. Ceph Object Gateway에서는 카나리아 ACL을 지원합니다.
대부분의 사용 사례에서 클라이언트는 Amazon SDK의 AmazonS3Client for Java 및 Python Boto와 같은 기존 오픈 소스 라이브러리를 사용합니다. 오픈 소스 라이브러리를 사용하면 액세스 키와 시크릿 키를 간단히 전달하고 라이브러리가 요청 헤더 및 인증 서명을 빌드합니다. 그러나 요청을 작성하고 서명할 수도 있습니다.
요청을 인증하려면 요청에 액세스 키와 기본 64로 인코딩된 해시 기반 메시지 인증 코드(HMAC)를 Ceph Object Gateway 서버로 전송해야 합니다. Ceph Object Gateway는 S3 호환 인증 방법을 사용합니다.
예제
위의 예에서 ACCESS_KEY 를 액세스 키 ID 다음에 콜론(:)의 값으로 바꿉니다. HASH_OF_HEADER_AND_SECRET 을 표준 헤더 문자열의 해시 및 액세스 키 ID에 해당하는 시크릿으로 바꿉니다.
헤더 문자열 및 시크릿의 해시 생성
헤더 문자열 및 시크릿의 해시를 생성하려면 다음을 수행합니다.
- 헤더 문자열의 값을 가져옵니다.
- 요청 헤더 문자열을 표준 형식으로 정규화합니다.
- SHA-1 해시 알고리즘을 사용하여 HMAC를 생성합니다.
-
hmac결과를 base-64로 인코딩합니다.
Normalize 헤더
헤더를 표준 형식으로 정규화하려면 다음을 수행합니다.
-
모든
콘텐츠 헤더를가져옵니다. -
및content-typecontent-md5를 제외한 모든 콘텐츠 헤더를 제거합니다. -
content-헤더 이름이 소문자인지 확인합니다. -
콘텐츠헤더를 사전 순으로 정렬합니다. -
Date헤더가 있고 지정된 날짜가 오프셋이 아닌 GMT를 사용하는지 확인합니다. -
모든 헤더를
x-amz-로 시작합니다. -
x-amz-헤더가 모두 소문자인지 확인합니다. -
X
-amz-헤더를 사전 순으로 정렬합니다. - 동일한 필드 이름의 여러 인스턴스를 단일 필드에 결합하고 필드 값을 쉼표로 구분합니다.
- 헤더 값의 공백과 줄 바꿈을 단일 공백으로 바꿉니다.
- 콜론 전후에 공백을 제거합니다.
- 각 헤더 뒤에 새 행을 추가합니다.
- 헤더를 요청 헤더에 다시 병합합니다.
HASH_OF_HEADER_AND_SECRET 을 base-64 인코딩 HMAC 문자열로 바꿉니다.
추가 리소스
- 자세한 내용은 Amazon Simple Storage Service 문서의 Signing and Authenticating REST Requests 섹션을 참조하십시오.
3.2.2. S3-server-side 암호화 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway는 S3 애플리케이션 프로그래밍 인터페이스(API)에 대해 업로드된 오브젝트의 서버 측 암호화를 지원합니다. 서버 측 암호화는 S3 클라이언트에서 암호화되지 않은 형식으로 HTTP를 통해 데이터를 전송하고, Ceph Object Gateway는 해당 데이터를 Red Hat Ceph Storage 클러스터에 암호화된 형식으로 저장합니다.
Red Hat은 S3 LO(static Large Object) 또는 DLO(Dynamic Large Object)의 S3 개체 암호화를 지원하지 않습니다.
암호화를 사용하기 위해 클라이언트 요청은 SSL 연결을 통해 요청을 보냅니다. Ceph Object Gateway에서 SSL을 사용하지 않는 한 Red Hat은 클라이언트의 S3 암호화를 지원하지 않습니다. 그러나 테스트 목적으로 관리자는 ceph config set client.rgw 명령을 사용하여 rgw_crypt_require_ssl 구성 설정을 false 로 설정하고 Ceph Object Gateway 인스턴스를 다시 시작하여 테스트 중에 SSL을 비활성화할 수 있습니다.
프로덕션 환경에서는 SSL을 통해 암호화된 요청을 보낼 수 없습니다. 이러한 경우 서버 측 암호화가 있는 HTTP를 사용하여 요청을 보냅니다.
서버 측 암호화를 사용하여 HTTP를 구성하는 방법에 대한 자세한 내용은 아래의 추가 리소스 섹션을 참조하십시오.
암호화 키 관리를 위한 두 가지 옵션이 있습니다.
고객 제공 키
고객 제공 키를 사용하는 경우 S3 클라이언트는 암호화 키를 각 요청과 함께 암호화된 데이터를 읽거나 씁니다. 이러한 키를 관리하는 것은 고객의 책임입니다. 고객은 각 오브젝트를 암호화하는 데 사용되는 Ceph Object Gateway의 키를 알고 있어야 합니다.
Ceph Object Gateway는 Amazon SSE-C 사양에 따라 S3 API에서 고객 제공 키 동작을 구현합니다.
고객은 키 관리를 처리하고 S3 클라이언트가 키를 Ceph Object Gateway에 전달하므로 Ceph Object Gateway에서 이 암호화 모드를 지원하기 위한 특별한 구성이 필요하지 않습니다.
키 관리 서비스
키 관리 서비스를 사용하는 경우 보안 키 관리 서비스는 키를 저장하고 Ceph Object Gateway는 필요에 따라 키를 검색하여 데이터를 암호화하거나 암호 해독하는 요청을 제공합니다.
Ceph Object Gateway는 Amazon SSE-KMS 사양에 따라 S3 API에서 키 관리 서비스 동작을 구현합니다.
현재 테스트된 유일한 키 관리 구현은 HashiCorp Vault 및 OpenStack Barbican입니다. 그러나 OpenStack Barbican은 기술 프리뷰이며 프로덕션 시스템에서 사용할 수 없습니다.
3.2.3. S3 액세스 제어 목록 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway는 S3 호환 ACL(액세스 제어 목록) 기능을 지원합니다. ACL은 사용자가 버킷 또는 오브젝트에서 수행할 수 있는 작업을 지정하는 액세스 권한 부여 목록입니다. 각 부여는 버킷에 적용할 때 오브젝트에 적용할 때 다른 의미가 있습니다.
| 권한 | bucket | 개체 |
|---|---|---|
|
| 부여자는 버킷의 오브젝트를 나열할 수 있습니다. | 권한 부여자는 오브젝트를 읽을 수 있습니다. |
|
| 부여자는 버킷의 오브젝트를 작성하거나 삭제할 수 있습니다. | 해당 없음 |
|
| grantee는 버킷 ACL을 읽을 수 있습니다. | 권한 부여자는 오브젝트 ACL을 읽을 수 있습니다. |
|
| grantee는 버킷 ACL을 작성할 수 있습니다. | grantee는 오브젝트 ACL에 쓸 수 있습니다. |
|
| 부여자는 버킷에 있는 오브젝트에 대한 전체 권한이 있습니다. | 권한 부여자는 오브젝트 ACL을 읽거나 쓸 수 있습니다. |
3.2.4. S3를 사용하여 Ceph Object Gateway에 대한 액세스 준비 링크 복사링크가 클립보드에 복사되었습니다!
게이트웨이 서버에 액세스하기 전에 Ceph Object Gateway 노드에서 몇 가지 사전 요구 사항을 따라야 합니다.
사전 요구 사항
- Ceph Object Gateway 소프트웨어 설치
- Ceph Object Gateway 노드에 대한 루트 수준 액세스.
절차
root로 방화벽에서 포트8080을 엽니다.firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload
[root@rgw ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent [root@rgw ~]# firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트 게이트웨이 구성 및 관리 가이드에서 언급한 대로 게이트웨이에 사용 중인 DNS 서버에 와일드카드를 추가합니다.
로컬 DNS 캐싱을 위해 게이트웨이 노드를 설정할 수도 있습니다. 이를 수행하려면 다음 단계를 실행합니다.
루트로서dnsmasq를 설치하고 설정합니다.yum install dnsmasq echo "address=/.FQDN_OF_GATEWAY_NODE/IP_OF_GATEWAY_NODE" | tee --append /etc/dnsmasq.conf systemctl start dnsmasq systemctl enable dnsmasq
[root@rgw ~]# yum install dnsmasq [root@rgw ~]# echo "address=/.FQDN_OF_GATEWAY_NODE/IP_OF_GATEWAY_NODE" | tee --append /etc/dnsmasq.conf [root@rgw ~]# systemctl start dnsmasq [root@rgw ~]# systemctl enable dnsmasqCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP_OF_GATEWAY_NODE및FQDN_OF_GATEWAY_NODE를 게이트웨이 노드의 IP 주소 및 FQDN으로 바꿉니다.루트로서 NetworkManager를 중지합니다.systemctl stop NetworkManager systemctl disable NetworkManager
[root@rgw ~]# systemctl stop NetworkManager [root@rgw ~]# systemctl disable NetworkManagerCopy to Clipboard Copied! Toggle word wrap Toggle overflow root로 게이트웨이 서버의 IP를 네임서버로 설정합니다.echo "DNS1=IP_OF_GATEWAY_NODE" | tee --append /etc/sysconfig/network-scripts/ifcfg-eth0 echo "IP_OF_GATEWAY_NODE FQDN_OF_GATEWAY_NODE" | tee --append /etc/hosts systemctl restart network systemctl enable network systemctl restart dnsmasq
[root@rgw ~]# echo "DNS1=IP_OF_GATEWAY_NODE" | tee --append /etc/sysconfig/network-scripts/ifcfg-eth0 [root@rgw ~]# echo "IP_OF_GATEWAY_NODE FQDN_OF_GATEWAY_NODE" | tee --append /etc/hosts [root@rgw ~]# systemctl restart network [root@rgw ~]# systemctl enable network [root@rgw ~]# systemctl restart dnsmasqCopy to Clipboard Copied! Toggle word wrap Toggle overflow IP_OF_GATEWAY_NODE및FQDN_OF_GATEWAY_NODE를 게이트웨이 노드의 IP 주소 및 FQDN으로 바꿉니다.하위 도메인 요청을 확인합니다.
ping mybucket.FQDN_OF_GATEWAY_NODE
[user@rgw ~]$ ping mybucket.FQDN_OF_GATEWAY_NODECopy to Clipboard Copied! Toggle word wrap Toggle overflow FQDN_OF_GATEWAY_NODE를 게이트웨이 노드의 FQDN으로 바꿉니다.주의로컬 DNS 캐싱을 위해 게이트웨이 서버를 설정하는 것은 테스트 목적으로만 사용됩니다. 이 작업을 수행한 후에는 외부 네트워크에 액세스할 수 없습니다. Red Hat Ceph Storage 클러스터 및 게이트웨이 노드에 적절한 DNS 서버를 사용하는 것이 좋습니다.
-
Object Gateway Configuration and Administration Guide 에서 언급한 대로
S3액세스를 위해radosgw사용자를 신중하게 생성하고 생성된access_key및secret_key를 복사합니다.S3액세스 및 후속 버킷 관리 작업을 위해서는 이러한 키가 필요합니다.
3.2.5. Ruby AWS S3를 사용하여 Ceph Object Gateway에 액세스 링크 복사링크가 클립보드에 복사되었습니다!
Ruby 프로그래밍 언어를 S3 액세스를 위해 aws-s3 gem과 함께 사용할 수 있습니다. Ruby AWS::S3 을 사용하여 Ceph Object Gateway 서버에 액세스하는 데 사용되는 노드에서 아래 단계를 실행합니다.
사전 요구 사항
- Ceph 오브젝트 게이트웨이에 대한 사용자 수준 액세스.
- Ceph Object Gateway에 액세스하는 노드에 대한 루트 수준 액세스.
- 인터넷 접속.
절차
ruby패키지를 설치합니다.yum install ruby
[root@dev ~]# yum install rubyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고위의 명령은
ruby및ruby-libs와같은필수 종속 항목을 설치합니다. 명령이 모든 종속 항목을 설치하지 않는 경우 별도로 설치합니다.aws-s3Ruby 패키지를 설치합니다.gem install aws-s3
[root@dev ~]# gem install aws-s3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프로젝트 디렉터리를 생성합니다.
mkdir ruby_aws_s3 cd ruby_aws_s3
[user@dev ~]$ mkdir ruby_aws_s3 [user@dev ~]$ cd ruby_aws_s3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 연결 파일을 만듭니다.
vim conn.rb
[user@dev ~]$ vim conn.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를
conn.rb파일에 붙여넣습니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow FQDN_OF_GATEWAY_NODE를 Ceph Object Gateway 노드의 FQDN으로 바꿉니다.MY_ACCESS_KEY및MY_SECRET_KEY를 Red Hat Ceph Storage 오브젝트 게이트웨이 구성 및 관리 가이드에서 언급한 대로S3액세스를 위해radosgw사용자를 생성할 때 생성된access_key및secret_key로 바꿉니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x conn.rb
[user@dev ~]$ chmod +x conn.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./conn.rb | echo $?
[user@dev ~]$ ./conn.rb | echo $?Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일에 값을 올바르게 제공하면 명령의 출력은
0입니다.버킷을 생성하기 위한 새 파일을 생성합니다.
vim create_bucket.rb
[user@dev ~]$ vim create_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
#!/usr/bin/env ruby load 'conn.rb' AWS::S3::Bucket.create('my-new-bucket1')#!/usr/bin/env ruby load 'conn.rb' AWS::S3::Bucket.create('my-new-bucket1')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x create_bucket.rb
[user@dev ~]$ chmod +x create_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./create_bucket.rb
[user@dev ~]$ ./create_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력이
true이면 버킷my-new-bucket1이 성공적으로 생성되었습니다.소유된 버킷을 나열할 새 파일을 생성합니다.
vim list_owned_buckets.rb
[user@dev ~]$ vim list_owned_buckets.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x list_owned_buckets.rb
[user@dev ~]$ chmod +x list_owned_buckets.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./list_owned_buckets.rb
[user@dev ~]$ ./list_owned_buckets.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음과 같아야 합니다.
my-new-bucket1 2020-01-21 10:33:19 UTC
my-new-bucket1 2020-01-21 10:33:19 UTCCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트를 생성할 새 파일을 생성합니다.
vim create_object.rb
[user@dev ~]$ vim create_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x create_object.rb
[user@dev ~]$ chmod +x create_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./create_object.rb
[user@dev ~]$ ./create_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Hello World!라는 문자열이 포함된hello.txt파일이 생성됩니다.버킷의 콘텐츠를 나열할 새 파일을 생성합니다.
vim list_bucket_content.rb
[user@dev ~]$ vim list_bucket_content.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능하게 만듭니다.
chmod +x list_bucket_content.rb
[user@dev ~]$ chmod +x list_bucket_content.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./list_bucket_content.rb
[user@dev ~]$ ./list_bucket_content.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음과 같습니다.
hello.txt 12 Fri, 22 Jan 2020 15:54:52 GMT
hello.txt 12 Fri, 22 Jan 2020 15:54:52 GMTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 빈 버킷을 삭제하기 위한 새 파일을 생성합니다.
vim del_empty_bucket.rb
[user@dev ~]$ vim del_empty_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
#!/usr/bin/env ruby load 'conn.rb' AWS::S3::Bucket.delete('my-new-bucket1')#!/usr/bin/env ruby load 'conn.rb' AWS::S3::Bucket.delete('my-new-bucket1')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x del_empty_bucket.rb
[user@dev ~]$ chmod +x del_empty_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./del_empty_bucket.rb | echo $?
[user@dev ~]$ ./del_empty_bucket.rb | echo $?Copy to Clipboard Copied! Toggle word wrap Toggle overflow 버킷이 성공적으로 삭제되면 명령에서
0을 출력으로 반환합니다.참고create_bucket.rb파일을 편집하여 빈 버킷을 생성합니다(예:my-new-bucket4,my-new-bucket5). 다음으로 빈 버킷을 삭제하기 전에 위에서 언급한del_empty_bucket.rb파일을 편집합니다.비어 있지 않은 버킷을 삭제하는 새 파일을 생성합니다.
vim del_non_empty_bucket.rb
[user@dev ~]$ vim del_non_empty_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
#!/usr/bin/env ruby load 'conn.rb' AWS::S3::Bucket.delete('my-new-bucket1', :force => true)#!/usr/bin/env ruby load 'conn.rb' AWS::S3::Bucket.delete('my-new-bucket1', :force => true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x del_non_empty_bucket.rb
[user@dev ~]$ chmod +x del_non_empty_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./del_non_empty_bucket.rb | echo $?
[user@dev ~]$ ./del_non_empty_bucket.rb | echo $?Copy to Clipboard Copied! Toggle word wrap Toggle overflow 버킷이 성공적으로 삭제되면 명령에서
0을 출력으로 반환합니다.오브젝트를 삭제할 새 파일을 생성합니다.
vim delete_object.rb
[user@dev ~]$ vim delete_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
#!/usr/bin/env ruby load 'conn.rb' AWS::S3::S3Object.delete('hello.txt', 'my-new-bucket1')#!/usr/bin/env ruby load 'conn.rb' AWS::S3::S3Object.delete('hello.txt', 'my-new-bucket1')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x delete_object.rb
[user@dev ~]$ chmod +x delete_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./delete_object.rb
[user@dev ~]$ ./delete_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 그러면
hello.txt오브젝트가 삭제됩니다.
3.2.6. Ruby AWS SDK를 사용하여 Ceph Object Gateway에 액세스 링크 복사링크가 클립보드에 복사되었습니다!
Ruby 프로그래밍 언어와 함께 aws-sdk gem을 S3 액세스를 위해 사용할 수 있습니다. Ruby AWS::SDK 를 사용하여 Ceph Object Gateway 서버에 액세스하는 데 사용되는 노드에서 아래 단계를 실행합니다.
사전 요구 사항
- Ceph 오브젝트 게이트웨이에 대한 사용자 수준 액세스.
- Ceph Object Gateway에 액세스하는 노드에 대한 루트 수준 액세스.
- 인터넷 접속.
절차
ruby패키지를 설치합니다.yum install ruby
[root@dev ~]# yum install rubyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고위의 명령은
ruby및ruby-libs와같은필수 종속 항목을 설치합니다. 명령이 모든 종속 항목을 설치하지 않는 경우 별도로 설치합니다.aws-sdkRuby 패키지를 설치합니다.gem install aws-sdk
[root@dev ~]# gem install aws-sdkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 프로젝트 디렉터리를 생성합니다.
mkdir ruby_aws_sdk cd ruby_aws_sdk
[user@dev ~]$ mkdir ruby_aws_sdk [user@dev ~]$ cd ruby_aws_sdkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 연결 파일을 만듭니다.
vim conn.rb
[user@dev ~]$ vim conn.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 콘텐츠를
conn.rb파일에 붙여넣습니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow FQDN_OF_GATEWAY_NODE를 Ceph Object Gateway 노드의 FQDN으로 바꿉니다.MY_ACCESS_KEY및MY_SECRET_KEY를 Red Hat Ceph Storage 오브젝트 게이트웨이 구성 및 관리 가이드에서 언급한 대로S3액세스를 위해radosgw사용자를 생성할 때 생성된access_key및secret_key로 바꿉니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x conn.rb
[user@dev ~]$ chmod +x conn.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./conn.rb | echo $?
[user@dev ~]$ ./conn.rb | echo $?Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일에 값을 올바르게 제공하면 명령의 출력은
0입니다.버킷을 생성하기 위한 새 파일을 생성합니다.
vim create_bucket.rb
[user@dev ~]$ vim create_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x create_bucket.rb
[user@dev ~]$ chmod +x create_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./create_bucket.rb
[user@dev ~]$ ./create_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 출력이
true이면 버킷my-new-bucket2가 성공적으로 생성되었습니다.소유된 버킷을 나열할 새 파일을 생성합니다.
vim list_owned_buckets.rb
[user@dev ~]$ vim list_owned_buckets.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x list_owned_buckets.rb
[user@dev ~]$ chmod +x list_owned_buckets.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./list_owned_buckets.rb
[user@dev ~]$ ./list_owned_buckets.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음과 같아야 합니다.
my-new-bucket2 2020-01-21 10:33:19 UTC
my-new-bucket2 2020-01-21 10:33:19 UTCCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트를 생성할 새 파일을 생성합니다.
vim create_object.rb
[user@dev ~]$ vim create_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x create_object.rb
[user@dev ~]$ chmod +x create_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./create_object.rb
[user@dev ~]$ ./create_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Hello World!라는 문자열이 포함된hello.txt파일이 생성됩니다.버킷의 콘텐츠를 나열할 새 파일을 생성합니다.
vim list_bucket_content.rb
[user@dev ~]$ vim list_bucket_content.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능하게 만듭니다.
chmod +x list_bucket_content.rb
[user@dev ~]$ chmod +x list_bucket_content.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./list_bucket_content.rb
[user@dev ~]$ ./list_bucket_content.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음과 같습니다.
hello.txt 12 Fri, 22 Jan 2020 15:54:52 GMT
hello.txt 12 Fri, 22 Jan 2020 15:54:52 GMTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 빈 버킷을 삭제하기 위한 새 파일을 생성합니다.
vim del_empty_bucket.rb
[user@dev ~]$ vim del_empty_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x del_empty_bucket.rb
[user@dev ~]$ chmod +x del_empty_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./del_empty_bucket.rb | echo $?
[user@dev ~]$ ./del_empty_bucket.rb | echo $?Copy to Clipboard Copied! Toggle word wrap Toggle overflow 버킷이 성공적으로 삭제되면 명령에서
0을 출력으로 반환합니다.참고create_bucket.rb파일을 편집하여 빈 버킷을 생성합니다(예:my-new-bucket6,my-new-bucket7). 다음으로 빈 버킷을 삭제하기 전에 위에서 언급한del_empty_bucket.rb파일을 편집합니다.비어 있지 않은 버킷을 삭제하기 위해 새 파일을 생성합니다.
vim del_non_empty_bucket.rb
[user@dev ~]$ vim del_non_empty_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x del_non_empty_bucket.rb
[user@dev ~]$ chmod +x del_non_empty_bucket.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./del_non_empty_bucket.rb | echo $?
[user@dev ~]$ ./del_non_empty_bucket.rb | echo $?Copy to Clipboard Copied! Toggle word wrap Toggle overflow 버킷이 성공적으로 삭제되면 명령에서
0을 출력으로 반환합니다.오브젝트를 삭제할 새 파일을 생성합니다.
vim delete_object.rb
[user@dev ~]$ vim delete_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행 가능으로 설정합니다.
chmod +x delete_object.rb
[user@dev ~]$ chmod +x delete_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 실행합니다.
./delete_object.rb
[user@dev ~]$ ./delete_object.rbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 그러면
hello.txt오브젝트가 삭제됩니다.
3.2.7. PHP를 사용하여 Ceph Object Gateway 액세스 링크 복사링크가 클립보드에 복사되었습니다!
S3 액세스를 위해 PHP 스크립트를 사용할 수 있습니다. 이 절차에서는 버킷 또는 오브젝트 삭제와 같은 다양한 작업을 수행하는 몇 가지 예제 PHP 스크립트를 제공합니다.
아래 제공된 예제는 php v5.4.16 및 aws-sdk v2.8.24 에서 테스트합니다.
사전 요구 사항
- 개발 워크스테이션에 대한 루트 수준 액세스.
- 인터넷 접속.
절차
php패키지를 설치합니다.yum install php
[root@dev ~]# yum install phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
PHP용
aws-sdk의 zip 아카이브를 다운로드하여 압축을 풉니다. 프로젝트 디렉터리를 생성합니다.
mkdir php_s3 cd php_s3
[user@dev ~]$ mkdir php_s3 [user@dev ~]$ cd php_s3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 추출된
aws디렉터리를 프로젝트 디렉터리에 복사합니다. 예를 들면 다음과 같습니다.cp -r ~/Downloads/aws/ ~/php_s3/
[user@dev ~]$ cp -r ~/Downloads/aws/ ~/php_s3/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 연결 파일을 만듭니다.
vim conn.php
[user@dev ~]$ vim conn.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow conn.php파일에 다음 내용을 붙여 넣습니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow FQDN_OF_GATEWAY_NODE를 게이트웨이 노드의 FQDN으로 바꿉니다.MY_ACCESS_KEY및MY_SECRET_KEY를 Red Hat Ceph Storage 오브젝트 게이트웨이 구성 및 관리 가이드에서 언급한 대로S3액세스용radosgw사용자를 생성할 때 생성된access_key및secret_key로 바꿉니다.PATH_TO_AWS를php프로젝트 디렉터리에 복사한 추출된aws디렉터리의 절대 경로로 교체합니다.파일을 저장하고 편집기를 종료합니다.
파일을 실행합니다.
php -f conn.php | echo $?
[user@dev ~]$ php -f conn.php | echo $?Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일에 값을 올바르게 제공하면 명령의 출력은
0입니다.버킷을 생성하기 위한 새 파일을 생성합니다.
vim create_bucket.php
[user@dev ~]$ vim create_bucket.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 새 파일에 붙여넣습니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행합니다.
php -f create_bucket.php
[user@dev ~]$ php -f create_bucket.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 소유된 버킷을 나열할 새 파일을 생성합니다.
vim list_owned_buckets.php
[user@dev ~]$ vim list_owned_buckets.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행합니다.
php -f list_owned_buckets.php
[user@dev ~]$ php -f list_owned_buckets.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음과 유사해야 합니다.
my-new-bucket3 2020-01-21 10:33:19 UTC
my-new-bucket3 2020-01-21 10:33:19 UTCCopy to Clipboard Copied! Toggle word wrap Toggle overflow 먼저
hello.txt라는 소스 파일을 만들어 오브젝트를 생성합니다.echo "Hello World!" > hello.txt
[user@dev ~]$ echo "Hello World!" > hello.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 php 파일을 만듭니다.
vim create_object.php
[user@dev ~]$ vim create_object.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행합니다.
php -f create_object.php
[user@dev ~]$ php -f create_object.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면
my-new-bucket3버킷에hello.txt오브젝트가 생성됩니다.버킷의 콘텐츠를 나열할 새 파일을 생성합니다.
vim list_bucket_content.php
[user@dev ~]$ vim list_bucket_content.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행합니다.
php -f list_bucket_content.php
[user@dev ~]$ php -f list_bucket_content.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력은 다음과 유사합니다.
hello.txt 12 Fri, 22 Jan 2020 15:54:52 GMT
hello.txt 12 Fri, 22 Jan 2020 15:54:52 GMTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 빈 버킷을 삭제하기 위한 새 파일을 생성합니다.
vim del_empty_bucket.php
[user@dev ~]$ vim del_empty_bucket.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행합니다.
php -f del_empty_bucket.php | echo $?
[user@dev ~]$ php -f del_empty_bucket.php | echo $?Copy to Clipboard Copied! Toggle word wrap Toggle overflow 버킷이 성공적으로 삭제되면 명령에서
0을 출력으로 반환합니다.참고create_bucket.php파일을 편집하여 빈 버킷을 생성합니다(예:my-new-bucket4,my-new-bucket5). 다음으로 빈 버킷을 삭제하기 전에 위에서 언급한del_empty_bucket.php파일을 편집합니다.중요비어 있지 않은 버킷을 삭제하는 것은 현재 PHP 2 및 최신 버전의
aws-sdk에서 지원되지 않습니다.오브젝트를 삭제할 새 파일을 생성합니다.
vim delete_object.php
[user@dev ~]$ vim delete_object.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 내용을 파일에 붙여넣습니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 편집기를 종료합니다.
파일을 실행합니다.
php -f delete_object.php
[user@dev ~]$ php -f delete_object.phpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 그러면
hello.txt오브젝트가 삭제됩니다.
3.2.8. 보안 토큰 서비스 링크 복사링크가 클립보드에 복사되었습니다!
Amazon Web Services의 STS(Secure Token Service)는 사용자 인증을 위한 임시 보안 자격 증명 세트를 반환합니다.
Red Hat Ceph Storage Object Gateway는 IAM(Identity and Access Management)을 위한 Amazon STS API(애플리케이션 프로그래밍 인터페이스)의 하위 집합을 지원합니다.
사용자는 STS에 대해 먼저 인증하고 후속 요청에서 사용할 수 있는 수명이 짧은 S3 액세스 키 및 시크릿 키를 받습니다.
Red Hat Ceph Storage는 OIDC 공급자를 구성하여 Single Sign-On과 통합하여 S3 사용자를 인증할 수 있습니다. 이 기능을 사용하면 Object Storage 사용자가 로컬 Ceph Object Gateway 데이터베이스가 아닌 엔터프라이즈 ID 공급자에 대해 인증할 수 있습니다. 예를 들어 SSO가 백엔드의 엔터프라이즈 IDP에 연결된 경우 오브젝트 스토리지 사용자는 엔터프라이즈 자격 증명을 사용하여 Ceph Object Gateway S3 엔드포인트를 인증하고 액세스할 수 있습니다.
IAM 역할 정책 기능과 함께 STS를 사용하면 미세 조정된 권한 부여 정책을 생성하여 데이터에 대한 액세스를 제어할 수 있습니다. 이를 통해 개체 스토리지 데이터에 대한 RBAC(역할 기반 액세스 제어) 또는 ABAC( Attribute-Based Access Control) 권한 부여 모델을 구현할 수 있으므로 데이터에 액세스할 수 있는 사용자를 완전히 제어할 수 있습니다.
추가 리소스
- Amazon Web Services Secure Token Service 시작 페이지.
- STS Lite 및 Keystone에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Keystone과 함께 STS Lite 구성 및 사용 섹션을 참조하십시오.
- STS Lite 및 Keystone의 제한 사항에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Keystone과 함께 STS Lite 사용 의 제한 사항을 참조하십시오.
- IDM(LDAP)을 사용하여 IDM(LDAP)을 사용하여 RHSSO를 사용하여 단계별 STS 인증을 설정하는 방법에 대한 자세한 내용은 LDAP 그룹이 있는 IAM 역할을 사용하여 IDP 백엔드 및 권한 부여를 참조하십시오. IBM Redbook.
3.2.8.1. Secure Token Service 애플리케이션 프로그래밍 인터페이스 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway는 다음과 같은 STS(Secure Token Service) API(애플리케이션 프로그래밍 인터페이스)를 구현합니다.
AssumeRole
이 API는 계정 간 액세스에 대한 임시 자격 증명 세트를 반환합니다. 이러한 임시 자격 증명을 사용하면 Assume Role API와 연결된 역할 및 정책과 연결된 권한 정책을 둘 다 사용할 수 있습니다. RoleArn 및 RoleSessionName 요청 매개변수는 필수이지만 다른 요청 매개변수는 선택 사항입니다.
RoleArn- 설명
- 길이가 20~ 2048자인 Amazon Resource Name(ARN)의 역할입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
RoleSessionName- 설명
-
가정할 역할 세션 이름 식별. 역할 세션 이름은 다른 주체 또는 다른 이유로 인해 역할을 가정하는 경우 세션을 고유하게 식별할 수 있습니다. 이 매개변수의 값은 길이가 2~64자입니다.
=,,,.. . ,@및-문자는 허용되지만 공백은 허용되지 않습니다. - 유형
- 문자열
- 필수 항목
- 제공됨
정책- 설명
- 인라인 세션에서 사용하기 위한 JSON 형식의 IAM(ID 및 액세스 관리 정책)입니다. 이 매개변수의 값은 길이가 1~ 2048자입니다.
- 유형
- 문자열
- 필수 항목
- 없음
DurationSeconds- 설명
-
세션 지속 시간(초)이며 최소 값
900초에서 최대 값43200초입니다. 기본값은3600초입니다. - 유형
- 정수
- 필수 항목
- 없음
ExternalId- 설명
- 다른 계정에 대한 역할을 가정할 때 사용 가능한 경우 고유한 외부 식별자를 제공합니다. 이 매개변수의 값은 길이가 2~1224자입니다.
- 유형
- 문자열
- 필수 항목
- 없음
serialnumber- 설명
- 연결된 MFA(Multi-factor authentication) 장치의 사용자 식별 번호입니다. 매개 변수의 값은 하드웨어 장치 또는 가상 장치의 일련 번호이며 길이는 9에서 256자일 수 있습니다.
- 유형
- 문자열
- 필수 항목
- 없음
TokenCode- 설명
- 신뢰 정책에 MFA가 필요한 경우 MFA(Multi-factor authentication) 장치에서 생성된 값입니다. MFA 장치가 필요하며 이 매개변수의 값이 비어 있거나 만료된 경우 AssumeRole 호출에서 "access denied" 오류 메시지를 반환합니다. 이 매개변수의 값은 고정된 길이가 6자입니다.
- 유형
- 문자열
- 필수 항목
- 없음
AssumeRoleWithWebIdentity
이 API는 애플리케이션에서 인증한 사용자(예: OpenID Connect 또는 OAuth 2.0 ID 공급자)에 대한 임시 자격 증명 세트를 반환합니다. RoleArn 및 RoleSessionName 요청 매개변수는 필수이지만 다른 요청 매개변수는 선택 사항입니다.
RoleArn- 설명
- 길이가 20~ 2048자인 Amazon Resource Name(ARN)의 역할입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
RoleSessionName- 설명
-
가정할 역할 세션 이름 식별. 역할 세션 이름은 다른 주체 또는 다른 이유로 인해 역할을 가정하는 경우 세션을 고유하게 식별할 수 있습니다. 이 매개변수의 값은 길이가 2~64자입니다.
=,,,.. . ,@및-문자는 허용되지만 공백은 허용되지 않습니다. - 유형
- 문자열
- 필수 항목
- 제공됨
정책- 설명
- 인라인 세션에서 사용하기 위한 JSON 형식의 IAM(ID 및 액세스 관리 정책)입니다. 이 매개변수의 값은 길이가 1~ 2048자입니다.
- 유형
- 문자열
- 필수 항목
- 없음
DurationSeconds- 설명
-
세션 지속 시간(초)이며 최소 값
900초에서 최대 값43200초입니다. 기본값은3600초입니다. - 유형
- 정수
- 필수 항목
- 없음
ProviderId- 설명
- ID 공급자의 도메인 이름의 정규화된 호스트 구성 요소입니다. 이 매개변수 값은 OAuth 2.0 액세스 토큰에만 유효하며 길이는 4~ 2048자입니다.
- 유형
- 문자열
- 필수 항목
- 없음
WebIdentityToken- 설명
- ID 공급자에서 제공하는 OpenID Connect ID 토큰 또는 OAuth 2.0 액세스 토큰입니다. 이 매개변수의 값은 길이가 4~ 2048자입니다.
- 유형
- 문자열
- 필수 항목
- 없음
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Secure Token Service API 사용 예를 참조하십시오.
- Amazon Web Services Security Token Service, AssumeRole 작업입니다.
- Amazon Web Services 보안 토큰 서비스, AssumeRoleWithWebIdentity 작업입니다.
3.2.8.2. 보안 토큰 서비스 구성 링크 복사링크가 클립보드에 복사되었습니다!
rgw_sts_key, rgw_s3_auth_use_sts 옵션을 설정하여 Ceph Object Gateway와 함께 사용할 STS(Secure Token Service)를 구성합니다.
S3 및 STS API는 동일한 네임스페이스에 공존하고 둘 다 Ceph Object Gateway의 동일한 끝점에서 액세스할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 실행 중인 Ceph 오브젝트 게이트웨이.
- Ceph Manager 노드에 대한 루트 수준 액세스.
절차
Ceph Object Gateway 클라이언트에 대해 다음 구성 옵션을 설정합니다.
구문
ceph config set RGW_CLIENT_NAME rgw_sts_key STS_KEY ceph config set RGW_CLIENT_NAME rgw_s3_auth_use_sts true
ceph config set RGW_CLIENT_NAME rgw_sts_key STS_KEY ceph config set RGW_CLIENT_NAME rgw_s3_auth_use_sts trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow rgw_sts_key는 세션 토큰을 암호화하거나 해독하는 데 사용되는 STS 키이며 정확히 16진수 문자입니다.중요STS 키는 영숫자여야 합니다.
예제
ceph config set client.rgw rgw_sts_key 7f8fd8dd4700mnop ceph config set client.rgw rgw_s3_auth_use_sts true
[root@mgr ~]# ceph config set client.rgw rgw_sts_key 7f8fd8dd4700mnop [root@mgr ~]# ceph config set client.rgw rgw_s3_auth_use_sts trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 추가된 키를 적용하려면 Ceph Object Gateway를 다시 시작합니다.
참고NAME열에 있는ceph orch ps명령의 출력을 사용하여 SERVICE_TYPE.ID 정보를 가져옵니다.스토리지 클러스터의 개별 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.service
systemctl restart ceph-CLUSTER_ID@SERVICE_TYPE.ID.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.service
[root@host01 ~]# systemctl restart ceph-c4b34c6f-8365-11ba-dc31-529020a7702d@rgw.realm.zone.host01.gwasto.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터의 모든 노드에서 Ceph Object Gateway를 다시 시작하려면 다음을 수행합니다.
구문
ceph orch restart SERVICE_TYPE
ceph orch restart SERVICE_TYPECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch restart rgw
[ceph: root@host01 /]# ceph orch restart rgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- STS API에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Secure Token Service 애플리케이션 프로그래밍 인터페이스 섹션을 참조하십시오.
- Ceph 구성 데이터베이스 사용에 대한 자세한 내용은 Red Hat Ceph Storage 구성 가이드 의 Ceph 구성 기본 장을 참조하십시오.
3.2.8.3. OpenID Connect 공급자의 사용자 생성 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway와 OpenID Connect Provider 간의 신뢰를 구축하기 위해 사용자 엔티티와 역할 신뢰 정책을 생성합니다.
사전 요구 사항
- Ceph Object Gateway 노드에 대한 사용자 수준 액세스.
- 보안 토큰 서비스가 구성되어 있습니다.
절차
새 Ceph 사용자를 생성합니다.
구문
radosgw-admin --uid USER_NAME --display-name "DISPLAY_NAME" --access_key USER_NAME --secret SECRET user create
radosgw-admin --uid USER_NAME --display-name "DISPLAY_NAME" --access_key USER_NAME --secret SECRET user createCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin --uid TESTER --display-name "TestUser" --access_key TESTER --secret test123 user create
[user@rgw ~]$ radosgw-admin --uid TESTER --display-name "TestUser" --access_key TESTER --secret test123 user createCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 사용자 기능을 구성합니다.
구문
radosgw-admin caps add --uid="USER_NAME" --caps="oidc-provider=*"
radosgw-admin caps add --uid="USER_NAME" --caps="oidc-provider=*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin caps add --uid="TESTER" --caps="oidc-provider=*"
[user@rgw ~]$ radosgw-admin caps add --uid="TESTER" --caps="oidc-provider=*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow STS(Secure Token Service) API를 사용하여 역할 신뢰 정책에 조건을 추가합니다.
구문
"{\"Version\":\"2020-01-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Federated\":[\"arn:aws:iam:::oidc-provider/IDP_URL\"]},\"Action\":[\"sts:AssumeRoleWithWebIdentity\"],\"Condition\":{\"StringEquals\":{\"IDP_URL:app_id\":\"AUD_FIELD\"\}\}\}\]\}""{\"Version\":\"2020-01-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Federated\":[\"arn:aws:iam:::oidc-provider/IDP_URL\"]},\"Action\":[\"sts:AssumeRoleWithWebIdentity\"],\"Condition\":{\"StringEquals\":{\"IDP_URL:app_id\":\"AUD_FIELD\"\}\}\}\]\}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요위의 구문 예제의
app_id는 들어오는 토큰의AUD_FIELD필드와 일치해야 합니다.
추가 리소스
- Amazon 웹 사이트의 OpenID Connect Identity Provider 문서의 루트 CAECDHEmbprint 를 참조하십시오.
- STS API에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Secure Token Service 애플리케이션 프로그래밍 인터페이스 섹션을 참조하십시오.
- 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Secure Token Service API 사용 예를 참조하십시오.
3.2.8.4. OpenID Connect 공급자의 지문 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
OpenID Connect 공급자의 (IDP) 구성 문서를 가져옵니다.
OIDC 프로토콜 표준을 따르는 모든 SSO는 Ceph Object Gateway에서 작동할 것으로 예상됩니다. Red Hat은 다음 SSO 공급자에서 테스트했습니다.
- Red Hat Single Sing-on
- Keycloak
사전 요구 사항
-
openssl및curl패키지 설치
절차
IDP URL에서 구성 문서를 가져옵니다.
구문
curl -k -v \ -X GET \ -H "Content-Type: application/x-www-form-urlencoded" \ "IDP_URL:8000/CONTEXT/realms/REALM/.well-known/openid-configuration" \ | jq .curl -k -v \ -X GET \ -H "Content-Type: application/x-www-form-urlencoded" \ "IDP_URL:8000/CONTEXT/realms/REALM/.well-known/openid-configuration" \ | jq .Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
curl -k -v \ -X GET \ -H "Content-Type: application/x-www-form-urlencoded" \ "http://www.example.com:8000/auth/realms/quickstart/.well-known/openid-configuration" \ | jq .[user@client ~]$ curl -k -v \ -X GET \ -H "Content-Type: application/x-www-form-urlencoded" \ "http://www.example.com:8000/auth/realms/quickstart/.well-known/openid-configuration" \ | jq .Copy to Clipboard Copied! Toggle word wrap Toggle overflow IDP 인증서를 가져옵니다.
구문
curl -k -v \ -X GET \ -H "Content-Type: application/x-www-form-urlencoded" \ "IDP_URL/CONTEXT/realms/REALM/protocol/openid-connect/certs" \ | jq .curl -k -v \ -X GET \ -H "Content-Type: application/x-www-form-urlencoded" \ "IDP_URL/CONTEXT/realms/REALM/protocol/openid-connect/certs" \ | jq .Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
curl -k -v \ -X GET \ -H "Content-Type: application/x-www-form-urlencoded" \ "http://www.example.com/auth/realms/quickstart/protocol/openid-connect/certs" \ | jq .[user@client ~]$ curl -k -v \ -X GET \ -H "Content-Type: application/x-www-form-urlencoded" \ "http://www.example.com/auth/realms/quickstart/protocol/openid-connect/certs" \ | jq .Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고x5c인증서는 SSO 공급자에 따라/certs경로 또는/jwks경로에서 사용할 수 있습니다.이전 명령의 "x5c" 응답 결과를 복사하여
certificate.crt파일에 붙여넣습니다. 시작 부분에--BEGINECDHERTIFICATE--를 포함하고 끝에--ENDECDHERTIFICATE--를 포함합니다.예제
-----BEGIN CERTIFICATE----- MIIDYjCCAkqgAwIBAgIEEEd2CDANBgkqhkiG9w0BAQsFADBzMQkwBwYDVQQGEwAxCTAHBgNVBAgTADEJMAcGA1UEBxMAMQkwBwYDVQQKEwAxCTAHBgNVBAsTADE6MDgGA1UEAxMxYXV0aHN2Yy1pbmxpbmVtZmEuZGV2LnZlcmlmeS5pYm1jbG91ZHNlY3VyaXR5LmNvbTAeFw0yMTA3MDUxMzU2MzZaFw0zMTA3MDMxMzU2MzZaMHMxCTAHBgNVBAYTADEJMAcGA1UECBMAMQkwBwYDVQQHEwAxCTAHBgNVBAoTADEJMAcGA1UECxMAMTowOAYDVQQDEzFhdXRoc3ZjLWlubGluZW1mYS5kZXYudmVyaWZ5LmlibWNsb3Vkc2VjdXJpdHkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAphyu3HaAZ14JH/EXetZxtNnerNuqcnfxcmLhBz9SsTlFD59ta+BOVlRnK5SdYEqO3ws2iGEzTvC55rczF+hDVHFZEBJLVLQe8ABmi22RAtG1P0dA/Bq8ReFxpOFVWJUBc31QM+ummW0T4yw44wQJI51LZTMz7PznB0ScpObxKe+frFKd1TCMXPlWOSzmTeFYKzR83Fg9hsnz7Y8SKGxi+RoBbTLT+ektfWpR7O+oWZIf4INe1VYJRxZvn+qWcwI5uMRCtQkiMknc3Rj6Eupiqq6FlAjDs0p//EzsHAlW244jMYnHCGq0UP3oE7vViLJyiOmZw7J3rvs3m9mOQiPLoQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCeVqAzSh7Tp8LgaTIFUuRbdjBAKXC9Nw3+pRBHoiUTdhqO3ualyGih9m/js/clb8Vq/39zl0VPeaslWl2NNX9zaK7xo+ckVIOY3ucCaTC04ZUn1KzZu/7azlN0C5XSWg/CfXgU2P3BeMNzc1UNY1BASGyWn2lEplIVWKLaDZpNdSyyGyaoQAIBdzxeNCyzDfPCa2oSO8WH1czmFiNPqR5kdknHI96CmsQdi+DT4jwzVsYgrLfcHXmiWyIAb883hR3Pobp+Bsw7LUnxebQ5ewccjYmrJzOk5Wb5FpXBhaJH1B3AEd6RGalRUyc/zUKdvEy0nIRMDS9x2BP3NVvZSADD -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- MIIDYjCCAkqgAwIBAgIEEEd2CDANBgkqhkiG9w0BAQsFADBzMQkwBwYDVQQGEwAxCTAHBgNVBAgTADEJMAcGA1UEBxMAMQkwBwYDVQQKEwAxCTAHBgNVBAsTADE6MDgGA1UEAxMxYXV0aHN2Yy1pbmxpbmVtZmEuZGV2LnZlcmlmeS5pYm1jbG91ZHNlY3VyaXR5LmNvbTAeFw0yMTA3MDUxMzU2MzZaFw0zMTA3MDMxMzU2MzZaMHMxCTAHBgNVBAYTADEJMAcGA1UECBMAMQkwBwYDVQQHEwAxCTAHBgNVBAoTADEJMAcGA1UECxMAMTowOAYDVQQDEzFhdXRoc3ZjLWlubGluZW1mYS5kZXYudmVyaWZ5LmlibWNsb3Vkc2VjdXJpdHkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAphyu3HaAZ14JH/EXetZxtNnerNuqcnfxcmLhBz9SsTlFD59ta+BOVlRnK5SdYEqO3ws2iGEzTvC55rczF+hDVHFZEBJLVLQe8ABmi22RAtG1P0dA/Bq8ReFxpOFVWJUBc31QM+ummW0T4yw44wQJI51LZTMz7PznB0ScpObxKe+frFKd1TCMXPlWOSzmTeFYKzR83Fg9hsnz7Y8SKGxi+RoBbTLT+ektfWpR7O+oWZIf4INe1VYJRxZvn+qWcwI5uMRCtQkiMknc3Rj6Eupiqq6FlAjDs0p//EzsHAlW244jMYnHCGq0UP3oE7vViLJyiOmZw7J3rvs3m9mOQiPLoQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCeVqAzSh7Tp8LgaTIFUuRbdjBAKXC9Nw3+pRBHoiUTdhqO3ualyGih9m/js/clb8Vq/39zl0VPeaslWl2NNX9zaK7xo+ckVIOY3ucCaTC04ZUn1KzZu/7azlN0C5XSWg/CfXgU2P3BeMNzc1UNY1BASGyWn2lEplIVWKLaDZpNdSyyGyaoQAIBdzxeNCyzDfPCa2oSO8WH1czmFiNPqR5kdknHI96CmsQdi+DT4jwzVsYgrLfcHXmiWyIAb883hR3Pobp+Bsw7LUnxebQ5ewccjYmrJzOk5Wb5FpXBhaJH1B3AEd6RGalRUyc/zUKdvEy0nIRMDS9x2BP3NVvZSADD -----END CERTIFICATE-----Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증서 지문을 가져옵니다.
구문
openssl x509 -in CERT_FILE -fingerprint -noout
openssl x509 -in CERT_FILE -fingerprint -nooutCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
openssl x509 -in certificate.crt -fingerprint -noout SHA1 Fingerprint=F7:D7:B3:51:5D:D0:D3:19:DD:21:9A:43:A9:EA:72:7A:D6:06:52:87
[user@client ~]$ openssl x509 -in certificate.crt -fingerprint -noout SHA1 Fingerprint=F7:D7:B3:51:5D:D0:D3:19:DD:21:9A:43:A9:EA:72:7A:D6:06:52:87Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SHA1 지문에서 모든 콜론을 제거하고 이를 IAM 요청에 IDP 엔티티를 생성하기 위한 입력으로 사용합니다.
추가 리소스
- Amazon 웹 사이트의 OpenID Connect Identity Provider 문서의 루트 CAECDHEmbprint 를 참조하십시오.
- STS API에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Secure Token Service 애플리케이션 프로그래밍 인터페이스 섹션을 참조하십시오.
- 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Secure Token Service API 사용 예를 참조하십시오.
3.2.8.5. OpenID Connect 공급자 등록 링크 복사링크가 클립보드에 복사되었습니다!
OpenID Connect 공급자의 (IDP) 구성 문서를 등록합니다.
사전 요구 사항
-
openssl및curl패키지 설치 - 보안 토큰 서비스가 구성되어 있습니다.
- OIDC 공급자용으로 생성된 사용자입니다.
- OIDC의 지문을 가져옵니다.
절차
토큰에서 URL을 추출합니다.
예제
bash check_token_isv.sh | jq .iss "https://keycloak-sso.apps.ocp.example.com/auth/realms/ceph"
[root@host01 ~]# bash check_token_isv.sh | jq .iss "https://keycloak-sso.apps.ocp.example.com/auth/realms/ceph"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Object Gateway에 OIDC 공급자를 등록합니다.
예제
aws --endpoint https://cephproxy1.example.com:8443 iam create-open-id-connect-provider --url https://keycloak-sso.apps.ocp.example.com/auth/realms/ceph --thumbprint-list 00E9CFD697E0B16DD13C86B0FFDC29957E5D24DF
[root@host01 ~]# aws --endpoint https://cephproxy1.example.com:8443 iam create-open-id-connect-provider --url https://keycloak-sso.apps.ocp.example.com/auth/realms/ceph --thumbprint-list 00E9CFD697E0B16DD13C86B0FFDC29957E5D24DFCopy to Clipboard Copied! Toggle word wrap Toggle overflow OIDC 공급자가 Ceph Object Gateway에 추가되었는지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.8.6. IAM 역할 및 정책 생성 링크 복사링크가 클립보드에 복사되었습니다!
IAM 역할 및 정책을 생성합니다.
사전 요구 사항
-
openssl및curl패키지 설치 - 보안 토큰 서비스가 구성되어 있습니다.
- OIDC 공급자용으로 생성된 사용자입니다.
- OIDC의 지문을 가져옵니다.
- Ceph Object Gateway의 OIDC 공급자가 등록되었습니다.
절차
JWT 토큰을 검색하고 검증합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 토큰을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 jq 필터는 토큰의 하위 필드에서 사용하며 ceph 로 설정됩니다.
역할 속성을 사용하여 JSON 파일을 생성합니다.
Statement를허용으로 설정하고Action을AssumeRoleWithWebIdentity로 설정합니다.sub:ceph와 조건을 일치하는 JWT 토큰을 사용하여 모든 사용자에게 액세스를 허용합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JSON 파일을 사용하여 Ceph Object Gateway 역할을 생성합니다.
예제
radosgw-admin role create --role-name rgwadmins \ --assume-role-policy-doc=$(jq -rc . /root/role-rgwadmins.json)
[root@host01 ~]# radosgw-admin role create --role-name rgwadmins \ --assume-role-policy-doc=$(jq -rc . /root/role-rgwadmins.json)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
.
3.2.8.7. S3 리소스 액세스 링크 복사링크가 클립보드에 복사되었습니다!
S3 리소스에 액세스하려면 STS 자격 증명을 사용하여 Assume 역할을 확인합니다.
사전 요구 사항
-
openssl및curl패키지 설치 - 보안 토큰 서비스가 구성되어 있습니다.
- OIDC 공급자용으로 생성된 사용자입니다.
- OIDC의 지문을 가져옵니다.
- Ceph Object Gateway의 OIDC 공급자가 등록되었습니다.
- 생성된 IAM 역할 및 정책
절차
다음은 S3 리소스에 액세스하기 위해 STS를 사용하여 임시 액세스 및 시크릿 키를 가져오는 경우의 예입니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스크립트를 실행합니다.
예제
source ./test-assume-role.sh s3admin passw0rd rgwadmins aws s3 mb s3://testbucket aws s3 ls
[root@host01 ~]# source ./test-assume-role.sh s3admin passw0rd rgwadmins [root@host01 ~]# aws s3 mb s3://testbucket [root@host01 ~]# aws s3 lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.9. Keystone과 함께 STS Lite 구성 및 사용(기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
Amazon STS(Secure Token Service) 및 S3 API는 동일한 네임스페이스에 공존합니다. STS 옵션은 Keystone 옵션과 함께 구성할 수 있습니다.
S3 및 STS API는 Ceph Object Gateway에서 동일한 끝점을 사용하여 액세스할 수 있습니다.
사전 요구 사항
- Red Hat Ceph Storage 5.0 이상.
- 실행 중인 Ceph 오브젝트 게이트웨이.
- Boto Python 모듈 설치, 버전 3 이상
- Ceph Manager 노드에 대한 루트 수준 액세스.
- OpenStack 노드에 대한 사용자 수준 액세스.
절차
Ceph Object Gateway 클라이언트에 대해 다음 구성 옵션을 설정합니다.
구문
ceph config set RGW_CLIENT_NAME rgw_sts_key STS_KEY ceph config set RGW_CLIENT_NAME rgw_s3_auth_use_sts true
ceph config set RGW_CLIENT_NAME rgw_sts_key STS_KEY ceph config set RGW_CLIENT_NAME rgw_s3_auth_use_sts trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow rgw_sts_key는 세션 토큰을 암호화하거나 해독하는 데 사용되는 STS 키이며 정확히 16진수 문자입니다.중요STS 키는 영숫자여야 합니다.
예제
ceph config set client.rgw rgw_sts_key 7f8fd8dd4700mnop ceph config set client.rgw rgw_s3_auth_use_sts true
[root@mgr ~]# ceph config set client.rgw rgw_sts_key 7f8fd8dd4700mnop [root@mgr ~]# ceph config set client.rgw rgw_s3_auth_use_sts trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack 노드에서 EC2 인증 정보를 생성합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 생성된 인증 정보를 사용하여 GetSessionToken API를 사용하여 임시 보안 자격 증명 세트를 다시 가져옵니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow S3 호출을 수행하는 데 임시 인증 정보를 가져올 수 있습니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 S3Access 역할을 생성하고 정책을 구성합니다.
관리 CAPS가 있는 사용자를 할당합니다.
구문
radosgw-admin caps add --uid="USER" --caps="roles=*"
radosgw-admin caps add --uid="USER" --caps="roles=*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin caps add --uid="gwadmin" --caps="roles=*"
[root@mgr ~]# radosgw-admin caps add --uid="gwadmin" --caps="roles=*"Copy to Clipboard Copied! Toggle word wrap Toggle overflow S3Access 역할을 생성합니다.
구문
radosgw-admin role create --role-name=ROLE_NAME --path=PATH --assume-role-policy-doc=TRUST_POLICY_DOC
radosgw-admin role create --role-name=ROLE_NAME --path=PATH --assume-role-policy-doc=TRUST_POLICY_DOCCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin role create --role-name=S3Access --path=/application_abc/component_xyz/ --assume-role-policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Principal\":\{\"AWS\":\[\"arn:aws:iam:::user/TESTER\"\]\},\"Action\":\[\"sts:AssumeRole\"\]\}\]\}[root@mgr ~]# radosgw-admin role create --role-name=S3Access --path=/application_abc/component_xyz/ --assume-role-policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Principal\":\{\"AWS\":\[\"arn:aws:iam:::user/TESTER\"\]\},\"Action\":\[\"sts:AssumeRole\"\]\}\]\}Copy to Clipboard Copied! Toggle word wrap Toggle overflow S3Access 역할에 권한 정책을 연결합니다.
구문
radosgw-admin role-policy put --role-name=ROLE_NAME --policy-name=POLICY_NAME --policy-doc=PERMISSION_POLICY_DOC
radosgw-admin role-policy put --role-name=ROLE_NAME --policy-name=POLICY_NAME --policy-doc=PERMISSION_POLICY_DOCCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw-admin role-policy put --role-name=S3Access --policy-name=Policy --policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Action\":\[\"s3:*\"\],\"Resource\":\"arn:aws:s3:::example_bucket\"\}\]\}[root@mgr ~]# radosgw-admin role-policy put --role-name=S3Access --policy-name=Policy --policy-doc=\{\"Version\":\"2012-10-17\",\"Statement\":\[\{\"Effect\":\"Allow\",\"Action\":\[\"s3:*\"\],\"Resource\":\"arn:aws:s3:::example_bucket\"\}\]\}Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
이제 다른 사용자가
gwadmin사용자의 역할을 가정할 수 있습니다. 예를 들어gwuser사용자는gwadmin사용자의 권한을 가정할 수 있습니다. 가정하는 사용자의
access_key및secret_key값을 기록해 둡니다.예제
radosgw-admin user info --uid=gwuser | grep -A1 access_key
[root@mgr ~]# radosgw-admin user info --uid=gwuser | grep -A1 access_keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
AssumeRole API 호출을 사용하여 assume 사용자의
access_key및secret_key값을 제공합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요AssumeRole API에는 S3Access 역할이 필요합니다.
추가 리소스
- Boto Python 모듈 설치에 대한 자세한 내용은 Red Hat Ceph Storage Object Gateway Guide 의 Test S3 Access 섹션을 참조하십시오.
- 자세한 내용은 Red Hat Ceph Storage Object Gateway Guide 의 사용자 생성 섹션을 참조하십시오.
3.2.10. Keystone에서 STS Lite를 사용하는 제한 사항 해결 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
Keystone의 제한 사항은 STS(Secure Token Service) 요청을 지원하지 않는다는 것입니다. 또 다른 제한 사항은 페이로드 해시가 요청에 포함되지 않는다는 것입니다. 이 두 가지 제한 사항을 해결하려면 Boto 인증 코드를 수정해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터 버전 5.0 이상.
- 실행 중인 Ceph 오브젝트 게이트웨이.
- Boto Python 모듈 설치, 버전 3 이상
절차
Boto의
auth.py파일을 열고 편집합니다.코드 블록에 다음 4행을 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 두 줄을 코드 블록에 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- Boto Python 모듈 설치에 대한 자세한 내용은 Red Hat Ceph Storage Object Gateway Guide 의 Test S3 Access 섹션을 참조하십시오.
3.3. S3 버킷 작업 링크 복사링크가 클립보드에 복사되었습니다!
개발자는 Ceph Object Gateway를 통해 Amazon S3 API(애플리케이션 프로그래밍 인터페이스)를 사용하여 버킷 작업을 수행할 수 있습니다.
다음 표에는 함수의 지원 상태와 함께 버킷에 대한 Amazon S3 기능 작업이 나열되어 있습니다.
| 기능 | 상태 | 참고 |
|---|---|---|
| 지원됨 | ||
| 지원됨 | 다양한 카나리아 ACL이 제공됩니다. | |
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 부분적으로 지원됨 |
| |
| 부분적으로 지원됨 |
| |
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | 다양한 카나리아 ACL 세트 | |
| 지원됨 | 다양한 카나리아 ACL 세트 | |
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 부분적으로 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 |
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
3.3.1. S3 버킷 알림 생성 링크 복사링크가 클립보드에 복사되었습니다!
버킷 수준에서 버킷 알림을 생성합니다. 알림 구성에는 Red Hat Ceph Storage Object Gateway S3 이벤트, ObjectCreated,ObjectRemoved, ObjectLifecycle:Expiration 이 있습니다. 이러한 항목을 게시해야 하며 버킷 알림을 보낼 대상입니다. 버킷 알림은 S3 작업입니다.
s3:objectCreate,s3:objectRemove 및 s3:ObjectLifecycle:Expiration 이벤트에 대한 버킷 알림을 생성하려면 PUT을 사용합니다.
예제
Red Hat은 put,post,multipartUpload 및 copy 와 같은 ObjectCreate 이벤트를 지원합니다. Red Hat은 object_delete 및 s3_multi_object_delete 와 같은 ObjectRemove 이벤트도 지원합니다.
요청 엔티티
NotificationConfiguration- 설명
-
TopicConfiguration엔터티 목록입니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
TopicConfiguration- 설명
-
ID,
주제및 이벤트 엔티티목록입니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
id- 설명
- 알림의 이름입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
주제- 설명
주제 Amazon 리소스 이름(ARN)
참고주제를 사전에 작성해야합니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
이벤트- 설명
- 지원되는 이벤트 목록입니다. 여러 이벤트 엔티티를 사용할 수 있습니다. 생략하면 모든 이벤트가 처리됩니다.
- 유형
- 문자열
- 필수 항목
- 없음
filter- 설명
-
S3Key,S3Metadata및S3Tags엔티티 - 유형
- 컨테이너
- 필수 항목
- 없음
S3Key- 설명
-
오브젝트 키를 기반으로 필터링하기 위한
FilterRule엔티티 목록입니다. 대부분의 경우 3개의 엔티티가 목록에 있을 수 있습니다(예:Name은접두사,접미사또는regex). 목록의 모든 필터 규칙이 일치시킬 필터와 일치해야 합니다. - 유형
- 컨테이너
- 필수 항목
- 없음
S3Metadata- 설명
-
오브젝트 메타데이터를 기반으로 필터링하기 위한
FilterRule엔티티 목록입니다. 목록의 모든 필터 규칙은 오브젝트에 정의된 메타데이터와 일치해야 합니다. 그러나 오브젝트에는 필터에 나열되지 않은 다른 메타데이터 항목이 있는 경우에도 계속 일치합니다. - 유형
- 컨테이너
- 필수 항목
- 없음
S3Tags- 설명
-
오브젝트 태그를 기반으로 필터링하기 위한
FilterRule엔티티 목록입니다. 목록의 모든 필터 규칙은 오브젝트에 정의된 태그와 일치해야 합니다. 그러나 오브젝트에 다른 태그가 필터에 나열되지 않은 경우 오브젝트가 계속 일치합니다. - 유형
- 컨테이너
- 필수 항목
- 없음
S3Key.FilterRule- 설명
-
이름및값엔티티입니다. name은접두사,접미사또는regex입니다.Value는 키와 일치하는 키 접두사, 키 접미사 또는 정규식을 적절하게 유지합니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
S3Metadata.FilterRule- 설명
-
이름및값엔티티입니다. name은 메타데이터 특성의 이름입니다(예:x-amz-meta-xxx). 값은 이 속성의 예상 값입니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
S3Tags.FilterRule- 설명
-
이름및값엔티티입니다. name은 태그 키이며 값은 태그 값입니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
HTTP 응답
400- 상태 코드
-
MalformedXML - 설명
- XML 형식이 올바르지 않습니다.
400- 상태 코드
-
InvalidArgument - 설명
- Id 또는 누락 또는 유효하지 않은 주제 ARN 또는 유효하지 않은 이벤트입니다.
404- 상태 코드
-
NoSuchBucket - 설명
- 버킷이 존재하지 않습니다.
404- 상태 코드
-
NoSuchKey - 설명
- 주제가 존재하지 않습니다.
3.3.2. S3 get bucket notifications 링크 복사링크가 클립보드에 복사되었습니다!
특정 알림을 얻거나 버킷에 구성된 모든 알림을 나열합니다.
구문
Get /BUCKET?notification=NOTIFICATION_ID HTTP/1.1 Host: cname.domain.com Date: date Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
Get /BUCKET?notification=NOTIFICATION_ID HTTP/1.1
Host: cname.domain.com
Date: date
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
예제
Get /testbucket?notification=testnotificationID HTTP/1.1 Host: cname.domain.com Date: date Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
Get /testbucket?notification=testnotificationID HTTP/1.1
Host: cname.domain.com
Date: date
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
응답 예
notification 하위 리소스는 버킷 알림 구성 또는 빈 NotificationConfiguration 요소를 반환합니다. 호출자는 버킷 소유자여야 합니다.
요청 엔티티
notification-id- 설명
- 알림의 이름입니다. ID가 제공되지 않으면 모든 알림이 나열됩니다.
- 유형
- 문자열
NotificationConfiguration- 설명
-
TopicConfiguration엔터티 목록입니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
TopicConfiguration- 설명
-
ID,
주제및 이벤트 엔티티목록입니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
id- 설명
- 알림의 이름입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
주제- 설명
주제 Amazon 리소스 이름(ARN)
참고주제를 사전에 작성해야합니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
이벤트- 설명
- 처리 이벤트입니다. 여러 이벤트 엔티티가 존재할 수 있습니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
filter- 설명
- 지정된 구성에 대한 필터입니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
HTTP 응답
404- 상태 코드
-
NoSuchBucket - 설명
- 버킷이 존재하지 않습니다.
404- 상태 코드
-
NoSuchKey - 설명
- 제공된 경우 알림이 존재하지 않습니다.
3.3.3. S3 버킷 알림 삭제 링크 복사링크가 클립보드에 복사되었습니다!
버킷에서 특정 또는 모든 알림을 삭제합니다.
알림 삭제는 S3 알림 API의 확장입니다. 버킷에 정의된 알림은 버킷이 삭제될 때 삭제됩니다. 알 수 없는 알림(예: 이중 삭제)을 삭제하는 것은 오류로 간주되지 않습니다.
특정 알림 또는 모든 알림을 삭제하려면 DELETE를 사용합니다.
구문
DELETE /BUCKET?notification=NOTIFICATION_ID HTTP/1.1
DELETE /BUCKET?notification=NOTIFICATION_ID HTTP/1.1
예제
DELETE /testbucket?notification=testnotificationID HTTP/1.1
DELETE /testbucket?notification=testnotificationID HTTP/1.1
요청 엔티티
notification-id- 설명
- 알림의 이름입니다. 알림 ID가 제공되지 않으면 버킷의 모든 알림이 삭제됩니다.
- 유형
- 문자열
HTTP 응답
404- 상태 코드
-
NoSuchBucket - 설명
- 버킷이 존재하지 않습니다.
3.3.4. 버킷 호스트 이름 액세스 링크 복사링크가 클립보드에 복사되었습니다!
버킷에 액세스하는 두 가지 모드가 있습니다. 첫 번째 및 기본 방법은 버킷을 URI에서 최상위 디렉터리로 식별합니다.
예제
GET /mybucket HTTP/1.1 Host: cname.domain.com
GET /mybucket HTTP/1.1
Host: cname.domain.com
두 번째 방법은 가상 버킷 호스트 이름을 통해 버킷을 식별합니다.
예제
GET / HTTP/1.1 Host: mybucket.cname.domain.com
GET / HTTP/1.1
Host: mybucket.cname.domain.com
두 번째 방법에는 값 비용이 많이 드는 도메인 인증 및 DNS 와일드카드가 필요하기 때문에 첫 번째 방법이 선호됩니다.
3.3.5. S3 목록 버킷 링크 복사링크가 클립보드에 복사되었습니다!
GET / 는 사용자가 요청한 버킷 목록을 반환합니다. GET / 인증된 사용자가 생성한 버킷만 반환합니다. 익명 요청을 할 수 없습니다.
구문
GET / HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET / HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
응답 엔티티
buckets- 설명
- 버킷 목록에 대한 컨테이너입니다.
- 유형
- 컨테이너
bucket- 설명
- 버킷 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
이름- 설명
- 버킷 이름입니다.
- 유형
- 문자열
creationDate- 설명
- 버킷이 생성된 UTC 시간입니다.
- 유형
- 날짜
ListAllMyBucketsResult- 설명
- 결과를 위한 컨테이너입니다.
- 유형
- 컨테이너
소유자- 설명
-
버킷 소유자의
ID및DisplayName에 대한 컨테이너입니다. - 유형
- 컨테이너
ID- 설명
- 버킷 소유자의 ID입니다.
- 유형
- 문자열
DisplayName- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
3.3.6. S3 버킷 오브젝트 목록을 반환합니다. 링크 복사링크가 클립보드에 복사되었습니다!
버킷 오브젝트 목록을 반환합니다.
구문
GET /BUCKET?max-keys=25 HTTP/1.1 Host: cname.domain.com
GET /BUCKET?max-keys=25 HTTP/1.1
Host: cname.domain.com
매개 변수
접두사- 설명
- 지정된 접두사가 포함된 오브젝트만 반환합니다.
- 유형
- 문자열
구분 기호- 설명
- 접두사와 오브젝트 이름의 나머지 부분 사이의 구분 기호입니다.
- 유형
- 문자열
마커- 설명
- 반환된 오브젝트 목록의 시작 인덱스입니다.
- 유형
- 문자열
max-keys- 설명
- 반환할 최대 키 수입니다. 기본값은 1000입니다.
- 유형
- 정수
HTTP 응답
200- 상태 코드
-
OK - 설명
- 버킷이 검색되었습니다.
GET /BUCKET 은 다음 필드가 있는 버킷의 컨테이너를 반환합니다.
버킷 대응 엔티티
ListBucketResult- 설명
- 오브젝트 목록에 대한 컨테이너입니다.
- 유형
- 엔터티
이름- 설명
- 콘텐츠가 반환되는 버킷의 이름입니다.
- 유형
- 문자열
접두사- 설명
- 오브젝트 키의 접두사입니다.
- 유형
- 문자열
마커- 설명
- 반환된 오브젝트 목록의 시작 인덱스입니다.
- 유형
- 문자열
MaxKeys- 설명
- 반환된 최대 키 수입니다.
- 유형
- 정수
구분 기호- 설명
-
설정된 경우 접두사가 동일한 오브젝트가
CommonPrefixes목록에 표시됩니다. - 유형
- 문자열
IsTruncated- 설명
-
true인 경우 버킷 콘텐츠의 하위 집합만 반환되었습니다. - 유형
- 부울
CommonPrefixes- 설명
- 여러 오브젝트에 동일한 접두사가 포함된 경우 이 목록에 표시됩니다.
- 유형
- 컨테이너
ListBucketResult 에는 각 오브젝트가 Contents 컨테이너 내에 있는 오브젝트가 포함되어 있습니다.
오브젝트 대응 엔티티
내용- 설명
- 오브젝트의 컨테이너입니다.
- 유형
- 개체
키- 설명
- 오브젝트의 키입니다.
- 유형
- 문자열
LastModified- 설명
- 오브젝트의 마지막 수정 날짜 및 시간입니다.
- 유형
- 날짜
ETag- 설명
- 오브젝트의 MD-5 해시입니다. etag는 엔터티 태그입니다.
- 유형
- 문자열
크기- 설명
- 오브젝트의 크기입니다.
- 유형
- 정수
StorageClass- 설명
-
항상
STANDARD를 반환해야합니다. - 유형
- 문자열
3.3.7. S3에서 새 버킷 생성 링크 복사링크가 클립보드에 복사되었습니다!
새 버킷을 생성합니다. 버킷을 생성하려면 요청을 인증하기 위해 사용자 ID와 유효한 AWS Access 키 ID가 있어야 합니다. 익명 사용자로 버킷을 생성할 수 없습니다.
Constraints
일반적으로 버킷 이름은 도메인 이름 제약 조건을 따라야 합니다.
- 버킷 이름은 고유해야 합니다.
- 버킷 이름은 IP 주소로 포맷할 수 없습니다.
- 버킷 이름은 3~63자 사이일 수 있습니다.
- 버킷 이름에 대문자 또는 밑줄이 포함되어서는 안 됩니다.
- 버킷 이름은 소문자 또는 숫자로 시작해야 합니다.
- 버킷 이름은 대시(-)를 포함할 수 있습니다.
- 버킷 이름은 일련의 하나 이상의 레이블이어야 합니다. 연결된 레이블은 마침표(.)로 구분됩니다. 버킷 이름에는 소문자, 숫자 및 하이픈이 포함될 수 있습니다. 각 레이블은 소문자 또는 숫자로 시작하고 끝나야 합니다.
rgw_relaxed_s3_bucket_names 가 true 로 설정된 경우 위의 제약 조건이 완화됩니다. 버킷 이름은 여전히 고유해야 하며 IP 주소로 포맷할 수 없으며 최대 255자 길이의 문자, 숫자, 마침표, 대시 및 밑줄을 포함할 수 있습니다.
구문
PUT /BUCKET HTTP/1.1 Host: cname.domain.com x-amz-acl: public-read-write Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
PUT /BUCKET HTTP/1.1
Host: cname.domain.com
x-amz-acl: public-read-write
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
매개 변수
x-amz-acl- 설명
- 토론된 ACL입니다.
- 유효한 값
-
private,public-read,public-read-write,authenticated-read - 필수 항목
- 없음
HTTP 응답
버킷 이름이 제약 조건 내에서 고유하고 사용되지 않은 경우 작업이 성공적으로 수행됩니다. 이름이 같은 버킷이 이미 존재하고 사용자가 버킷 소유자인 경우 작업이 성공적으로 수행됩니다. 버킷 이름이 이미 사용 중인 경우 작업이 실패합니다.
409- 상태 코드
-
BucketAlreadyExists - 설명
- 버킷은 다른 사용자의 소유권에 이미 존재합니다.
3.3.8. S3 put 버킷 웹 사이트 링크 복사링크가 클립보드에 복사되었습니다!
put 버킷 웹 사이트 API는 website 하위 리소스에 지정된 웹 사이트의 구성을 설정합니다. 버킷을 웹 사이트로 구성하려면 website 하위 리소스를 버킷에 추가할 수 있습니다.
배치 작업을 수행하려면 S3: 권한이 필요합니다. 기본적으로 버킷 소유자만 버킷에 연결된 웹 사이트를 구성할 수 있습니다.
Put BucketWebsite
구문
PUT /BUCKET?website-configuration=HTTP/1.1
PUT /BUCKET?website-configuration=HTTP/1.1
예제
PUT /testbucket?website-configuration=HTTP/1.1
PUT /testbucket?website-configuration=HTTP/1.1
3.3.9. S3 get 버킷 웹 사이트 링크 복사링크가 클립보드에 복사되었습니다!
get 버킷 웹 사이트 API는 website 하위 리소스에 지정된 웹 사이트의 구성을 검색합니다.
get 작업을 수행하려면 S3:GetBucketWebsite 권한이 필요합니다. 기본적으로 버킷 소유자만 버킷 웹 사이트 구성을 읽을 수 있습니다.
구문
GET /BUCKET?website-configuration=HTTP/1.1
GET /BUCKET?website-configuration=HTTP/1.1
예제
GET /testbucket?website-configuration=HTTP/1.1
GET /testbucket?website-configuration=HTTP/1.1
3.3.10. S3 삭제 버킷 웹 사이트 링크 복사링크가 클립보드에 복사되었습니다!
delete 버킷 웹 사이트 API는 버킷에 대한 웹 사이트 구성을 제거합니다.
구문
DELETE /BUCKET?website-configuration=HTTP/1.1
DELETE /BUCKET?website-configuration=HTTP/1.1
예제
DELETE /testbucket?website-configuration=HTTP/1.1
DELETE /testbucket?website-configuration=HTTP/1.1
3.3.11. S3 버킷 삭제 링크 복사링크가 클립보드에 복사되었습니다!
버킷을 삭제합니다. 성공적인 버킷 제거 이후 버킷 이름을 재사용할 수 있습니다.
구문
DELETE /BUCKET HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
DELETE /BUCKET HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
HTTP 응답
204- 상태 코드
-
내용 없음 - 설명
- 버킷이 제거되었습니다.
3.3.12. S3 버킷 라이프사이클 링크 복사링크가 클립보드에 복사되었습니다!
버킷 라이프사이클 구성을 사용하여 오브젝트를 관리하여 수명 동안 효율적으로 저장할 수 있습니다. Ceph Object Gateway의 S3 API는 AWS 버킷 라이프사이클 작업의 서브 세트를 지원합니다.
-
expiration: 버킷에 있는 오브젝트의 수명을 정의합니다. Ceph Object Gateway에서 오브젝트를 삭제할 때 오브젝트가 활성 날짜 또는 만료일이라는 기간이 걸립니다. 버킷에서 버전 관리를 활성화하지 않으면 Ceph Object Gateway에서 오브젝트를 영구적으로 삭제합니다. 버킷에서 버전 관리를 활성화하는 경우 Ceph Object Gateway는 현재 버전에 대한 삭제 마커를 생성한 다음 현재 버전을 삭제합니다. -
NoncurrentVersionExpiration: 버킷 내에 최신이 아닌 오브젝트 버전의 lifespan을 정의합니다. 이 기능을 사용하려면 버킷에서 버전 관리 기능을 활성화해야 합니다. Ceph Object Gateway가 현재 이외의 오브젝트를 활성 상태로 유지하는 데 걸리는 일 수입니다. -
AbortIncompleteMultipartUpload: 불완전 한 다중 파트 업로드가 중단되기 전에 존재해야하는 일 수를 정의합니다.
라이프사이클 구성에는 < Rule> 요소를 사용하는 하나 이상의 규칙이 포함됩니다.
예제
라이프사이클 규칙은 라이프사이클 규칙에 지정하는 < Filter > 요소를 기반으로 버킷의 모든 또는 하위 집합에 적용할 수 있습니다. 여러 가지 방법으로 필터를 지정할 수 있습니다.
- 키 접두사
- 오브젝트 태그
- 키 접두사와 하나 이상의 오브젝트 태그 둘 다
키 접두사
키 이름 접두사를 기반으로 오브젝트의 하위 집합에 라이프사이클 규칙을 적용할 수 있습니다. 예를 들어 < keypre/>를 지정하면 keypre/:로 시작하는 오브젝트에 적용됩니다.
다른 키 접두사가 있는 오브젝트에 다른 라이프사이클 규칙을 적용할 수도 있습니다.
오브젝트 태그
< Key > 및 < Value > 요소를 사용하여 특정 태그가 있는 오브젝트에만 라이프사이클 규칙을 적용할 수 있습니다.
접두사 및 하나 이상의 태그 둘 다
라이프사이클 규칙에서는 키 접두사와 하나 이상의 태그를 기반으로 필터를 지정할 수 있습니다. < And> 요소에서 래핑되어야 합니다. 필터에는 접두사가 하나만 있고 0개 이상의 태그가 있을 수 있습니다.
추가 리소스
- 버킷 라이프사이클에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 GET 버킷 라이프사이클 섹션을 참조하십시오.
- 버킷 라이프사이클 생성에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 생성 또는 버킷 라이프사이클 섹션을 참조하십시오.
- 버킷 라이프사이클 삭제에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 Delete a bucket Lifecycle secton을 참조하십시오.
3.3.13. S3 GET 버킷 라이프사이클 링크 복사링크가 클립보드에 복사되었습니다!
버킷 라이프사이클을 가져오려면 GET 을 사용하고 대상 버킷을 지정합니다.
구문
GET /BUCKET?lifecycle HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET /BUCKET?lifecycle HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
요청 헤더
공통 요청 헤더에 대한 자세한 내용은 부록 B 의 S3 일반 요청 헤더를 참조하십시오.
응답
응답에는 버킷 라이프사이클 및 해당 요소가 포함됩니다.
3.3.14. S3 버킷 라이프사이클 생성 또는 교체 링크 복사링크가 클립보드에 복사되었습니다!
버킷 라이프사이클을 생성하거나 교체하려면 PUT 를 사용하여 대상 버킷과 라이프사이클 구성을 지정합니다. Ceph Object Gateway는 S3 라이프사이클 기능의 하위 집합만 지원합니다.
구문
요청 헤더
content-md5- 설명
- 메시지의 base64로 인코딩된 MD-5 해시
- 유효한 값
- 문자열 기본값 또는 제약 조건이 없습니다.
- 필수 항목
- 없음
추가 리소스
- Amazon S3 공통 요청 헤더에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 부록 B에 있는 S3 일반 요청 헤더 섹션을 참조하십시오.
- Amazon S3 버킷 라이프사이클에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 버킷 라이프사이클 섹션을 참조하십시오.
3.3.15. S3 버킷 라이프사이클 삭제 링크 복사링크가 클립보드에 복사되었습니다!
버킷 라이프사이클을 삭제하려면 DELETE 를 사용하고 대상 버킷을 지정합니다.
구문
DELETE /BUCKET?lifecycle HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
DELETE /BUCKET?lifecycle HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
요청 헤더
요청에는 특별한 요소가 포함되어 있지 않습니다.
응답
응답은 공통 응답 상태를 반환합니다.
추가 리소스
- Amazon S3 공통 요청 헤더에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 부록 B에 있는 S3 일반 요청 헤더 섹션을 참조하십시오.
- Amazon S3 공통 응답 상태 코드에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 부록 C에 있는 S3 일반적인 응답 상태 코드 섹션을 참조하십시오.
3.3.16. S3 get 버킷 위치 링크 복사링크가 클립보드에 복사되었습니다!
버킷의 영역 그룹을 검색합니다. 사용자가 이를 호출하려면 버킷 소유자여야 합니다. 버킷은 PUT 요청 중에 LocationConstraint 를 제공하여 영역 그룹에 제약할 수 있습니다.
아래와 같이 Location 하위 리소스를 버킷 리소스에 추가합니다.
구문
GET /BUCKET?location HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET /BUCKET?location HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
응답 엔티티
LocationConstraint- 설명
- 기본 영역 그룹에 대한 빈 문자열인 버킷이 있는 영역 그룹입니다.
- 유형
- 문자열
3.3.17. S3 get bucket versioning 링크 복사링크가 클립보드에 복사되었습니다!
버킷의 버전 관리 상태를 검색합니다. 사용자가 이를 호출하려면 버킷 소유자여야 합니다.
아래와 같이 versioning 하위 리소스를 버킷 리소스에 추가합니다.
구문
GET /BUCKET?versioning HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET /BUCKET?versioning HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
3.3.18. S3 put bucket versioning 링크 복사링크가 클립보드에 복사되었습니다!
이 하위 리소스는 기존 버킷의 버전 관리 상태를 설정합니다. 사용자가 버전 관리 상태를 설정하려면 버킷 소유자여야 합니다. 버전 관리 상태가 버킷에 설정되지 않은 경우 버전 관리 상태가 없습니다. GET 버전 관리 요청을 수행하면 버전 관리 상태 값이 반환되지 않습니다.
버킷 버전 관리 상태 설정:
enabled: 버킷에 있는 개체에 대한 버전 관리를 활성화합니다. 버킷에 추가된 모든 오브젝트에는 고유한 버전 ID가 제공됩니다. 일시 중지됨: 버킷에 있는 오브젝트의 버전 관리를 비활성화합니다. 버킷에 추가된 모든 오브젝트는 버전 ID null을 수신합니다.
구문
PUT /BUCKET?versioning HTTP/1.1
PUT /BUCKET?versioning HTTP/1.1
예제
PUT /testbucket?versioning HTTP/1.1
PUT /testbucket?versioning HTTP/1.1
버킷 요청 엔티티
버전 관리Configuration- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
상태- 설명
- 버킷의 버전 관리 상태를 설정합니다. 유효한 값: Suspended/Enabled
- 유형
- 문자열
3.3.19. S3 get 버킷 액세스 제어 목록 링크 복사링크가 클립보드에 복사되었습니다!
버킷 액세스 제어 목록을 검색합니다. 사용자가 버킷 소유자여야 하거나 버킷에 대한 READ_ACP 권한이 부여되어야 합니다.
아래와 같이 acl 하위 리소스를 버킷 요청에 추가합니다.
구문
GET /BUCKET?acl HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET /BUCKET?acl HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
응답 엔티티
AccessControlPolicy- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
AccessControlList- 설명
- ACL 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
소유자- 설명
-
버킷 소유자의
ID및DisplayName에 대한 컨테이너입니다. - 유형
- 컨테이너
ID- 설명
- 버킷 소유자의 ID입니다.
- 유형
- 문자열
DisplayName- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
grant- 설명
-
Grantee및Permission을 위한 컨테이너입니다. - 유형
- 컨테이너
grantee- 설명
-
권한 부여를 수신하는 사용자의
DisplayName및ID에 대한 컨테이너입니다. - 유형
- 컨테이너
권한- 설명
-
grantee 버킷에 부여된
권한입니다. - 유형
- 문자열
3.3.20. S3 버킷 액세스 제어 목록을 배치 링크 복사링크가 클립보드에 복사되었습니다!
액세스 제어를 기존 버킷에 설정합니다. 사용자가 버킷 소유자여야 하거나 버킷에 대한 WRITE_ACP 권한이 부여되어야 합니다.
아래와 같이 acl 하위 리소스를 버킷 요청에 추가합니다.
구문
PUT /BUCKET?acl HTTP/1.1
PUT /BUCKET?acl HTTP/1.1
요청 엔티티
S3 목록 다중 파트 업로드
AccessControlList- 설명
- ACL 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
소유자- 설명
-
버킷 소유자의
ID및DisplayName에 대한 컨테이너입니다. - 유형
- 컨테이너
ID- 설명
- 버킷 소유자의 ID입니다.
- 유형
- 문자열
DisplayName- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
grant- 설명
-
Grantee및Permission을 위한 컨테이너입니다. - 유형
- 컨테이너
grantee- 설명
-
권한 부여를 수신하는 사용자의
DisplayName및ID에 대한 컨테이너입니다. - 유형
- 컨테이너
권한- 설명
-
grantee 버킷에 부여된
권한입니다. - 유형
- 문자열
3.3.21. S3 get bucket cors 링크 복사링크가 클립보드에 복사되었습니다!
버킷에 설정된 코드 구성 정보를 검색합니다. 사용자가 버킷 소유자여야 하거나 버킷에 대한 READ_ACP 권한이 부여되어야 합니다.
아래와 같이 cors 하위 리소스를 버킷 요청에 추가합니다.
구문
GET /BUCKET?cors HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET /BUCKET?cors HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
3.3.22. S3 버킷 코드 배치 링크 복사링크가 클립보드에 복사되었습니다!
버킷에 대한 코드 구성을 설정합니다. 사용자가 버킷 소유자여야 하거나 버킷에 대한 READ_ACP 권한이 부여되어야 합니다.
아래와 같이 cors 하위 리소스를 버킷 요청에 추가합니다.
구문
PUT /BUCKET?cors HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
PUT /BUCKET?cors HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
3.3.23. S3 버킷 코드 삭제 링크 복사링크가 클립보드에 복사되었습니다!
버킷에 설정된 코드 구성 정보를 삭제합니다. 사용자가 버킷 소유자여야 하거나 버킷에 대한 READ_ACP 권한이 부여되어야 합니다.
아래와 같이 cors 하위 리소스를 버킷 요청에 추가합니다.
구문
DELETE /BUCKET?cors HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
DELETE /BUCKET?cors HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
3.3.24. S3 목록 버킷 오브젝트 버전 링크 복사링크가 클립보드에 복사되었습니다!
버킷 내의 모든 오브젝트 버전에 대한 메타데이터 목록을 반환합니다. 버킷에 대한 READ 액세스 권한이 필요합니다.
아래와 같이 bucket 요청에 versions 하위 리소스를 추가합니다.
구문
GET /BUCKET?versions HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET /BUCKET?versions HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET /BUCKET?versions 에 대한 매개변수를 지정할 수 있지만 이 매개변수는 필요하지 않습니다.
매개 변수
접두사- 설명
- 지정된 접두사가 포함된 키에 있는 진행 중인 업로드를 반환합니다.
- 유형
- 문자열
구분 기호- 설명
- 접두사와 오브젝트 이름의 나머지 부분 사이의 구분 기호입니다.
- 유형
- 문자열
key-marker- 설명
- 업로드 목록에 대한 시작 마커입니다.
- 유형
- 문자열
max-keys- 설명
- 진행 중인 업로드의 최대 수입니다. 기본값은 1000입니다.
- 유형
- 정수
version-id-marker- 설명
- 목록을 시작할 오브젝트 버전을 지정합니다.
- 유형
- 문자열
응답 엔티티
KeyMarker- 설명
-
key-marker요청 매개변수로 지정된 키 마커(있는 경우)입니다. - 유형
- 문자열
NextKeyMarker- 설명
-
IsTruncated가true인 경우 후속 요청에 사용할 키 마커입니다. - 유형
- 문자열
NextUploadIdMarker- 설명
-
IsTruncated가true인 경우 후속 요청에 사용할 업로드 ID 마커입니다. - 유형
- 문자열
IsTruncated- 설명
-
true인 경우 버킷의 업로드 콘텐츠 하위 집합만 반환되었습니다. - 유형
- 부울
크기- 설명
- 업로드된 부분의 크기입니다.
- 유형
- 정수
DisplayName- 설명
- 소유자의 표시 이름입니다.
- 유형
- 문자열
ID- 설명
- 소유자의 ID입니다.
- 유형
- 문자열
소유자- 설명
-
오브젝트를 소유한 사용자의
ID및DisplayName에 대한 컨테이너입니다. - 유형
- 컨테이너
StorageClass- 설명
-
결과 오브젝트를 저장하는 데 사용되는 메서드입니다.
STANDARD또는REDUCED_REDUNDANCY - 유형
- 문자열
버전- 설명
- 버전 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
versionId- 설명
- 오브젝트의 버전 ID입니다.
- 유형
- 문자열
versionIdMarker- 설명
- 잘린 응답의 마지막 키 버전입니다.
- 유형
- 문자열
3.3.25. S3 헤드 버킷 링크 복사링크가 클립보드에 복사되었습니다!
버킷에서 HEAD를 호출하여 존재하는지 여부와 호출자에게 액세스 권한이 있는지 확인합니다. 버킷이 존재하고 호출자에게 권한이 있는 경우 200 OK 를 반환합니다. 버킷이 존재하지 않는 경우 404 Not Found, 버킷이 존재하지만 호출자에게 액세스 권한이 없는 경우 403 Forbidden 입니다.
구문
HEAD /BUCKET HTTP/1.1 Host: cname.domain.com Date: date Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
HEAD /BUCKET HTTP/1.1
Host: cname.domain.com
Date: date
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
3.3.26. S3 목록 다중 파트 업로드 링크 복사링크가 클립보드에 복사되었습니다!
GET /?uploads 는 진행 중인 현재 멀티 파트 업로드 목록을 반환합니다. 즉, 애플리케이션은 다중 파트 업로드를 시작하지만 서비스는 아직 모든 업로드를 완료하지 않았습니다.
구문
GET /BUCKET?uploads HTTP/1.1
GET /BUCKET?uploads HTTP/1.1
GET /BUCKET?uploads 에 대한 매개변수를 지정할 수 있지만 해당 매개변수는 필요하지 않습니다.
매개 변수
접두사- 설명
- 지정된 접두사가 포함된 키에 있는 진행 중인 업로드를 반환합니다.
- 유형
- 문자열
구분 기호- 설명
- 접두사와 오브젝트 이름의 나머지 부분 사이의 구분 기호입니다.
- 유형
- 문자열
key-marker- 설명
- 업로드 목록에 대한 시작 마커입니다.
- 유형
- 문자열
max-keys- 설명
- 진행 중인 업로드의 최대 수입니다. 기본값은 1000입니다.
- 유형
- 정수
max-uploads- 설명
- 최대 다중 파트 업로드 수입니다. 범위는 1~1000입니다. 기본값은 1000입니다.
- 유형
- 정수
version-id-marker- 설명
-
key-marker를 지정하지 않으면 무시됩니다.ID다음에 있는 사전 순차순으로 목록의 첫 번째 업로드ID를 지정합니다. - 유형
- 문자열
응답 엔티티
ListMultipartUploadsResult- 설명
- 결과에 대한 컨테이너입니다.
- 유형
- 컨테이너
ListMultipartUploadsResult.Prefix- 설명
-
접두사 요청 매개변수로 지정된
접두사(있는 경우)입니다. - 유형
- 문자열
bucket- 설명
- 버킷 콘텐츠를 수신할 버킷입니다.
- 유형
- 문자열
KeyMarker- 설명
-
key-marker요청 매개변수로 지정된 키 마커(있는 경우)입니다. - 유형
- 문자열
UploadIdMarker- 설명
-
upload-id-marker요청 매개변수로 지정된 마커(있는 경우)입니다. - 유형
- 문자열
NextKeyMarker- 설명
-
IsTruncated가true인 경우 후속 요청에 사용할 키 마커입니다. - 유형
- 문자열
NextUploadIdMarker- 설명
-
IsTruncated가true인 경우 후속 요청에 사용할 업로드 ID 마커입니다. - 유형
- 문자열
MaxUploads- 설명
-
max-uploadsrequest 매개변수로 지정된 최대 업로드입니다. - 유형
- 정수
구분 기호- 설명
-
설정된 경우 접두사가 동일한 오브젝트가
CommonPrefixes목록에 표시됩니다. - 유형
- 문자열
IsTruncated- 설명
-
true인 경우 버킷의 업로드 콘텐츠 하위 집합만 반환되었습니다. - 유형
- 부울
업로드- 설명
-
Key, uploadId ,InitiatorOwner,StorageClass,Initiated요소의 컨테이너입니다. - 유형
- 컨테이너
키- 설명
- 다중 파트 업로드가 완료되면 오브젝트의 키입니다.
- 유형
- 문자열
UploadId- 설명
-
다중 파트 업로드를 식별하는
ID입니다. - 유형
- 문자열
이니시에이터- 설명
-
업로드를 시작한 사용자의
ID및DisplayName을 포함합니다. - 유형
- 컨테이너
DisplayName- 설명
- 이니시에이터의 표시 이름입니다.
- 유형
- 문자열
ID- 설명
- 이니시에이터의 ID입니다.
- 유형
- 문자열
소유자- 설명
-
업로드된 오브젝트를 소유한 사용자의
ID및DisplayName에 대한 컨테이너입니다. - 유형
- 컨테이너
StorageClass- 설명
-
결과 오브젝트를 저장하는 데 사용되는 메서드입니다.
STANDARD또는REDUCED_REDUNDANCY - 유형
- 문자열
initiated- 설명
- 사용자가 업로드를 시작한 날짜 및 시간입니다.
- 유형
- 날짜
CommonPrefixes- 설명
- 여러 오브젝트에 동일한 접두사가 포함된 경우 이 목록에 표시됩니다.
- 유형
- 컨테이너
CommonPrefixes.Prefix- 설명
-
접두사 요청 매개변수에 정의된 접두사 뒤에 있는 키의 하위 문자열입니다.
- 유형
- 문자열
3.3.27. S3 버킷 정책 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway는 버킷에 적용되는 Amazon S3 정책 언어의 서브 세트를 지원합니다.
생성 및 제거
Ceph Object Gateway는 radosgw-admin CLI 툴을 사용하는 대신 표준 S3 작업을 통해 S3 버킷 정책을 관리합니다.
관리자는 s3cmd 명령을 사용하여 정책을 설정하거나 삭제할 수 있습니다.
예제
제한
Ceph Object Gateway는 다음 S3 작업만 지원합니다.
-
s3:AbortMultipartUpload -
s3:CreateBucket -
s3:DeleteBucketPolicy -
s3:DeleteBucket -
s3:DeleteBucketWebsite -
s3:DeleteObject -
s3:DeleteObjectVersion -
s3:GetBucketAcl -
s3:GetBucketCORS -
s3:GetBucketLocation -
s3:GetBucketPolicy -
s3:GetBucketRequestPayment -
s3:GetBucketVersioning -
s3:GetBucketWebsite -
s3:GetLifecycleConfiguration -
s3:GetObjectAcl -
s3:GetObject -
s3:GetObjectTorrent -
s3:GetObjectVersionAcl -
s3:GetObjectVersion -
s3:GetObjectVersionTorrent -
s3:ListAllMyBuckets -
s3:ListBucketMultiPartUploads -
s3:ListBucket -
s3:ListBucketVersions -
s3:ListMultipartUploadParts -
s3:PutBucketAcl -
s3:PutBucketCORS -
s3:PutBucketPolicy -
s3:PutBucketRequestPayment -
s3:PutBucketVersioning -
s3:PutBucketWebsite -
s3:PutLifecycleConfiguration -
s3:PutObjectAcl -
s3:PutObject -
s3:PutObjectVersionAcl
Ceph Object Gateway는 사용자, 그룹 또는 역할에 대한 정책 설정을 지원하지 않습니다.
Ceph Object Gateway는 Amazon-digit 계정 ID 대신 RGW '테넌트' 식별자를 사용합니다. AWS(Amazon Web Service) S3 및 Ceph Object Gateway S3 간의 정책을 사용하려는 Ceph Object Gateway 관리자는 사용자를 생성할 때 테넌트 ID로 Amazon 계정 ID를 사용해야 합니다.
AWS S3에서는 모든 테넌트가 단일 네임스페이스를 공유합니다. 반면 Ceph Object Gateway는 모든 테넌트에 버킷의 자체 네임스페이스를 제공합니다. 현재 Ceph Object Gateway 클라이언트는 S3 요청에서 다른 테넌트에 속하는 버킷 에 액세스하려고 합니다.
AWS에서 버킷 정책은 다른 계정에 대한 액세스 권한을 부여할 수 있으며 해당 계정 소유자가 사용자 권한이 있는 개별 사용자에게 액세스 권한을 부여할 수 있습니다. Ceph Object Gateway는 사용자, 역할 및 그룹 권한을 아직 지원하지 않으므로 계정 소유자가 개별 사용자에게 직접 액세스 권한을 부여해야 합니다.
버킷에 대한 전체 계정 액세스 권한을 부여하면 해당 계정의 모든 사용자에게 액세스 권한이 부여됩니다.
버킷 정책은 문자열 보간을 지원하지 않습니다.
Ceph Object Gateway에서는 다음 조건 키를 지원합니다.
-
aws:CurrentTime -
aws:EpochTime -
AWS:PrincipalType -
AWS:Referer -
AWS:SecureTransport -
AWS:SourceIp -
aws:UserAgent -
AWS:username
Ceph Object Gateway 는 ListBucket 작업에 대해 다음 조건 키만 지원합니다.
-
s3:prefix -
s3:delimiter -
s3:max-keys
Swift에 미치는 영향
Ceph Object Gateway는 Swift API에서 버킷 정책을 설정하는 기능을 제공하지 않습니다. 그러나 S3 API govern Swift 및 S3 작업으로 설정된 버킷 정책입니다.
Ceph Object Gateway는 정책에 지정된 주체와 비교하여 Swift 자격 증명과 일치합니다.
3.3.28. S3 버킷에서 요청 결제 구성을 가져옵니다. 링크 복사링크가 클립보드에 복사되었습니다!
requestPayment 하위 리소스를 사용하여 버킷의 요청 결제 구성을 반환합니다. 사용자가 버킷 소유자여야 하거나 버킷에 대한 READ_ACP 권한이 부여되어야 합니다.
다음과 같이 requestPayment 하위 리소스를 버킷 요청에 추가합니다.
구문
GET /BUCKET?requestPayment HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
GET /BUCKET?requestPayment HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
3.3.29. S3 버킷에 요청 결제 구성 설정 링크 복사링크가 클립보드에 복사되었습니다!
requestPayment 하위 리소스를 사용하여 버킷의 요청 결제 구성을 설정합니다. 기본적으로 버킷 소유자는 버킷에서 다운로드를 지불하는 것입니다. 이 구성 매개변수를 사용하면 버킷 소유자가 다운로드를 요청하는 사람이 요청 및 버킷에서 데이터 다운로드를 청구하도록 지정할 수 있습니다.
다음과 같이 requestPayment 하위 리소스를 버킷 요청에 추가합니다.
구문
PUT /BUCKET?requestPayment HTTP/1.1 Host: cname.domain.com
PUT /BUCKET?requestPayment HTTP/1.1
Host: cname.domain.com
요청 엔티티
Payer- 설명
- 다운로드 및 요청 요금을 지불하는 사용자를 지정합니다.
- 유형
- ECDHE
requestPaymentConfiguration- 설명
-
Payer를 위한 컨테이너입니다. - 유형
- 컨테이너
3.3.30. 멀티 테넌트 버킷 작업 링크 복사링크가 클립보드에 복사되었습니다!
클라이언트 애플리케이션이 버킷에 액세스하면 항상 특정 사용자의 자격 증명으로 작동합니다. Red Hat Ceph Storage 클러스터에서는 모든 사용자가 테넌트에 속합니다. 결과적으로 테넌트가 명시적으로 지정되지 않은 경우 모든 버킷 작업에는 해당 컨텍스트에서 암시적 테넌트가 있습니다. 따라서 참조된 버킷 및 참조 사용자가 동일한 테넌트에 속하는 한 멀티 테넌시는 이전 릴리스와 완전히 역호환됩니다.
명시적 테넌트를 지정하는 데 사용되는 확장 프로그램은 사용된 프로토콜 및 인증 시스템에 따라 다릅니다.
다음 예에서 콜론 문자는 테넌트와 버킷을 구분합니다. 따라서 샘플 URL은 다음과 같습니다.
https://rgw.domain.com/tenant:bucket
https://rgw.domain.com/tenant:bucket
반면 간단한 Python 예제에서는 버킷 메서드 자체에서 테넌트와 버킷을 분리합니다.
예제
호스트 이름에 콜론 또는 버킷 이름에 아직 유효하지 않은 다른 구분자를 포함할 수 없기 때문에 멀티 테넌시를 사용하여 S3 스타일 하위 도메인을 사용할 수 없습니다. 기간을 사용하면 모호한 구문이 생성됩니다. 따라서 bucket-in-URL-path 형식은 다중 테넌시와 함께 사용해야 합니다.
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Object Gateway Guide 의 사용자 관리 의 멀티 테넌시 섹션을 참조하십시오.
3.3.31. S3 블록 공용 액세스 링크 복사링크가 클립보드에 복사되었습니다!
S3 Block Public Access 기능을 사용하여 버킷과 사용자를 설정하여 Red Hat Ceph Storage 오브젝트 스토리지 S3 리소스에 대한 공용 액세스를 관리할 수 있습니다.
이 기능을 사용하여 버킷 정책, 액세스 포인트 정책 및 오브젝트 권한을 재정의하여 공용 액세스를 허용할 수 있습니다. 기본적으로 새 버킷, 액세스 포인트 및 오브젝트는 공용 액세스를 허용하지 않습니다.
Ceph Object Gateway의 S3 API는 AWS 공용 액세스 설정의 하위 집합을 지원합니다.
BlockPublicPolicy: 사용자가 액세스 포인트 및 버킷 정책을 관리할 수 있도록 하는 설정을 정의합니다. 이 설정을 사용하면 사용자가 버킷 또는 포함된 오브젝트를 공개적으로 공유할 수 없습니다. 기존 액세스 지점 및 버킷 정책은 이 설정을 활성화하면 영향을 받지 않습니다. 이 옵션을TRUE로 설정하면 S3가 발생합니다.- PUT Bucket 정책에 대한 호출을 거부하려면 다음을 수행합니다.
- 모든 버킷의 동일한 계정 액세스 지점에 대해 PUT 액세스 포인트 정책에 대한 호출을 거부하려면 다음을 수행합니다.
사용자가 특정 버킷의 블록 공용 액세스 설정을 변경할 수 없도록 사용자 수준에서 이 설정을 적용합니다.
TRUE 설정은 지정된 정책에서 공용 액세스를 허용하는 경우에만 작동합니다.
-
RestrictPublicBuckets: 공용 정책으로 버킷 또는 액세스 지점에 대한 액세스를 제한하는 설정을 정의합니다. 이 제한은 버킷 소유자 계정 및 액세스 지점 소유자 계정 내의 AWS 서비스 주체 및 권한 부여 사용자에게만 적용됩니다. 이렇게 하면 계정 내 사용자가 액세스 포인트 또는 버킷을 관리할 수 있지만 지정된 경우를 제외하고 액세스 지점 또는 버킷에 대한 계정 간 액세스가 차단됩니다. 이 설정을 활성화하면 기존 액세스 지점 또는 버킷 정책에는 영향을 미치지 않습니다. 이는 Amazon S3가 특정 계정에 대한 공용 위임을 포함하여 모든 공용 액세스 지점 또는 버킷 정책에서 파생된 공용 액세스 및 교차 계정 액세스를 차단하는 경우에만 정의합니다.
ACL(액세스 제어 목록)은 현재 Red Hat Ceph Storage에서 지원되지 않습니다.
달리 정의하지 않는 한 버킷 정책은 공용으로 간주됩니다. 버킷 정책의 공용 액세스를 차단하려면 다음 중 하나 이상에 대해 고정된 값에만 액세스 권한을 부여해야 합니다.
고정 값에는 와일드카드(*) 또는 AWS ID 및 액세스 관리 정책 변수가 포함되어 있지 않습니다.
- AWS 주체, 사용자, 역할 또는 서비스 주체
-
aws:SourceIp를 사용한 CIDR(Classless Inter-Domain Routings) 세트 -
aws:SourceArn -
aws:SourceVpc -
aws:SourceVpce -
aws:SourceOwner -
aws:SourceAccount -
s3:x-amz-server-side-encryption-aws-kms-key-id -
패턴 외부
AWS:userid:ROLEID:* s3:DataAccessPointArn참고버킷 정책에서 사용하는 경우 계정 ID가 수정된 한 이 값은 정책을 공용으로 렌더링하지 않고 액세스 포인트 이름에 대한 와일드카드를 포함할 수 있습니다.
-
s3:DataAccessPointPointAccount
다음 예제 정책은 공용으로 간주됩니다.
예제
정책을 공용이 아닌 상태로 만들려면 고정 값이 있는 조건 키를 포함합니다.
예제
추가 리소스
- PublicAccessBlock 가져오기에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 GET 'PublicAccessBlock' 섹션을 참조하십시오.
- PublicAccessBlock 생성 또는 수정에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 PUT 'PublicAccessBlock' 섹션을 참조하십시오.
- PublicAccessBlock 삭제에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 Delete 'PublicAccessBlock' 섹션을 참조하십시오.
- 버킷 정책에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 S3 버킷 정책 섹션을 참조하십시오.
- Amazon Simple Storage Service( S3) 설명서의 Amazon S3 스토리지에 대한 공용 액세스 차단 섹션을 참조하십시오.
3.3.32. S3 GET PublicAccessBlock 링크 복사링크가 클립보드에 복사되었습니다!
S3 Block Public Access 기능을 구성하려면 GET 을 사용하고 대상 AWS 계정을 지정합니다.
구문
GET /v20180820/configuration/publicAccessBlock HTTP/1.1 Host: cname.domain.com x-amz-account-id: _ACCOUNTID_
GET /v20180820/configuration/publicAccessBlock HTTP/1.1
Host: cname.domain.com
x-amz-account-id: _ACCOUNTID_
요청 헤더
일반적인 요청 헤더에 대한 자세한 내용은 부록 B 의 S3 공통 요청 헤더를 참조하십시오.
응답
응답은 HTTP 200 응답이며 XML 형식으로 반환됩니다.
3.3.33. S3 PUT PublicAccessBlock 링크 복사링크가 클립보드에 복사되었습니다!
이를 사용하여 S3 버킷에 대한 PublicAccessBlock 구성을 생성하거나 수정합니다.
이 작업을 사용하려면 s3:PutBucketPublicAccessBlock 권한이 있어야 합니다.
PublicAccessBlock 구성이 버킷과 계정 간에 다른 경우 Amazon S3는 버킷 수준 및 계정 수준 설정의 가장 제한적인 조합을 사용합니다.
구문
요청 헤더
일반적인 요청 헤더에 대한 자세한 내용은 부록 B 의 S3 공통 요청 헤더를 참조하십시오.
응답
응답은 HTTP 200 응답이며 빈 HTTP 본문으로 반환됩니다.
3.3.34. S3 PublicAccessBlock삭제 링크 복사링크가 클립보드에 복사되었습니다!
이를 사용하여 S3 버킷의 PublicAccessBlock 구성을 삭제합니다.
구문
DELETE /v20180820/configuration/publicAccessBlock HTTP/1.1 Host: s3-control.amazonaws.com x-amz-account-id: AccountId
DELETE /v20180820/configuration/publicAccessBlock HTTP/1.1
Host: s3-control.amazonaws.com
x-amz-account-id: AccountId
요청 헤더
일반적인 요청 헤더에 대한 자세한 내용은 부록 B 의 S3 공통 요청 헤더를 참조하십시오.
응답
응답은 HTTP 200 응답이며 빈 HTTP 본문으로 반환됩니다.
3.4. S3 개체 작업 링크 복사링크가 클립보드에 복사되었습니다!
개발자는 Ceph Object Gateway를 통해 Amazon S3 API(애플리케이션 프로그래밍 인터페이스)를 사용하여 오브젝트 작업을 수행할 수 있습니다.
다음 표에는 함수의 지원 상태와 함께 오브젝트에 대한 Amazon S3 기능 작업이 나열되어 있습니다.
| 기능 | 상태 |
|---|---|
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 지원됨 | |
| 멀티 테넌시 | 지원됨 |
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
3.4.1. S3 버킷에서 오브젝트 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
버킷에서 오브젝트를 검색합니다.
구문
GET /BUCKET/OBJECT HTTP/1.1
GET /BUCKET/OBJECT HTTP/1.1
versionId 하위 리소스를 추가하여 특정 버전의 오브젝트를 검색합니다.
구문
GET /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
GET /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
요청 헤더
partNumber- 설명
-
읽을 개체의 일부입니다. 이렇게 하면 지정된 부분에 대해 범위가 지정된
GET요청이 활성화됩니다. 이 요청을 사용하면 오브젝트의 일부만 다운로드하는 데 유용합니다. - 유효한 값
- 1에서 10,000 사이의 양의 정수입니다.
- 필수 항목
- 없음
범위- 설명
검색할 개체의 범위입니다.
참고GET 요청당 여러 데이터 범위가 지원되지 않습니다.
- 유효한 값
- Range:bytes=beginbyte-endbyte
- 필수 항목
- 없음
if-modified-since- 설명
- 타임스탬프 이후 수정된 경우에만 가져옵니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
if-unmodified-since- 설명
- 타임스탬프 이후 수정되지 않은 경우에만 가져옵니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
if-match- 설명
- ETag 오브젝트가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
if-none-match- 설명
- ETag 오브젝트가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
요청 헤더가 있는 Sytnax
응답 헤더
content-Range- 설명
- 데이터 범위(data range)는 헤더 필드가 요청에 지정된 경우에만 반환됩니다.
x-amz-version-id- 설명
- 버전 ID 또는 null을 반환합니다.
3.4.2. S3 개체에 대한 정보 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
개체에 대한 정보를 반환합니다. 이 요청은 Get Object 요청과 동일한 헤더 정보를 반환하지만 오브젝트 데이터 페이로드가 아닌 메타데이터만 포함합니다.
현재 버전의 오브젝트를 검색합니다.
구문
HEAD /BUCKET/OBJECT HTTP/1.1
HEAD /BUCKET/OBJECT HTTP/1.1
versionId 하위 리소스를 추가하여 특정 버전에 대한 정보를 검색합니다.
구문
HEAD /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
HEAD /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
요청 헤더
범위- 설명
- 검색할 개체의 범위입니다.
- 유효한 값
- Range:bytes=beginbyte-endbyte
- 필수 항목
- 없음
if-modified-since- 설명
- 타임스탬프 이후 수정된 경우에만 가져옵니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
if-match- 설명
- ETag 오브젝트가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
if-none-match- 설명
- ETag 오브젝트가 ETag와 일치하는 경우에만 가져옵니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
응답 헤더
x-amz-version-id- 설명
- 버전 ID 또는 null을 반환합니다.
3.4.3. S3 put 개체 잠금 링크 복사링크가 클립보드에 복사되었습니다!
put 오브젝트 잠금 API는 선택한 버킷에 잠금 구성을 배치합니다. 오브젝트 잠금을 사용하면WORM( Write-once-read-many) 모델을 사용하여 오브젝트를 저장할 수 있습니다. 개체 잠금을 사용하면 고정 시간 또는 무기한 오브젝트를 삭제하거나 덮어쓰지 않도록 합니다. 개체 잠금 구성에 지정된 규칙은 기본적으로 선택한 버킷에 배치된 모든 새 오브젝트에 적용됩니다.
버킷을 생성할 때 개체 잠금을 활성화하지 못하면 작업이 실패합니다.
구문
PUT /BUCKET?object-lock HTTP/1.1
PUT /BUCKET?object-lock HTTP/1.1
예제
PUT /testbucket?object-lock HTTP/1.1
PUT /testbucket?object-lock HTTP/1.1
요청 엔티티
ObjectLockConfiguration- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
ObjectLockEnabled- 설명
- 이 버킷에 개체 잠금 구성이 활성화되어 있는지 여부를 나타냅니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
Rule- 설명
- 지정된 버킷에 대한 개체 잠금 규칙입니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
DefaultRetention- 설명
- 지정된 버킷에 배치된 새 오브젝트에 적용되는 기본 보존 기간입니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
mode- 설명
- 기본 개체 잠금 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
days- 설명
- 기본 보존 기간에 지정된 일 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
년- 설명
- 기본 보존 기간에 지정된 연도 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
HTTP 응답
400- 상태 코드
-
MalformedXML - 설명
- XML 형식이 올바르지 않습니다.
409- 상태 코드
-
InvalidBucketState - 설명
- 버킷 오브젝트 잠금이 활성화되지 않습니다.
3.4.4. S3 get 개체 잠금 링크 복사링크가 클립보드에 복사되었습니다!
get 오브젝트 잠금 API는 버킷에 대한 잠금 구성을 검색합니다.
구문
GET /BUCKET?object-lock HTTP/1.1
GET /BUCKET?object-lock HTTP/1.1
예제
GET /testbucket?object-lock HTTP/1.1
GET /testbucket?object-lock HTTP/1.1
응답 엔티티
ObjectLockConfiguration- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
ObjectLockEnabled- 설명
- 이 버킷에 개체 잠금 구성이 활성화되어 있는지 여부를 나타냅니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
Rule- 설명
- 지정된 버킷에 대한 개체 잠금 규칙이 있습니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
DefaultRetention- 설명
- 지정된 버킷에 배치된 새 오브젝트에 적용되는 기본 보존 기간입니다.
- 유형
- 컨테이너
- 필수 항목
- 없음
mode- 설명
- 기본 개체 잠금 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
days- 설명
- 기본 보존 기간에 지정된 일 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
년- 설명
- 기본 보존 기간에 지정된 연도 수입니다.
- 유형
- 정수
- 필수 항목
- 없음
3.4.5. S3 put object legal hold 링크 복사링크가 클립보드에 복사되었습니다!
put 개체 legal hold API는 선택한 오브젝트에 법적 유지 구성을 적용합니다. 적법한 유지로 오브젝트 버전을 덮어쓰거나 삭제할 수 없습니다. 법적 유지에는 관련 보관 기간이 없으며 명시적으로 삭제할 때까지 그대로 유지됩니다.
구문
PUT /BUCKET/OBJECT?legal-hold&versionId= HTTP/1.1
PUT /BUCKET/OBJECT?legal-hold&versionId= HTTP/1.1
예제
PUT /testbucket/testobject?legal-hold&versionId= HTTP/1.1
PUT /testbucket/testobject?legal-hold&versionId= HTTP/1.1
versionId 하위 리소스는 특정 버전의 오브젝트를 검색합니다.
요청 엔티티
LegalHold- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
상태- 설명
- 지정된 개체에 법적 보유가 있는지 여부를 나타냅니다.Indicates whether the specified object has a legal hold in place. 유효한 값: ON/OFF
- 유형
- 문자열
- 필수 항목
- 제공됨
3.4.6. S3 개체의 법적 유지를 가져옵니다. 링크 복사링크가 클립보드에 복사되었습니다!
get object legal hold API는 오브젝트의 현재 법적 유지 상태를 검색합니다.
구문
GET /BUCKET/OBJECT?legal-hold&versionId= HTTP/1.1
GET /BUCKET/OBJECT?legal-hold&versionId= HTTP/1.1
예제
GET /testbucket/testobject?legal-hold&versionId= HTTP/1.1
GET /testbucket/testobject?legal-hold&versionId= HTTP/1.1
versionId 하위 리소스는 특정 버전의 오브젝트를 검색합니다.
응답 엔티티
LegalHold- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
상태- 설명
- 지정된 개체에 법적 보유가 있는지 여부를 나타냅니다.Indicates whether the specified object has a legal hold in place. 유효한 값: ON/OFF
- 유형
- 문자열
- 필수 항목
- 제공됨
3.4.7. S3 put 오브젝트 보존 링크 복사링크가 클립보드에 복사되었습니다!
put 오브젝트 보존 API는 오브젝트 보존 구성을 오브젝트에 배치합니다. 보존 기간은 고정된 기간 동안 오브젝트 버전을 보호합니다. 거버넌스 모드와 규정 준수 모드의 두 가지 모드가 있습니다. 이 두 가지 보존 모드는 오브젝트에 다른 수준의 보호가 적용됩니다.
이 기간 동안 오브젝트는 WORM 보호( Write-once-read-many)이며 덮어쓰거나 삭제할 수 없습니다.
구문
PUT /BUCKET/OBJECT?retention&versionId= HTTP/1.1
PUT /BUCKET/OBJECT?retention&versionId= HTTP/1.1
예제
PUT /testbucket/testobject?retention&versionId= HTTP/1.1
PUT /testbucket/testobject?retention&versionId= HTTP/1.1
versionId 하위 리소스는 특정 버전의 오브젝트를 검색합니다.
요청 엔티티
보존- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
mode- 설명
- 지정된 오브젝트의 보존 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE
- 유형
- 문자열
- 필수 항목
- 제공됨
RetainUntilDate- 설명
- 보존 날짜. 형식: 2020-01-05T00:00:00.000Z
- 유형
- Timestamp
- 필수 항목
- 제공됨
3.4.8. S3 get 오브젝트 보존 링크 복사링크가 클립보드에 복사되었습니다!
get 오브젝트 보존 API는 오브젝트에서 오브젝트 보존 구성을 검색합니다.
구문
GET /BUCKET/OBJECT?retention&versionId= HTTP/1.1
GET /BUCKET/OBJECT?retention&versionId= HTTP/1.1
예제
GET /testbucket/testobject?retention&versionId= HTTP/1.1
GET /testbucket/testobject?retention&versionId= HTTP/1.1
versionId 하위 리소스는 특정 버전의 오브젝트를 검색합니다.
응답 엔티티
보존- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
mode- 설명
- 지정된 오브젝트의 보존 모드입니다. 유효한 값: GOVERNANCE/COMPLIANCE
- 유형
- 문자열
- 필수 항목
- 제공됨
RetainUntilDate- 설명
- 보존 날짜. 형식: 2020-01-05T00:00:00.000Z
- 유형
- Timestamp
- 필수 항목
- 제공됨
3.4.9. S3 put 오브젝트 태깅 링크 복사링크가 클립보드에 복사되었습니다!
put 오브젝트 태그 지정 API는 태그를 오브젝트와 연결합니다. 태그는 키-값 쌍입니다. 다른 버전의 태그를 배치하려면 versionId 쿼리 매개변수를 사용합니다. s3:PutObjectTagging 작업을 수행할 수 있는 권한이 있어야 합니다. 기본적으로 버킷 소유자는 이 권한을 가지며 이 권한을 다른 사용자에게 부여할 수 있습니다.
구문
PUT /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
PUT /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
예제
PUT /testbucket/testobject?tagging&versionId= HTTP/1.1
PUT /testbucket/testobject?tagging&versionId= HTTP/1.1
요청 엔티티
태그 지정- 설명
- 요청에 대한 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
TagSet- 설명
- 태그 세트 컬렉션입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
3.4.10. S3 오브젝트 태그 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
get 오브젝트 태그 API는 오브젝트 태그를 반환합니다. 기본적으로 GET 작업은 현재 오브젝트 버전에 대한 정보를 반환합니다.
버전된 버킷의 경우 버킷에 여러 버전의 오브젝트가 있을 수 있습니다. 다른 버전의 태그를 검색하려면 요청에 versionId 쿼리 매개변수를 추가합니다.
구문
GET /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
GET /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
예제
GET /testbucket/testobject?tagging&versionId= HTTP/1.1
GET /testbucket/testobject?tagging&versionId= HTTP/1.1
3.4.11. S3 삭제 오브젝트 태그 링크 복사링크가 클립보드에 복사되었습니다!
delete 오브젝트 태그 지정 API는 지정된 오브젝트에서 전체 태그 세트를 제거합니다. 이 작업을 사용하려면 s3:DeleteObjectTagging 작업을 수행할 수 있는 권한이 있어야 합니다.
특정 오브젝트 버전의 태그를 삭제하려면 요청에 versionId 쿼리 매개변수를 추가합니다.
구문
DELETE /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
DELETE /BUCKET/OBJECT?tagging&versionId= HTTP/1.1
예제
DELETE /testbucket/testobject?tagging&versionId= HTTP/1.1
DELETE /testbucket/testobject?tagging&versionId= HTTP/1.1
3.4.12. S3 버킷에 오브젝트 추가 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트를 버킷에 추가합니다. 이 작업을 수행하려면 버킷에 대한 쓰기 권한이 있어야 합니다.
구문
PUT /BUCKET/OBJECT HTTP/1.1
PUT /BUCKET/OBJECT HTTP/1.1
요청 헤더
content-md5- 설명
- 메시지의 base64로 인코딩된 MD-5 해시입니다.
- 유효한 값
- 문자열입니다. 기본값 또는 제약 조건이 없습니다.
- 필수 항목
- 없음
content-type- 설명
- 표준 MIME 유형.
- 유효한 값
-
모든 MIME 유형. 기본값:
binary/octet-stream. - 필수 항목
- 없음
x-amz-meta-<…>*- 설명
- 사용자 메타데이터입니다. 오브젝트와 함께 저장됩니다.
- 유효한 값
- 최대 8kb의 문자열입니다. 기본값 없음.
- 필수 항목
- 없음
x-amz-acl- 설명
- A Canned ACL입니다.
- 유효한 값
-
private,public-read,public-read-write,authenticated-read - 필수 항목
- 없음
응답 헤더
x-amz-version-id- 설명
- 버전 ID 또는 null을 반환합니다.
3.4.13. S3 오브젝트 삭제 링크 복사링크가 클립보드에 복사되었습니다!
개체를 제거합니다. 포함된 버킷에 WRITE 권한이 설정되어 있어야 합니다.
오브젝트를 삭제합니다. 오브젝트 버전 관리의 경우 마커를 생성합니다.
구문
DELETE /BUCKET/OBJECT HTTP/1.1
DELETE /BUCKET/OBJECT HTTP/1.1
버전 지정 시 오브젝트를 삭제하려면 versionId 하위 리소스 및 삭제할 오브젝트 버전을 지정해야 합니다.
DELETE /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
DELETE /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
3.4.14. S3 여러 오브젝트 삭제 링크 복사링크가 클립보드에 복사되었습니다!
이 API 호출은 버킷에서 여러 오브젝트를 삭제합니다.
구문
POST /BUCKET/OBJECT?delete HTTP/1.1
POST /BUCKET/OBJECT?delete HTTP/1.1
3.4.15. S3 오브젝트의 ACL(액세스 제어 목록)을 가져옵니다. 링크 복사링크가 클립보드에 복사되었습니다!
현재 오브젝트 버전에 대한 ACL을 반환합니다.
구문
GET /BUCKET/OBJECT?acl HTTP/1.1
GET /BUCKET/OBJECT?acl HTTP/1.1
versionId 하위 리소스를 추가하여 특정 버전에 대한 ACL을 검색합니다.
구문
GET /BUCKET/OBJECT?versionId=VERSION_ID&acl HTTP/1.1
GET /BUCKET/OBJECT?versionId=VERSION_ID&acl HTTP/1.1
응답 헤더
x-amz-version-id- 설명
- 버전 ID 또는 null을 반환합니다.
응답 엔티티
AccessControlPolicy- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
AccessControlList- 설명
- ACL 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
소유자- 설명
-
버킷 소유자의
ID및DisplayName에 대한 컨테이너입니다. - 유형
- 컨테이너
ID- 설명
- 버킷 소유자의 ID입니다.
- 유형
- 문자열
DisplayName- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
grant- 설명
-
Grantee및Permission을 위한 컨테이너입니다. - 유형
- 컨테이너
grantee- 설명
-
권한 부여를 수신하는 사용자의
DisplayName및ID에 대한 컨테이너입니다. - 유형
- 컨테이너
권한- 설명
-
grantee 버킷에 부여된
권한입니다. - 유형
- 문자열
3.4.16. S3 오브젝트의 ACL(액세스 제어 목록) 설정 링크 복사링크가 클립보드에 복사되었습니다!
현재 오브젝트 버전에 대한 오브젝트 ACL을 설정합니다.
구문
PUT /BUCKET/OBJECT?acl
PUT /BUCKET/OBJECT?acl
요청 엔티티
AccessControlPolicy- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
AccessControlList- 설명
- ACL 정보에 대한 컨테이너입니다.
- 유형
- 컨테이너
소유자- 설명
-
버킷 소유자의
ID및DisplayName에 대한 컨테이너입니다. - 유형
- 컨테이너
ID- 설명
- 버킷 소유자의 ID입니다.
- 유형
- 문자열
DisplayName- 설명
- 버킷 소유자의 표시 이름입니다.
- 유형
- 문자열
grant- 설명
-
Grantee및Permission을 위한 컨테이너입니다. - 유형
- 컨테이너
grantee- 설명
-
권한 부여를 수신하는 사용자의
DisplayName및ID에 대한 컨테이너입니다. - 유형
- 컨테이너
권한- 설명
-
grantee 버킷에 부여된
권한입니다. - 유형
- 문자열
3.4.17. S3 개체 복사 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트를 복사하려면 PUT 를 사용하여 대상 버킷과 오브젝트 이름을 지정합니다.
구문
PUT /DEST_BUCKET/DEST_OBJECT HTTP/1.1 x-amz-copy-source: SOURCE_BUCKET/SOURCE_OBJECT
PUT /DEST_BUCKET/DEST_OBJECT HTTP/1.1
x-amz-copy-source: SOURCE_BUCKET/SOURCE_OBJECT
요청 헤더
x-amz-copy-source- 설명
- 소스 버킷 이름 + 오브젝트 이름입니다.
- 유효한 값
-
버킷 /오브젝트 - 필수 항목
- 제공됨
x-amz-acl- 설명
- A Canned ACL입니다.
- 유효한 값
-
private,public-read,public-read-write,authenticated-read - 필수 항목
- 없음
x-amz-copy-if-modified-since- 설명
- 타임스탬프 이후 수정된 경우에만 복사합니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
x-amz-copy-if-unmodified-since- 설명
- 타임스탬프 이후 수정되지 않은 경우에만 복사됩니다.
- 유효한 값
- Timestamp
- 필수 항목
- 없음
x-amz-copy-if-match- 설명
- ETag 오브젝트가 ETag와 일치하는 경우에만 복사합니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
x-amz-copy-if-none-match- 설명
- ETag 오브젝트가 ETag와 일치하는 경우에만 복사합니다.
- 유효한 값
- 엔터티 태그
- 필수 항목
- 없음
응답 엔티티
CopyObjectResult- 설명
- 응답 요소에 대한 컨테이너입니다.
- 유형
- 컨테이너
LastModified- 설명
- 소스 오브젝트의 마지막으로 수정된 날짜입니다.
- 유형
- 날짜
etag- 설명
- 새 오브젝트의 ETag입니다.
- 유형
- 문자열
3.4.18. S3 HTML 양식을 사용하여 버킷에 오브젝트 추가 링크 복사링크가 클립보드에 복사되었습니다!
HTML 양식을 사용하여 버킷에 오브젝트를 추가합니다. 이 작업을 수행하려면 버킷에 대한 쓰기 권한이 있어야 합니다.
구문
POST /BUCKET/OBJECT HTTP/1.1
POST /BUCKET/OBJECT HTTP/1.1
3.4.19. S3 요청에 대한 결정 옵션 링크 복사링크가 클립보드에 복사되었습니다!
실제 요청을 특정 origin, HTTP 메서드 및 헤더로 보낼 수 있는지 확인하는 사전 요청입니다.
구문
OPTIONS /OBJECT HTTP/1.1
OPTIONS /OBJECT HTTP/1.1
3.4.20. S3에서 멀티 파트 업로드 시작 링크 복사링크가 클립보드에 복사되었습니다!
멀티 파트 업로드 프로세스를 시작합니다. UploadId 를 반환하며, 추가 부분을 추가할 때 지정할 수 있으며, 파트를 나열하며, 다중 파트 업로드를 완료 또는 포기할 수 있습니다.
구문
POST /BUCKET/OBJECT?uploads
POST /BUCKET/OBJECT?uploads
요청 헤더
content-md5- 설명
- 메시지의 base64로 인코딩된 MD-5 해시입니다.
- 유효한 값
- 문자열입니다. 기본값 또는 제약 조건이 없습니다.
- 필수 항목
- 없음
content-type- 설명
- 표준 MIME 유형.
- 유효한 값
-
모든 MIME 유형. 기본값:
binary/octet-stream - 필수 항목
- 없음
x-amz-meta-<…>- 설명
- 사용자 메타데이터입니다. 오브젝트와 함께 저장됩니다.
- 유효한 값
- 최대 8kb의 문자열입니다. 기본값 없음.
- 필수 항목
- 없음
x-amz-acl- 설명
- A Canned ACL입니다.
- 유효한 값
-
private,public-read,public-read-write,authenticated-read - 필수 항목
- 없음
응답 엔티티
InitiatedMultipartUploadsResult- 설명
- 결과에 대한 컨테이너입니다.
- 유형
- 컨테이너
bucket- 설명
- 오브젝트 콘텐츠를 수신할 버킷입니다.
- 유형
- 문자열
키- 설명
-
키 요청 매개변수로 지정된
키(있는 경우)입니다. - 유형
- 문자열
UploadId- 설명
-
다중 파트 업로드를 식별하는
upload-id요청 매개변수로 지정된 ID입니다(있는 경우). - 유형
- 문자열
3.4.21. S3 다중 파트 업로드에 추가 링크 복사링크가 클립보드에 복사되었습니다!
다중 파트 업로드에 부분을 추가합니다.
multi-part 업로드에 부분을 추가하려면 uploadId 하위 소스 및 업로드 ID를 지정합니다.
구문
PUT /BUCKET/OBJECT?partNumber=&uploadId=UPLOAD_ID HTTP/1.1
PUT /BUCKET/OBJECT?partNumber=&uploadId=UPLOAD_ID HTTP/1.1
다음 HTTP 응답이 반환될 수 있습니다.
HTTP 응답
404- 상태 코드
-
NoSuchUpload - 설명
- 지정된 upload-id가 이 오브젝트에서 시작된 업로드와 일치하지 않습니다.
3.4.22. S3 다중 파트 업로드의 일부 목록 링크 복사링크가 클립보드에 복사되었습니다!
uploadId 하위 리소스와 업로드 ID를 지정하여 다중 파트 업로드의 일부를 나열합니다.
구문
GET /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
GET /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
응답 엔티티
InitiatedMultipartUploadsResult- 설명
- 결과에 대한 컨테이너입니다.
- 유형
- 컨테이너
bucket- 설명
- 오브젝트 콘텐츠를 수신할 버킷입니다.
- 유형
- 문자열
키- 설명
-
키 요청 매개변수로 지정된
키(있는 경우)입니다. - 유형
- 문자열
UploadId- 설명
-
다중 파트 업로드를 식별하는
upload-id요청 매개변수로 지정된 ID입니다(있는 경우). - 유형
- 문자열
이니시에이터- 설명
-
업로드를 시작한 사용자의
ID및DisplayName을 포함합니다. - 유형
- 컨테이너
ID- 설명
- 이니시에이터의 ID입니다.
- 유형
- 문자열
DisplayName- 설명
- 이니시에이터의 표시 이름입니다.
- 유형
- 문자열
소유자- 설명
-
업로드된 오브젝트를 소유한 사용자의
ID및DisplayName에 대한 컨테이너입니다. - 유형
- 컨테이너
StorageClass- 설명
-
결과 오브젝트를 저장하는 데 사용되는 메서드입니다.
STANDARD또는REDUCED_REDUNDANCY - 유형
- 문자열
PartNumberMarker- 설명
-
IsTruncated가true인 경우 후속 요청에 사용할 부분 마커입니다. 목록의 우선 순위를 지정합니다. - 유형
- 문자열
NextPartNumberMarker- 설명
-
IsTruncated가true인 경우 후속 요청에 사용할 다음 부분 마커입니다. 목록의 끝입니다. - 유형
- 문자열
IsTruncated- 설명
-
true인 경우 오브젝트의 업로드 콘텐츠의 하위 집합만 반환되었습니다. - 유형
- 부울
part- 설명
-
Key,Part,InitiatorOwner,StorageClass,Initiated요소의 컨테이너입니다. - 유형
- 컨테이너
Partnumber- 설명
-
Key,Part,InitiatorOwner,StorageClass,Initiated요소의 컨테이너입니다. - 유형
- 정수
ETag- 설명
- 해당 부분의 엔터티 태그입니다.
- 유형
- 문자열
크기- 설명
- 업로드된 부분의 크기입니다.
- 유형
- 정수
3.4.23. S3 업로드된 부분 조립 링크 복사링크가 클립보드에 복사되었습니다!
어셈블링은 부분을 업로드하고 새 오브젝트를 생성하여 다중 파트 업로드를 완료합니다.
다중 파트 업로드를 완료하려면 uploadId 하위 리소스 및 업로드 ID를 지정합니다.
구문
POST /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
POST /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
요청 엔티티
CompleteMultipartUpload- 설명
- 하나 이상의 부분으로 구성된 컨테이너입니다.
- 유형
- 컨테이너
- 필수 항목
- 제공됨
part- 설명
-
PartNumber및ETag에 대한 컨테이너입니다. - 유형
- 컨테이너
- 필수 항목
- 제공됨
Partnumber- 설명
- 부분 식별자입니다.
- 유형
- 정수
- 필수 항목
- 제공됨
ETag- 설명
- 해당 부분의 엔터티 태그입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
응답 엔티티
CompleteMultipartUploadResult- 설명
- 응답을 위한 컨테이너입니다.
- 유형
- 컨테이너
위치- 설명
- 새 오브젝트의 리소스 식별자(path)입니다.
- 유형
- URI
bucket- 설명
- 새 오브젝트가 포함된 버킷의 이름입니다.
- 유형
- 문자열
키- 설명
- 오브젝트의 키입니다.
- 유형
- 문자열
ETag- 설명
- 새 오브젝트의 엔터티 태그입니다.
- 유형
- 문자열
3.4.24. S3 다중 파트 업로드 복사 링크 복사링크가 클립보드에 복사되었습니다!
기존 개체의 데이터를 데이터 소스로 복사하여 일부를 업로드합니다.
multi-part 업로드 복사를 수행하려면 uploadId 하위 리소스 및 업로드 ID를 지정합니다.
구문
PUT /BUCKET/OBJECT?partNumber=PartNumber&uploadId=UPLOAD_ID HTTP/1.1 Host: cname.domain.com Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
PUT /BUCKET/OBJECT?partNumber=PartNumber&uploadId=UPLOAD_ID HTTP/1.1
Host: cname.domain.com
Authorization: AWS ACCESS_KEY:HASH_OF_HEADER_AND_SECRET
요청 헤더
x-amz-copy-source- 설명
- 소스 버킷 이름과 오브젝트 이름입니다.
- 유효한 값
- BUCKET/OBJECT
- 필수 항목
- 제공됨
x-amz-copy-source-range- 설명
- 소스 오브젝트에서 복사할 바이트 범위입니다.
- 유효한 값
-
범위:
bytes=first-last. 첫 번째 및 마지막은 복사할 0 기반 바이트 오프셋입니다. 예를 들어bytes=0-9는 소스의 처음 10바이트를 복사하려고 함을 나타냅니다. - 필수 항목
- 없음
응답 엔티티
CopyPartResult- 설명
- 모든 응답 요소에 대한 컨테이너입니다.
- 유형
- 컨테이너
ETag- 설명
- 새 부분의 ETag를 반환합니다.
- 유형
- 문자열
LastModified- 설명
- 부분이 마지막으로 수정된 날짜를 반환합니다.
- 유형
- 문자열
추가 리소스
- 이 기능에 대한 자세한 내용은 Amazon S3 사이트를 참조하십시오.
3.4.25. S3 다중 파트 업로드 중단 링크 복사링크가 클립보드에 복사되었습니다!
다중 파트 업로드를 중단합니다.
다중 파트 업로드를 중단하려면 uploadId 하위 리소스 및 업로드 ID를 지정합니다.
구문
DELETE /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
DELETE /BUCKET/OBJECT?uploadId=UPLOAD_ID HTTP/1.1
3.4.26. S3ECDHE 상호 운용성 링크 복사링크가 클립보드에 복사되었습니다!
HDFS(HDFS) 액세스가 필요한 데이터 분석 애플리케이션의 경우 Apache S3A 커넥터를 통해 Ceph Object Gateway에 액세스할 수 있습니다. S3A 커넥터는 데이터를 Ceph Object Gateway에 저장하는 동안 HDFS 파일 시스템의 HDFS 파일 시스템으로 S3 호환 개체 스토리지를 애플리케이션에 읽고 쓰는 오픈 소스 도구입니다.
Ceph Object Gateway는ECDHE 2.7.3과 함께 제공되는 S3A 커넥터와 완벽하게 호환됩니다.
3.5. S3 선택 작업 (기술 프리뷰) 링크 복사링크가 클립보드에 복사되었습니다!
S3 선택 작업은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있으며 프로덕션에는 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다. 자세한 내용은 Red Hat 기술 프리뷰 기능의 지원 범위를 참조하십시오.
개발자는 S3 select를 실행하여 처리량을 가속화할 수 있습니다. S3에서는 중재자 없이 직접 S3 쿼리를 실행할 수 있습니다.
CSV 및 Parquet 오브젝트로 S3 select 작업을 제공하는 두 개의 S3 select 워크플로우 (CSV 및 Apache Parquet)가 있습니다.
- CSV 파일은 테이블 형식 데이터를 일반 텍스트 형식으로 저장합니다. 파일의 각 행은 데이터 레코드입니다.
- parquet는 데이터 저장 및 검색 효율성을 위해 설계된 오픈 소스 열 지향 데이터 파일 형식입니다. 복잡한 데이터를 대량으로 처리할 수 있는 향상된 성능을 갖춘 데이터 압축 및 인코딩 체계를 제공합니다.
예를 들어, 여러 기가바이트의 데이터가 있는 CSV 또는 Parquet S3 개체를 사용하면 다음 쿼리를 사용하여 다른 열에 의해 필터링되는 단일 열을 추출할 수 있습니다.
예제
select customerid from s3Object where age>30 and age<65;
select customerid from s3Object where age>30 and age<65;
현재 S3 오브젝트는 데이터를 필터링하고 추출하기 전에 Ceph OSD에서 Ceph Object Gateway를 통해 데이터를 검색해야 합니다. 오브젝트가 크고 쿼리가 더 구체적인 경우 성능이 향상됩니다. Parquet 형식은 CSV보다 더 효율적으로 처리할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
- 사용자 액세스를 사용하여 생성한 S3 사용자.
3.5.1. S3 개체에서 콘텐츠 선택 링크 복사링크가 클립보드에 복사되었습니다!
선택한 오브젝트 콘텐츠 API는 구조화된 쿼리 언어(SQL)를 통해 오브젝트 콘텐츠를 필터링합니다. 인벤토리 오브젝트에 있어야 하는 사항에 대한 설명은 AWS Systems Manager 사용자 가이드 의 인벤토리에서 수집한 메타데이터 섹션을 참조하십시오. 인벤토리 콘텐츠는 해당 인벤토리에 대해 실행해야 하는 쿼리 유형에 영향을 미칩니다. 필수 정보를 제공할 수 있는 SQL 문의 수는 크지만 S3 select는 SQL과 유사한 유틸리티이므로 일부 연산자(예: group-by 및 join )가 지원되지 않습니다.
CSV의 경우 지정된 콘텐츠를 검색하려면 데이터 직렬화 형식을 오브젝트의 쉼표로 구분된 값으로 지정해야 합니다. parquet에는 바이너리 형식이 있기 때문에 구분 기호가 없습니다. AWS(Amazon Web Services) CLI(명령줄 인터페이스) 선택 오브젝트 콘텐츠는 CSV 또는 Parquet 형식을 사용하여 개체 데이터를 레코드로 구문 분석하고 쿼리에 지정된 레코드만 반환합니다.
응답에 대한 데이터 직렬화 형식을 지정해야 합니다. 이 작업에 대한 s3:GetObject 권한이 있어야 합니다.
-
InputSerialization요소는 쿼리되는 개체의 데이터 형식을 설명합니다. 오브젝트는 CSV 또는 Parquet 형식으로 되어 있습니다. -
OutputSerialization요소는 AWS-CLI 사용자 클라이언트의 일부이며 출력 데이터의 포맷 방법을 설명합니다. Ceph는 AWS-CLI용 서버 클라이언트를 구현했으므로 현재 CSV인OutputSerialization과 동일한 출력을 제공합니다. -
InputSerialization의 형식은OutputSerialization의 형식과 일치할 필요가 없습니다. 따라서 예를 들어InputSerialization및 CSV에서 Parquet를OutputSerialization에서 지정할 수 있습니다.
구문
POST /BUCKET/KEY?select&select-type=2 HTTP/1.1\r\n
POST /BUCKET/KEY?select&select-type=2 HTTP/1.1\r\n
예제
POST /testbucket/sample1csv?select&select-type=2 HTTP/1.1\r\n POST /testbucket/sample1parquet?select&select-type=2 HTTP/1.1\r\n
POST /testbucket/sample1csv?select&select-type=2 HTTP/1.1\r\n
POST /testbucket/sample1parquet?select&select-type=2 HTTP/1.1\r\n
요청 엔티티
bucket- 설명
- 오브젝트 콘텐츠를 선택하는 버킷입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
키- 설명
- 오브젝트 키입니다.
- 길이 제한
- 최소 길이 1입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
SelectObjectContentRequest- 설명
- 선택한 오브젝트 콘텐츠 요청 매개변수의 루트 수준 태그입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
expression- 설명
- 오브젝트를 쿼리하는 데 사용되는 표현식입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
ExpressionType- 설명
- SQL과 같은 제공된 표현식의 유형입니다.
- 유형
- 문자열
- 유효한 값
- SQL
- 필수 항목
- 제공됨
InputSerialization- 설명
- 쿼리 중인 개체의 데이터 형식에 대해 설명합니다.Describes the format of the data in the object that is being queried.
- 유형
- 문자열
- 필수 항목
- 제공됨
OutputSerialization- 설명
- 쉼표 구분 기호 및 줄 바꿈으로 반환되는 데이터 형식입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
응답 엔티티
작업이 성공하면 서비스에서 HTTP 200 응답을 반환합니다. 데이터는 서비스에서 XML 형식으로 반환됩니다.
payload- 설명
- 페이로드 매개변수의 루트 수준 태그입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
레코드- 설명
- records 이벤트입니다.
- 유형
- base64로 인코딩된 바이너리 데이터 오브젝트
- 필수 항목
- 없음
통계- 설명
- 통계 이벤트입니다.
- 유형
- long
- 필수 항목
- 없음
Ceph Object Gateway는 다음 응답을 지원합니다.
예제
{:event-type,records} {:content-type,application/octet-stream} :message-type,event}
{:event-type,records} {:content-type,application/octet-stream} :message-type,event}
구문 (csv의 경우)
예(csv의 경우)
구문(Parquet의 경우)
예: (Parquet)
지원되는 기능
현재 AWS s3 select 명령의 일부만 지원됩니다.
3.5.2. S3 지원 선택 기능 링크 복사링크가 클립보드에 복사되었습니다!
S3 select는 다음 기능을 지원합니다. .Timestamp
- timestamp(문자열)
- 설명
- 문자열을 타임스탬프의 기본 유형으로 변환합니다.
- 지원됨
- 현재 변환되어 있습니다. yyyy:mm:dd hh:mi:dd
- extract(date-part,timestamp)
- 설명
- 입력 타임스탬프에서 date-part 추출에 따라 정수를 반환합니다.
- 지원됨
- 날짜 부분: 년, 월, 주,일.
- dateadd(date-part ,integer,timestamp)
- 설명
- 타임 스탬프 및 날짜-부분의 결과에 따라 타임 스탬프를 반환합니다.
- 지원됨
- 날짜: 1년, 월,일.
- datediff(date-part,timestamp,timestamp)
- 설명
- 날짜 파트에 따른 두 타임 스탬프 간의 차이의 계산된 결과인 정수를 반환합니다.
- 지원됨
- 날짜 부분 : 년, 월, 일, 시간.
- utcnow()
- 설명
- 현재 시간의 타임스탬프를 반환합니다.
집계
- count()
- 설명
- 조건이 있는 경우 조건과 일치하는 행 수에 따라 정수를 반환합니다.
- sum(expression)
- 설명
- 조건이 있는 경우 조건과 일치하는 각 행에서 표현식 요약을 반환합니다.
- avg(expression)
- 설명
- 조건이 있는 경우 조건과 일치하는 각 행에서 평균 표현식을 반환합니다.
- 최대(도 표현)
- 설명
- 조건이 있는 경우 조건과 일치하는 모든 표현식에 대한 최대 결과를 반환합니다.
- min(expression)
- 설명
- 조건이 있는 경우 조건과 일치하는 모든 표현식에 대해 최소 결과를 반환합니다.
문자열
- substring(문자열,from,to)
- 설명
- 입력 및 입력을 기반으로 입력 문자열에서 추출한 문자열을 반환합니다.
- Char_length
- 설명
- 문자열에서 문자 수를 반환합니다. Character_length도 동일한 작업을 수행합니다.
- Trim
- 설명
- 대상 문자열에서 선행 또는 후행 문자를 트리밍합니다. 기본값은 빈 문자입니다.
- upper\lower
- 설명
- 문자를 대문자 또는 소문자로 변환합니다.
NULL
값은 누락되거나 알 수 없음이 null인 경우 모든 산술 작업에 값을 생성할 수 없습니다. 이는 산술 비교에도 적용되며, 알 수 없는 NULL 에 대한 비교도 마찬가지입니다.
NULL
| A가 null입니다. | 결과(NULL=UNKNOWN) |
|---|---|
| A가 아님 |
|
| A 또는 False |
|
| a 또는 True |
|
| A 또는 A |
|
| A 및 False |
|
| A 및 True |
|
| A 및 A |
|
3.5.3. S3 별칭 프로그래밍 구문 링크 복사링크가 클립보드에 복사되었습니다!
별칭 프로그래밍 구문은 많은 열 또는 복잡한 쿼리를 포함하는 개체를 사용하여 더 잘 프로그래밍할 수 있기 때문에 s3 선택 언어의 필수 부분입니다. 별칭 구문이 포함된 문을 구문 분석하면 별칭을 올바른 프로젝션 열에 대한 참조로 교체하고 쿼리 실행 시 다른 표현식과 같이 참조가 평가됩니다. 별칭은 별칭이 두 번 이상 사용되는 경우 캐시의 결과가 사용되므로 동일한 표현식이 평가되지 않고 동일한 결과가 반환되는 경우 result-cache를 유지 관리합니다. 현재 Red Hat은 열 별칭을 지원합니다.
예제
select int(_1) as a1, int(_2) as a2 , (a1+a2) as a3 from s3object where a3>100 and a3<300;")
select int(_1) as a1, int(_2) as a2 , (a1+a2) as a3 from s3object where a3>100 and a3<300;")
3.5.4. S3 CSV 구문 분석 설명 링크 복사링크가 클립보드에 복사되었습니다!
입력 직렬화가 있는 CSV 정의에서는 이러한 기본값을 사용합니다.
-
row-delimiter에
{\n}'을 사용합니다. -
따옴표로
{"}를 사용합니다. -
이스케이프 문자에는
{\}를 사용합니다.
csv-header-info 는 AWS-CLI에 표시되는 USE 시 구문 분석됩니다. 이는 스키마가 포함된 입력 오브젝트의 첫 번째 행입니다. 현재 출력 직렬화 및 압축 유형은 지원되지 않습니다. S3 선택 엔진에는 S3 개체를 구문 분석하는 CSV 구문 분석기가 있습니다.
- 각 행은 row-delimiter로 끝납니다.
- 필드 구문 분석기는 원하는 열을 구분합니다.
-
연속 필드 구분 기호는
NULL열을 정의합니다. - quote-character는 field-separator를 덮어씁니다. 즉, 필드 구분자는 따옴표 사이의 임의의 문자입니다.
- 이스케이프 문자는 행 구분 기호를 제외한 모든 특수 문자를 비활성화합니다.
다음은 CSV 구문 분석 규칙의 예입니다.
| 기능 | 설명 | 입력 (Tokens) |
|---|---|---|
|
| 연속 필드 구분 기호 |
|
|
| 인용 문자는 필드 구분자를 덮어씁니다. |
|
|
| 이스케이프 문자는 메타 문자를 덮어씁니다. |
오브젝트 소유자의 |
|
| 닫기 인용이 없습니다. 행 구분 기호는 닫는 선입니다. |
|
|
| FileHeaderInfo tag | USE 값은 첫 번째 줄의 각 토큰이 열 이름임을 의미합니다. IGNORE 값은 첫 번째 줄을 건너뛰는 것을 의미합니다. |
4장. Ceph Object Gateway 및 Swift API 링크 복사링크가 클립보드에 복사되었습니다!
개발자는 Swift API 데이터 액세스 모델과 호환되는 RESTful API(애플리케이션 프로그래밍 인터페이스)를 사용할 수 있습니다. Ceph Object Gateway를 통해 Red Hat Ceph Storage 클러스터에 저장된 버킷과 오브젝트를 관리할 수 있습니다.
다음 표에서는 현재 Swift 기능 기능의 지원 상태를 설명합니다.
| 기능 | 상태 | marks |
|---|---|---|
| 지원됨 | ||
| 계정 메타데이터 가져오기 | 지원됨 | 사용자 정의 메타데이터 없음 |
| 지원됨 | Swift ACL의 서브 세트 지원 | |
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 컨테이너 메타데이터 가져오기 | 지원됨 | |
| 지원됨 | ||
| 컨테이너 메타데이터 삭제 | 지원됨 | |
| 지원됨 | ||
| 지원됨 | ||
| Large Object 생성 | 지원됨 | |
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| 지원됨 | ||
| CORS | 지원되지 않음 | |
| 오브젝트 만료 | 지원됨 | |
| 오브젝트 버전 관리 | 지원되지 않음 | |
| 정적 website | 지원되지 않음 |
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
4.1. Swift API 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
다음 제한 사항을 주의해서 사용해야 합니다. 하드웨어 선택과 관련된 영향이 있으므로 Red Hat 계정 팀과 항상 이러한 요구 사항을 논의해야 합니다.
- Swift API를 사용하는 경우 최대 오브젝트 크기: 5GB
- Swift API 사용 시 최대 메타데이터 크기: 오브젝트에 적용할 수 있는 사용자 메타데이터의 총 크기에 대한 제한이 정의되지 않지만 단일 HTTP 요청은 16,000바이트로 제한됩니다.
4.2. Swift 사용자 만들기 링크 복사링크가 클립보드에 복사되었습니다!
Swift 인터페이스를 테스트하려면 Swift 하위 사용자를 만듭니다. Swift 사용자 생성은 2단계 프로세스입니다. 첫 번째 단계는 사용자를 만드는 것입니다. 두 번째 단계는 시크릿 키를 생성하는 것입니다.
다중 사이트 배포에서 master 영역 그룹의 마스터 영역에 항상 호스트에 사용자를 생성합니다.
사전 요구 사항
- Ceph 오브젝트 게이트웨이 설치.
- Ceph Object Gateway 노드에 대한 루트 수준 액세스.
절차
Swift 사용자를 만듭니다.
구문
radosgw-admin subuser create --uid=NAME --subuser=NAME:swift --access=full
radosgw-admin subuser create --uid=NAME --subuser=NAME:swift --access=fullCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME을 Swift 사용자 이름으로 바꿉니다. 예를 들면 다음과 같습니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿 키를 생성합니다.
구문
radosgw-admin key create --subuser=NAME:swift --key-type=swift --gen-secret
radosgw-admin key create --subuser=NAME:swift --key-type=swift --gen-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME을 Swift 사용자 이름으로 바꿉니다. 예를 들면 다음과 같습니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. 사용자 인증 Swift 인증 링크 복사링크가 클립보드에 복사되었습니다!
사용자를 인증하려면 헤더에 X-Auth-User 및 X-Auth-Key 를 포함하는 요청을 만듭니다.
구문
GET /auth HTTP/1.1 Host: swift.example.com X-Auth-User: johndoe X-Auth-Key: R7UUOLFDI2ZI9PRCQ53K
GET /auth HTTP/1.1
Host: swift.example.com
X-Auth-User: johndoe
X-Auth-Key: R7UUOLFDI2ZI9PRCQ53K
응답 예
인증 중에 X-Storage-Url 값을 사용하여 GET 요청을 실행하여 Ceph의 Swift 호환 서비스에 대한 데이터를 검색할 수 있습니다.
추가 리소스
- Swift 요청 헤더에 대한 Red Hat Ceph Storage 개발자 가이드에서 참조하십시오.
- Swift 응답 헤더는 Red Hat Ceph Storage 개발자 가이드에서 참조하십시오.
4.4. Swift 컨테이너 작업 링크 복사링크가 클립보드에 복사되었습니다!
개발자는 Ceph 오브젝트 게이트웨이를 통해 Swift API(애플리케이션 프로그래밍 인터페이스)를 사용하여 컨테이너 작업을 수행할 수 있습니다. 컨테이너를 나열, 생성, 업데이트 및 삭제할 수 있습니다. 컨테이너의 메타데이터를 추가하거나 업데이트할 수도 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
4.4.1. Swift 컨테이너 작업 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너는 데이터 오브젝트를 저장하는 메커니즘입니다. 계정에는 여러 컨테이너가 있을 수 있지만 컨테이너 이름은 고유해야 합니다. 이 API를 사용하면 클라이언트가 컨테이너를 만들고, 액세스 제어 및 메타데이터를 설정하고, 컨테이너 콘텐츠를 검색하고, 컨테이너를 삭제할 수 있습니다. 이 API는 특정 사용자 계정의 정보와 관련된 요청을 수행하기 때문에 컨테이너의 액세스 제어에 의도적으로 액세스하지 않는 한 이 API의 모든 요청은 익명의 요청을 허용하는 경우가 아니면 인증되어야 합니다.
Amazon S3 API는 'bucket'이라는 용어를 사용하여 데이터 컨테이너를 설명합니다. Swift API 내에서 'bucket'을 참조하면 'bucket'이라는 용어는 '컨테이너'라는 용어와 동등하게 해석될 수 있습니다.
오브젝트 스토리지의 한 가지 측면은 계층적 경로 또는 디렉터리를 지원하지 않는다는 것입니다. 대신 각 컨테이너에 오브젝트가 있을 수 있는 하나 이상의 컨테이너로 구성된 하나의 수준을 지원합니다. RADOS 게이트웨이의 Swift 호환 API는 'pseudo-hierarchical 컨테이너의 개념을 지원합니다. 이는 오브젝트 이름을 사용하여 컨테이너 또는 디렉터리 계층을 에뮬레이션하는 수단입니다. pseudo-hierarchical 이름으로 오브젝트의 이름을 지정할 수 있습니다(예: photo/buildings/empire-state.ECDHE) 하지만 컨테이너 이름에 슬래시(/) 문자가 포함될 수 없습니다.
버전이 지정된 Swift 컨테이너에 대규모 오브젝트를 업로드할 때 python-swiftclient 유틸리티와 함께 --leave-segments 옵션을 사용합니다. --leave-segments 를 사용하지 않고 매니페스트 파일을 덮어씁니다. 결과적으로 기존 오브젝트를 덮어쓰므로 데이터가 손실됩니다.
4.4.2. Swift에서 컨테이너의 ACL(액세스 제어 목록)을 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
사용자가 컨테이너를 생성하면 기본적으로 사용자에게 컨테이너에 대한 읽기 및 쓰기 권한이 있습니다. 다른 사용자가 컨테이너의 내용을 읽거나 컨테이너에 쓸 수 있도록 하려면 사용자를 구체적으로 활성화해야 합니다. X-Container-Read 또는 X-Container-Write 설정에서 * 를 지정하여 모든 사용자가 컨테이너에서 읽거나 쓸 수 있습니다. 설정 * 을 사용하면 컨테이너를 공개합니다. 이는 익명 사용자가 컨테이너에서 읽기 또는 쓰기를 가능하게 합니다.
구문
POST /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN X-Container-Read: * X-Container-Write: UID1, UID2, UID3
POST /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
X-Container-Read: *
X-Container-Write: UID1, UID2, UID3
요청 헤더
X-Container-Read- 설명
- 컨테이너에 대한 읽기 권한이 있는 사용자 ID입니다.
- 유형
- 사용자 ID의 쉼표로 구분된 문자열 값입니다.
- 필수 항목
- 없음
X-Container-Write- 설명
- 컨테이너에 대한 쓰기 권한이 있는 사용자 ID입니다.
- 유형
- 사용자 ID의 쉼표로 구분된 문자열 값입니다.
- 필수 항목
- 없음
4.4.3. Swift 목록 컨테이너 목록 링크 복사링크가 클립보드에 복사되었습니다!
API 버전을 지정하고 계정이 특정 사용자 계정에 대한 컨테이너 목록을 반환하는 GET 요청입니다. 요청이 특정 사용자 컨테이너를 반환하므로 요청에 인증 토큰이 필요합니다. 요청을 할 수 없습니다.
구문
GET /API_VERSION/ACCOUNT HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
GET /API_VERSION/ACCOUNT HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
요청 매개변수
제한- 설명
- 결과 수를 지정된 값으로 제한합니다.
- 유형
- 정수
- 유효한 값
- 해당 없음
- 필수 항목
- 제공됨
형식- 설명
- 결과 수를 지정된 값으로 제한합니다.
- 유형
- 정수
- 유효한 값
-
JSON또는xml - 필수 항목
- 없음
마커- 설명
- 마커 값보다 큰 결과 목록을 반환합니다.
- 유형
- 문자열
- 유효한 값
- 해당 없음
- 필수 항목
- 없음
응답에는 컨테이너 목록이 포함되어 있거나 HTTP 204 응답 코드로 반환됩니다.
응답 엔티티
계정- 설명
- 계정 정보 목록.
- 유형
- 컨테이너
컨테이너- 설명
- 컨테이너 목록.
- 유형
- 컨테이너
name- 설명
- 컨테이너의 이름입니다.
- 유형
- 문자열
바이트- 설명
- 컨테이너의 크기입니다.
- 유형
- 정수
4.4.4. Swift에서 컨테이너 오브젝트 나열 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너 내의 오브젝트를 나열하려면 컨테이너의 API 버전, 계정 및 이름을 사용하여 GET 요청을 만듭니다. 쿼리 매개변수를 지정하여 전체 목록을 필터링하거나 매개변수를 남겨 두어 컨테이너에 저장된 처음 10,000개의 오브젝트 이름 목록을 반환할 수 있습니다.
구문
GET /API_VERSION/TENANT:CONTAINER HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
GET /API_VERSION/TENANT:CONTAINER HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
요청 매개변수
형식- 설명
- 결과 수를 지정된 값으로 제한합니다.
- 유형
- 정수
- 유효한 값
-
JSON또는xml - 필수 항목
- 없음
접두사- 설명
- 지정된 접두사로 시작하는 오브젝트로 결과 집합을 제한합니다.
- 유형
- 문자열
- 유효한 값
- 해당 없음
- 필수 항목
- 없음
마커- 설명
- 마커 값보다 큰 결과 목록을 반환합니다.
- 유형
- 문자열
- 유효한 값
- 해당 없음
- 필수 항목
- 없음
제한- 설명
- 결과 수를 지정된 값으로 제한합니다.
- 유형
- 정수
- 유효한 값
- 0 - 10,000
- 필수 항목
- 없음
구분 기호- 설명
- 접두사와 오브젝트 이름의 나머지 부분 사이의 구분 기호입니다.
- 유형
- 문자열
- 유효한 값
- 해당 없음
- 필수 항목
- 없음
경로- 설명
- 오브젝트의 의사 계층 경로입니다.
- 유형
- 문자열
- 유효한 값
- 해당 없음
- 필수 항목
- 없음
응답 엔티티
컨테이너- 설명
- 컨테이너입니다.
- 유형
- 컨테이너
object- 설명
- 컨테이너 내의 오브젝트입니다.
- 유형
- 컨테이너
name- 설명
- 컨테이너 내의 오브젝트 이름입니다.
- 유형
- 문자열
hash- 설명
- 오브젝트 콘텐츠의 해시 코드입니다.
- 유형
- 문자열
last_modified- 설명
- 오브젝트의 콘텐츠가 마지막으로 수정된 시간입니다.
- 유형
- 날짜
content_type- 설명
- 오브젝트 내의 콘텐츠 유형입니다.
- 유형
- 문자열
4.4.5. Swift에서 컨테이너 만들기 링크 복사링크가 클립보드에 복사되었습니다!
새 컨테이너를 생성하려면 API 버전, 계정 및 새 컨테이너의 이름으로 PUT 요청을 만듭니다. 컨테이너 이름은 고유해야 하며, 슬래시(/) 문자를 포함해서는 안 되며 256바이트 미만이어야 합니다. 요청에 액세스 제어 헤더와 메타데이터 헤더를 포함할 수 있습니다. 배치 풀 세트의 키를 식별하는 스토리지 정책을 포함할 수도 있습니다. 예를 들어, radosgw-admin 영역을 실행하면 placement_pools 에서 사용 가능한 키 목록을 확인할 수 있습니다. 스토리지 정책을 사용하면 컨테이너에 특수 풀 세트를 지정할 수 있습니다(예: SSD 기반 스토리지). 작업은 idempotent입니다. 이미 존재하는 컨테이너를 생성하도록 요청하면 HTTP 202 반환 코드로 반환되지만 다른 컨테이너를 생성하지는 않습니다.
구문
headers
X-Container-Read- 설명
- 컨테이너에 대한 읽기 권한이 있는 사용자 ID입니다.
- 유형
- 사용자 ID의 쉼표로 구분된 문자열 값입니다.
- 필수 항목
- 없음
X-Container-Write- 설명
- 컨테이너에 대한 쓰기 권한이 있는 사용자 ID입니다.
- 유형
- 사용자 ID의 쉼표로 구분된 문자열 값입니다.
- 필수 항목
- 없음
X-Container-Meta-KEY- 설명
- 임의의 문자열 값을 사용하는 사용자 정의 메타데이터 키입니다.
- 유형
- 문자열
- 필수 항목
- 없음
X-Storage-Policy- 설명
-
Ceph Object Gateway의
placement_pools에서 스토리지 정책을 식별하는 키입니다. 사용 가능한 키에 대해radosgw-admin 영역을실행합니다. - 유형
- 문자열
- 필수 항목
- 없음
이름이 같은 컨테이너가 이미 있고 사용자가 컨테이너 소유자인 경우 작업이 성공적으로 수행됩니다. 그렇지 않으면 작업이 실패합니다.
HTTP 응답
409- 상태 코드
-
BucketAlreadyExists - 설명
- 컨테이너는 이미 다른 사용자의 소유권 아래에 있습니다.
4.4.6. Swift에서 컨테이너 삭제 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너를 삭제하려면 API 버전, 계정 및 컨테이너 이름을 사용하여 DELETE 요청을 만듭니다. 컨테이너가 비어 있어야 합니다. 컨테이너가 비어 있는지 확인하려면 컨테이너에 대해 HEAD 요청을 실행합니다. 컨테이너를 성공적으로 제거하면 컨테이너 이름을 재사용할 수 있습니다.
구문
DELETE /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
DELETE /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
HTTP 응답
204- 상태 코드
-
NoContent - 설명
- 컨테이너가 제거되었습니다.
4.4.7. Swift에서 컨테이너 메타데이터 추가 또는 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너에 메타데이터를 추가하려면 API 버전, 계정 및 컨테이너 이름을 사용하여 POST 요청을 작성합니다. 메타데이터를 추가하거나 업데이트하려면 컨테이너에 대한 쓰기 권한이 있어야 합니다.
구문
POST /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN X-Container-Meta-Color: red X-Container-Meta-Taste: salty
POST /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
X-Container-Meta-Color: red
X-Container-Meta-Taste: salty
요청 헤더
X-Container-Meta-KEY- 설명
- 임의의 문자열 값을 사용하는 사용자 정의 메타데이터 키입니다.
- 유형
- 문자열
- 필수 항목
- 없음
4.5. Swift 오브젝트 작업 링크 복사링크가 클립보드에 복사되었습니다!
개발자는 Ceph Object Gateway를 통해 Swift API(애플리케이션 프로그래밍 인터페이스)를 사용하여 오브젝트 작업을 수행할 수 있습니다. 오브젝트를 나열, 생성, 업데이트 및 삭제할 수 있습니다. 오브젝트의 메타데이터를 추가하거나 업데이트할 수도 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- RESTful 클라이언트입니다.
4.5.1. Swift 오브젝트 작업 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트는 데이터 및 메타데이터를 저장하기 위한 컨테이너입니다. 컨테이너에는 많은 오브젝트가 있을 수 있지만 오브젝트 이름은 고유해야 합니다. 이 API를 사용하면 클라이언트가 오브젝트를 생성하고, 액세스 제어 및 메타데이터를 설정하고, 오브젝트의 데이터 및 메타데이터를 검색하고 오브젝트를 삭제할 수 있습니다. 이 API는 특정 사용자 계정의 정보와 관련된 요청을 수행하므로 이 API의 모든 요청을 인증해야 합니다. 컨테이너 또는 개체의 액세스 제어가 의도적으로 공개적으로 액세스할 수 없는 경우 즉 익명의 요청을 허용합니다.
4.5.2. Swift에서 오브젝트 가져오기 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트를 검색하려면 API 버전, 계정, 컨테이너 및 오브젝트 이름을 사용하여 GET 요청을 만듭니다. 컨테이너 내에서 오브젝트를 검색하려면 컨테이너에 대한 읽기 권한이 있어야 합니다.
구문
GET /API_VERSION/ACCOUNT/TENANT:CONTAINER/OBJECT HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
GET /API_VERSION/ACCOUNT/TENANT:CONTAINER/OBJECT HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
요청 헤더
범위- 설명
- 오브젝트 콘텐츠의 하위 집합을 검색하려면 바이트 범위를 지정할 수 있습니다.
- 유형
- 날짜
- 필수 항목
- 없음
if-Modified-Since- 설명
-
소스 오브젝트의
last_modified특성의 날짜 및 시간 이후 수정된 경우에만 복사됩니다. - 유형
- 날짜
- 필수 항목
- 없음
if-Unmodified-Since- 설명
-
소스 오브젝트의
last_modified특성의 날짜 및 시간 이후 수정되지 않은 경우에만 복사됩니다. - 유형
- 날짜
- 필수 항목
- 없음
copy-If-Match- 설명
- 요청의 ETag가 소스 오브젝트의 ETag와 일치하는 경우에만 복사합니다.
- 유형
- ETag
- 필수 항목
- 없음
copy-If-None-Match- 설명
-
요청의
ETag가 소스 오브젝트의 ETag와 일치하지 않는 경우에만 복사합니다. - 유형
- ETag
- 필수 항목
- 없음
응답 헤더
content-Range- 설명
- 오브젝트 콘텐츠 서브 세트의 범위입니다. 범위 헤더 필드가 요청에 지정된 경우에만 반환됩니다.
4.5.3. Swift 오브젝트 생성 또는 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
새 오브젝트를 생성하려면 API 버전, 계정, 컨테이너 이름 및 새 오브젝트 이름을 사용하여 PUT 요청을 생성합니다. 오브젝트를 생성하거나 업데이트하려면 컨테이너에 대한 쓰기 권한이 있어야 합니다. 오브젝트 이름은 컨테이너 내에서 고유해야 합니다. PUT 요청은 idempotent가 아니므로 고유 이름을 사용하지 않으면 요청이 오브젝트를 업데이트합니다. 그러나 오브젝트 이름에 pseudo-hierarchical 구문을 사용하여 다른 의사 계층 디렉터리에 있는 경우 동일한 이름의 다른 오브젝트와 구별할 수 있습니다. 요청에 액세스 제어 헤더와 메타데이터 헤더를 포함할 수 있습니다.
구문
PUT /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
PUT /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
요청 헤더
ETag- 설명
- 오브젝트 콘텐츠의 MD5 해시입니다. 권장됨.
- 유형
- 문자열
- 유효한 값
- 해당 없음
- 필수 항목
- 없음
content-Type- 설명
- 오브젝트 콘텐츠의 MD5 해시입니다.
- 유형
- 문자열
- 유효한 값
- 해당 없음
- 필수 항목
- 없음
transfer-Encoding- 설명
- 개체가 더 큰 집계 개체의 일부인지 여부를 나타냅니다.Indicates whether the object is part of a larger aggregate object.
- 유형
- 문자열
- 유효한 값
-
chunked - 필수 항목
- 없음
4.5.4. Swift에서 오브젝트 삭제 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트를 삭제하려면 API 버전, 계정, 컨테이너 및 오브젝트 이름으로 DELETE 요청을 만듭니다. 컨테이너에 오브젝트를 삭제하려면 컨테이너에 대한 쓰기 권한이 있어야 합니다. 오브젝트를 성공적으로 삭제하면 오브젝트 이름을 재사용할 수 있습니다.
구문
DELETE /API_VERSION/ACCOUNT/TENANT:CONTAINER/OBJECT HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
DELETE /API_VERSION/ACCOUNT/TENANT:CONTAINER/OBJECT HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
4.5.5. Swift에서 오브젝트 복사 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트를 복사하면 오브젝트의 서버 측 복사본을 만들 수 있으므로 해당 오브젝트를 다운로드하여 다른 컨테이너 아래에 업로드할 필요가 없습니다. 한 오브젝트의 콘텐츠를 다른 오브젝트에 복사하려면 API 버전, 계정 및 컨테이너 이름을 사용하여 PUT 요청 또는 COPY 요청을 수행할 수 있습니다.
PUT 요청의 경우 요청의 대상 컨테이너와 오브젝트 이름을 사용하고 요청 헤더의 소스 컨테이너와 오브젝트를 사용합니다.
복사 요청의 경우 요청의 소스 컨테이너와 오브젝트와 요청 헤더의 대상 컨테이너와 오브젝트를 사용합니다. 오브젝트를 복사하려면 컨테이너에 대한 쓰기 권한이 있어야 합니다. 대상 오브젝트 이름은 컨테이너 내에서 고유해야 합니다. 요청이 멱등이 아니므로 고유 이름을 사용하지 않으면 요청이 대상 오브젝트를 업데이트합니다. 오브젝트 이름에 pseudo-hierarchical 구문을 사용하여 다른 의사 계층 디렉터리에 있는 경우 대상 오브젝트를 동일한 이름의 소스 오브젝트와 구별할 수 있습니다. 요청에 액세스 제어 헤더와 메타데이터 헤더를 포함할 수 있습니다.
구문
PUT /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1 X-Copy-From: TENANT:SOURCE_CONTAINER/SOURCE_OBJECT Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
PUT /API_VERSION/ACCOUNT/TENANT:CONTAINER HTTP/1.1
X-Copy-From: TENANT:SOURCE_CONTAINER/SOURCE_OBJECT
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
또는 다음을 수행합니다.
구문
COPY /API_VERSION/ACCOUNT/TENANT:SOURCE_CONTAINER/SOURCE_OBJECT HTTP/1.1 Destination: TENANT:DEST_CONTAINER/DEST_OBJECT
COPY /API_VERSION/ACCOUNT/TENANT:SOURCE_CONTAINER/SOURCE_OBJECT HTTP/1.1
Destination: TENANT:DEST_CONTAINER/DEST_OBJECT
요청 헤더
X-Copy-From- 설명
-
소스 컨테이너/오브젝트 경로를 정의하기 위해
PUT요청과 함께 사용됩니다. - 유형
- 문자열
- 필수 항목
-
예,
PUT를 사용하는 경우
대상- 설명
-
COPY요청과 함께 사용하여 대상 컨테이너/오브젝트 경로를 정의합니다. - 유형
- 문자열
- 필수 항목
-
예,
COPY를 사용하는 경우
if-Modified-Since- 설명
-
소스 오브젝트의
last_modified특성의 날짜 및 시간 이후 수정된 경우에만 복사됩니다. - 유형
- 날짜
- 필수 항목
- 없음
if-Unmodified-Since- 설명
-
소스 오브젝트의
last_modified특성의 날짜 및 시간 이후 수정되지 않은 경우에만 복사됩니다. - 유형
- 날짜
- 필수 항목
- 없음
copy-If-Match- 설명
- 요청의 ETag가 소스 오브젝트의 ETag와 일치하는 경우에만 복사합니다.
- 유형
- ETag
- 필수 항목
- 없음
copy-If-None-Match- 설명
-
요청의
ETag가 소스 오브젝트의 ETag와 일치하지 않는 경우에만 복사합니다. - 유형
- ETag
- 필수 항목
- 없음
4.5.6. Swift get 오브젝트 메타데이터 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트의 메타데이터를 검색하려면 API 버전, 계정, 컨테이너 및 오브젝트 이름을 사용하여 HEAD 요청을 만듭니다. 컨테이너 내의 오브젝트에서 메타데이터를 검색하려면 컨테이너에 대한 읽기 권한이 있어야 합니다. 이 요청은 오브젝트 자체에 대한 요청과 동일한 헤더 정보를 반환하지만 오브젝트의 데이터를 반환하지는 않습니다.
구문
HEAD /API_VERSION/ACCOUNT/TENANT:CONTAINER/OBJECT HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
HEAD /API_VERSION/ACCOUNT/TENANT:CONTAINER/OBJECT HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
4.5.7. Swift 추가 또는 업데이트 오브젝트 메타데이터 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트에 메타데이터를 추가하려면 API 버전, 계정, 컨테이너 및 오브젝트 이름을 사용하여 POST 요청을 작성합니다. 메타데이터를 추가하거나 업데이트하려면 상위 컨테이너에 대한 쓰기 권한이 있어야 합니다.
구문
POST /API_VERSION/ACCOUNT/TENANT:CONTAINER/OBJECT HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
POST /API_VERSION/ACCOUNT/TENANT:CONTAINER/OBJECT HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
요청 헤더
X-Object-Meta-KEY- 설명
- 임의의 문자열 값을 사용하는 사용자 정의 메타 데이터 키입니다.
- 유형
- 문자열
- 필수 항목
- 없음
4.6. Swift 임시 URL 작업 링크 복사링크가 클립보드에 복사되었습니다!
임시 액세스를 허용하기 위해 temp url 기능은 swift endpoint of radosgw 에서 지원합니다. 예를 들어, GET 요청에서는 인증 정보를 공유할 필요 없이 오브젝트에 대한 요청입니다.
이 기능의 경우 처음에는 X-Account-Meta-Temp-URL-Key 및 X-Account-Meta-Temp-URL-Key-2 값을 설정해야 합니다. Temp URL 기능은 이러한 시크릿 키에 대해 HMAC-SHA1 서명을 사용합니다.
4.7. Swift get 임시 URL 오브젝트 링크 복사링크가 클립보드에 복사되었습니다!
임시 URL은 다음 요소를 포함하는 암호화 HMAC-SHA1 서명을 사용합니다.
- Request 메서드의 값, 인스턴스의 "GET"
- 만료 시간(epoch 이후의 초) 즉 Unix 시간
- "v1"에서 시작하는 요청 경로
위의 항목은 둘 사이에 추가된 newlines로 정규화되고 HMAC는 이전에 게시된 Temp URL Keys 중 하나에 SHA-1 해시 알고리즘을 사용하여 생성됩니다.
위의 예를 보여주는 샘플 python 스크립트는 다음과 같습니다.
예제
출력 예
https://objectstore.example.com/v1/your-bucket/your-object?temp_url_sig=ff4657876227fc6025f04fcf1e82818266d022c6&temp_url_expires=1423200992
https://objectstore.example.com/v1/your-bucket/your-object?temp_url_sig=ff4657876227fc6025f04fcf1e82818266d022c6&temp_url_expires=1423200992
4.8. Swift POST 임시 URL 키 링크 복사링크가 클립보드에 복사되었습니다!
필수 Key를 사용하여 swift 계정에 대한 POST 요청은 임시 URL 액세스를 계정에 제공할 수 있는 계정의 시크릿 임시 URL 키를 설정합니다. 최대 두 개의 키가 지원되며 서명이 있는 경우 두 키에 대해 확인되므로 임시 URL을 무효화하지 않고 키를 순환할 수 있습니다.
구문
POST /API_VERSION/ACCOUNT HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME X-Auth-Token: AUTH_TOKEN
POST /API_VERSION/ACCOUNT HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
X-Auth-Token: AUTH_TOKEN
요청 헤더
X-Account-Meta-Temp-URL-Key- 설명
- 임의의 문자열 값을 사용하는 사용자 정의 키입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
X-Account-Meta-Temp-URL-Key-2- 설명
- 임의의 문자열 값을 사용하는 사용자 정의 키입니다.
- 유형
- 문자열
- 필수 항목
- 없음
4.9. Swift 멀티 테넌시 컨테이너 작업 링크 복사링크가 클립보드에 복사되었습니다!
클라이언트 애플리케이션이 컨테이너에 액세스하면 항상 특정 사용자의 자격 증명으로 작동합니다. Red Hat Ceph Storage 클러스터에서는 모든 사용자가 테넌트에 속합니다. 결과적으로 테넌트가 명시적으로 지정되지 않은 경우 모든 컨테이너 작업에 해당 컨텍스트에서 암시적 테넌트가 있습니다. 따라서 참조된 컨테이너 및 참조 사용자가 동일한 테넌트에 속하는 한 멀티 테넌시는 이전 릴리스와 완전히 호환됩니다.
명시적 테넌트를 지정하는 데 사용되는 확장 프로그램은 사용된 프로토콜 및 인증 시스템에 따라 다릅니다.
콜론 문자는 테넌트와 컨테이너를 분리하므로 샘플 URL은 다음과 같습니다.
예제
https://rgw.domain.com/tenant:container
https://rgw.domain.com/tenant:container
반면 create_container() 메서드에서는 컨테이너 메서드 자체에서 테넌트와 컨테이너를 구분하기만 하면 됩니다.
예제
create_container("tenant:container")
create_container("tenant:container")
부록 A. Ceph RESTful API 사양 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 Ceph RESTful API 엔드포인트를 통해 다양한 Ceph 하위 시스템에 액세스할 수 있습니다. 이는 사용 가능한 Ceph RESTful API 방법에 대한 참조 가이드입니다.
사용 가능한 Ceph API 끝점:
- A.1절. “Ceph 요약”
- A.2절. “인증”
- A.3절. “Ceph 파일 시스템”
- A.4절. “스토리지 클러스터 구성”
- A.5절. “ECDHE 규칙”
- A.6절. “lasure 코드 프로필”
- A.7절. “기능 토글”
- A.8절. “Grafana”
- A.9절. “스토리지 클러스터 상태”
- A.11절. “로그”
- A.12절. “Ceph Manager 모듈”
- A.13절. “Ceph Monitor”
- A.14절. “Ceph OSD”
- A.15절. “Ceph Object Gateway”
- A.16절. “역할을 조작하기 위한 REST API”
- A.17절. “NFS Ganesha”
- A.18절. “Ceph Orchestrator”
- A.19절. “풀”
- A.20절. “Prometheus”
- A.21절. “RADOS 블록 장치”
- A.22절. “성능 카운터”
- A.23절. “역할”
- A.24절. “서비스”
- A.25절. “설정”
- A.26절. “Ceph 작업”
- A.27절. “telemetry”
- A.28절. “Ceph 사용자”
사전 요구 사항
- RESTful API 사용 방법에 대한 이해
- 정상적인 실행 중인 Red Hat Ceph Storage 클러스터.
-
Ceph Manager
대시보드모듈이 활성화되어 있습니다.
A.1. Ceph 요약 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 요약 엔드포인트를 사용하여 Ceph 요약 세부 정보를 표시하는 방법 참조입니다.
GET /api/summary- 설명
- Ceph 세부 정보 요약을 표시합니다.
- 예제
GET /api/summary HTTP/1.1 Host: example.com
GET /api/summary HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.2. 인증 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage에서 세션을 시작하기 위해 Ceph RESTful API auth 엔드포인트를 사용하는 방법 참조입니다.
POST /api/auth- curl 예
curl -i -k --location -X POST 'https://192.168.0.44:8443/api/auth' -H 'Accept: application/vnd.ceph.api.v1.0+json' -H 'Content-Type: application/json' --data '{"password": "admin@123", "username": "admin"}'curl -i -k --location -X POST 'https://192.168.0.44:8443/api/auth' -H 'Accept: application/vnd.ceph.api.v1.0+json' -H 'Content-Type: application/json' --data '{"password": "admin@123", "username": "admin"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/auth/check- 설명
- 인증 토큰의 요구 사항을 확인합니다.
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/auth/logout- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.3. Ceph 파일 시스템 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API cephfs 엔드포인트를 사용하여 Ceph File Systems(CephFS)를 관리하는 방법 참조입니다.
GET /api/cephfs- 예제
GET /api/cephfs HTTP/1.1 Host: example.com
GET /api/cephfs HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/cephfs/FS_ID- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다.
-
- 예제
GET /api/cephfs/FS_ID HTTP/1.1 Host: example.com
GET /api/cephfs/FS_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/cephfs/FS_ID/client/CLIENT_ID- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. -
CLIENT_ID를 Ceph 클라이언트 식별자 문자열로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/cephfs/FS_ID/clients- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다.
-
- 예제
GET /api/cephfs/FS_ID/clients HTTP/1.1 Host: example.com
GET /api/cephfs/FS_ID/clients HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/cephfs/FS_ID/get_root_directory- 설명
-
ls_dirAPI 호출을 사용하여 가져올 수 없는 루트 디렉터리입니다. - 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다.
-
- 예제
GET /api/cephfs/FS_ID/get_root_directory HTTP/1.1 Host: example.com
GET /api/cephfs/FS_ID/get_root_directory HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/cephfs/FS_ID/ls_dir- 설명
- 지정된 경로의 디렉터리를 나열합니다.
- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. 쿼리:
-
path- 목록을 시작하려는 문자열 값입니다. 기본 경로는/이며, 지정되지 않은 경우입니다. -
깊이- 디렉터리 트리 아래로 이동할 단계 수를 지정하는 정수 값입니다.
-
-
- 예제
GET /api/cephfs/FS_ID/ls_dir HTTP/1.1 Host: example.com
GET /api/cephfs/FS_ID/ls_dir HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/cephfs/FS_ID/mds_counters- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. 쿼리:
-
카운터- 정수 값입니다.
-
-
- 예제
GET /api/cephfs/FS_ID/mds_counters HTTP/1.1 Host: example.com
GET /api/cephfs/FS_ID/mds_counters HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/cephfs/FS_ID/quota- 설명
- 지정된 경로에 대한 CephFS 할당량을 표시합니다.
- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. 쿼리:
-
path- 디렉터리 경로를 지정하는 데 필요한 문자열 값입니다.
-
-
- 예제
GET /api/cephfs/FS_ID/quota?path=STRING HTTP/1.1 Host: example.com
GET /api/cephfs/FS_ID/quota?path=STRING HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/cephfs/FS_ID/quota- 설명
- 지정된 경로에 대한 할당량을 설정합니다.
- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. -
max_bytes- 바이트 제한을 정의하는 문자열 값입니다. -
max_files- 파일 제한을 정의하는 문자열 값입니다. -
path- 디렉터리 또는 파일의 경로를 정의하는 문자열 값입니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/cephfs/FS_ID/snapshot- 설명
- 스냅 샷을 제거합니다.
- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. 쿼리:
-
Name - 스냅샷 이름을지정하는 데 필요한 문자열 값입니다. -
path- 디렉터리 경로를 정의하는 필수 문자열 값입니다.
-
-
- 상태 코드
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/cephfs/FS_ID/snapshot- 설명
- 스냅샷을 생성합니다.
- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. -
Name - 스냅샷 이름을지정하는 문자열 값입니다. 이름을 지정하지 않으면 RFC3339 UTC 형식의 현재 시간을 사용하는 이름이 생성됩니다. -
path- 디렉터리 경로를 정의하는 문자열 값입니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/cephfs/FS_ID/tree- 설명
- 디렉터리를 제거합니다.
- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. 쿼리:
-
path- 디렉터리 경로를 정의하는 필수 문자열 값입니다.
-
-
- 상태 코드
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/cephfs/FS_ID/tree- 설명
- 디렉터리를 생성합니다.
- 매개 변수
-
FS_ID를 Ceph 파일 시스템 식별자 문자열로 바꿉니다. -
path- 디렉터리 경로를 정의하는 문자열 값입니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.4. 스토리지 클러스터 구성 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API cluster_conf 엔드포인트를 사용하여 Red Hat Ceph Storage 클러스터를 관리하는 방법 참조입니다.
GET /api/cluster_conf- 예제
GET /api/cluster_conf HTTP/1.1 Host: example.com
GET /api/cluster_conf HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/cluster_conf- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/cluster_conf- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/cluster_conf/filter- 설명
- 이름으로 스토리지 클러스터 구성을 표시합니다.
- 매개 변수
쿼리:
-
names- 구성 옵션 이름의 문자열 값입니다.
-
- 예제
GET /api/cluster_conf/filter HTTP/1.1 Host: example.com
GET /api/cluster_conf/filter HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/cluster_conf/NAME- 매개 변수
-
NAME을 스토리지 클러스터 구성 이름으로 교체합니다. 쿼리:
-
section- 필수 문자열 값입니다.
-
-
- 상태 코드
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/cluster_conf/NAME- 매개 변수
-
NAME을 스토리지 클러스터 구성 이름으로 교체합니다.
-
- 예제
GET /api/cluster_conf/NAME HTTP/1.1 Host: example.com
GET /api/cluster_conf/NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.5. ECDHE 규칙 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API crush_rule 엔드포인트를 사용하여ECDHE 규칙을 관리하는 방법 참조입니다.
GET /api/crush_rule- 설명
- FlexVolume 규칙 구성을 나열합니다.
- 예제
GET /api/crush_rule HTTP/1.1 Host: example.com
GET /api/crush_rule HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/crush_rule- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/crush_rule/NAME- 매개 변수
-
NAME을 규칙 이름으로 교체합니다.
-
- 상태 코드
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/crush_rule/NAME- 매개 변수
-
NAME을 규칙 이름으로 교체합니다.
-
- 예제
GET /api/crush_rule/NAME HTTP/1.1 Host: example.com
GET /api/crush_rule/NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.6. lasure 코드 프로필 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API Overridesure _code_profile 끝점을 사용하여lasure 코딩 프로필을 관리하는 방법 참조입니다.
GET /api/erasure_code_profile- 설명
- dissure-coded 프로필 정보를 나열합니다.
- 예제
GET /api/erasure_code_profile HTTP/1.1 Host: example.com
GET /api/erasure_code_profile HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/erasure_code_profile- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/erasure_code_profile/NAME- 매개 변수
-
NAME을 프로필 이름으로 교체합니다.
-
- 상태 코드
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/erasure_code_profile/NAME- 매개 변수
-
NAME을 프로필 이름으로 교체합니다.
-
- 예제
GET /api/erasure_code_profile/NAME HTTP/1.1 Host: example.com
GET /api/erasure_code_profile/NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 202 승인됨 - 작동이 계속 실행되고 있으며 작업 대기열을 확인합니다.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.7. 기능 토글 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API feature_toggles 끝점을 사용하여ECDHE 규칙을 관리하는 방법 참조입니다.
GET /api/feature_toggles- 설명
- Red Hat Ceph Storage의 기능을 나열합니다.
- 예제
GET /api/feature_toggles HTTP/1.1 Host: example.com
GET /api/feature_toggles HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.8. Grafana 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API grafana 엔드포인트를 사용하여 Grafana를 관리하는 방법에 대한 참조입니다.
POST /api/grafana/dashboards- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/grafana/url- 설명
- Grafana URL 인스턴스를 나열합니다.
- 예제
GET /api/grafana/url HTTP/1.1 Host: example.com
GET /api/grafana/url HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/grafana/validation/PARAMS- 매개 변수
-
PARAMS를 문자열 값으로 바꿉니다.
-
- 예제
GET /api/grafana/validation/PARAMS HTTP/1.1 Host: example.com
GET /api/grafana/validation/PARAMS HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.9. 스토리지 클러스터 상태 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 상태 엔드포인트를 사용하여 스토리지 클러스터 상태 세부 정보 및 상태를 표시하는 방법 참조입니다.
GET /api/health/full- 예제
GET /api/health/full HTTP/1.1 Host: example.com
GET /api/health/full HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/health/minimal- 설명
- 스토리지 클러스터의 최소 상태 보고서를 표시합니다.
- 예제
GET /api/health/minimal HTTP/1.1 Host: example.com
GET /api/health/minimal HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.10. 호스트 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 호스트 엔드포인트를 사용하여 호스트 (노드라고도 함)를 사용하기 위한 방법 참조입니다.
GET /api/host- 설명
- 호스트 사양을 나열합니다.
- 매개 변수
쿼리:
-
Sources- 호스트 소스의 문자열 값입니다.
-
- 예제
GET /api/host HTTP/1.1 Host: example.com
GET /api/host HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/host- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/host/HOST_NAME- 매개 변수
-
HOST_NAME을 노드 이름으로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/host/HOST_NAME- 설명
- 지정된 호스트에 대한 정보를 표시합니다.
- 매개 변수
-
HOST_NAME을 노드 이름으로 바꿉니다.
-
- 예제
GET /api/host/HOST_NAME HTTP/1.1 Host: example.com
GET /api/host/HOST_NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/host/HOST_NAME- 설명
- 지정된 호스트의 정보를 업데이트합니다. 이 방법은 Ceph Orchestrator가 활성화된 경우에만 지원됩니다.
- 매개 변수
-
HOST_NAME을 노드 이름으로 바꿉니다. -
force- 호스트가 유지 관리 모드로 전환하도록 강제 적용합니다. -
labels- 라벨 목록. -
Maintenance - 유지보수모드를 입력하거나 종료합니다. -
update_labels- 레이블을 업데이트합니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/host/HOST_NAME/daemons- 매개 변수
-
HOST_NAME을 노드 이름으로 바꿉니다.
-
- 예제
GET /api/host/HOST_NAME/daemons HTTP/1.1 Host: example.com
GET /api/host/HOST_NAME/daemons HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/host/HOST_NAME/devices- 매개 변수
-
HOST_NAME을 노드 이름으로 바꿉니다.
-
- 예제
GET /api/host/HOST_NAME/devices HTTP/1.1 Host: example.com
GET /api/host/HOST_NAME/devices HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/host/HOST_NAME/identify_device- 설명
- 장치 표시등을 지정된 초 동안 전환하여 장치를 식별합니다.
- 매개 변수
-
HOST_NAME을 노드 이름으로 바꿉니다. -
장치-/dev/dm-0또는ECDHE1234DEF567-1R1234_ABC8DE0Q와 같은 장치 ID입니다. -
기간- 장치 DestinationRule이 어두워야 하는 시간(초)입니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/host/HOST_NAME/inventory- 설명
- 호스트의 인벤토리를 표시합니다.
- 매개 변수
-
HOST_NAME을 노드 이름으로 바꿉니다. 쿼리:
-
refresh- 비동기 새로 고침을 트리거하는 문자열 값입니다.
-
-
- 예제
GET /api/host/HOST_NAME/inventory HTTP/1.1 Host: example.com
GET /api/host/HOST_NAME/inventory HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/host/HOST_NAME/smart- 매개 변수
-
HOST_NAME을 노드 이름으로 바꿉니다.
-
- 예제
GET /api/host/HOST_NAME/smart HTTP/1.1 Host: example.com
GET /api/host/HOST_NAME/smart HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.11. 로그 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 로그 끝점을 사용하여 로그 정보를 표시하는 방법 참조입니다.
GET /api/logs/all- 설명
- 모든 로그 구성을 확인합니다.
- 예제
GET /api/logs/all HTTP/1.1 Host: example.com
GET /api/logs/all HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.12. Ceph Manager 모듈 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API mgr/module 엔드포인트를 사용하여 Ceph Manager 모듈을 관리하는 방법 참조입니다.
GET /api/mgr/module- 설명
- 관리 모듈 목록을 확인합니다.
- 예제
GET /api/mgr/module HTTP/1.1 Host: example.com
GET /api/mgr/module HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/mgr/module/MODULE_NAME- 설명
- 영구 구성 설정의 값을 검색합니다.
- 매개 변수
-
MODULE_NAME을 Ceph Manager 모듈 이름으로 교체합니다.
-
- 예제
GET /api/mgr/module/MODULE_NAME HTTP/1.1 Host: example.com
GET /api/mgr/module/MODULE_NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/mgr/module/MODULE_NAME- 설명
- 영구 구성 설정의 값을 설정합니다.
- 매개 변수
-
MODULE_NAME을 Ceph Manager 모듈 이름으로 교체합니다. -
config- 모듈 옵션의 값입니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/mgr/module/MODULE_NAME/disable- 설명
- 지정된 Ceph Manager 모듈을 비활성화합니다.
- 매개 변수
-
MODULE_NAME을 Ceph Manager 모듈 이름으로 교체합니다.
-
- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/mgr/module/MODULE_NAME/enable- 설명
- 지정된 Ceph Manager 모듈을 활성화합니다.
- 매개 변수
-
MODULE_NAME을 Ceph Manager 모듈 이름으로 교체합니다.
-
- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/mgr/module/MODULE_NAME/options- 설명
- 지정된 Ceph Manager 모듈에 대한 옵션을 봅니다.
- 매개 변수
-
MODULE_NAME을 Ceph Manager 모듈 이름으로 교체합니다.
-
- 예제
GET /api/mgr/module/MODULE_NAME/options HTTP/1.1 Host: example.com
GET /api/mgr/module/MODULE_NAME/options HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.13. Ceph Monitor 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 모니터 엔드포인트를 사용하여 Ceph Monitor에 대한 정보를 표시하는 방법 참조입니다.
GET /api/monitor- 설명
- Ceph Monitor 세부 정보 보기.
- 예제
GET /api/monitor HTTP/1.1 Host: example.com
GET /api/monitor HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.14. Ceph OSD 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API osd 엔드포인트를 사용하여 Ceph OSD를 관리하는 방법 참조입니다.
GET /api/osd- 예제
GET /api/osd HTTP/1.1 Host: example.com
GET /api/osd HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/osd- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/osd/flags- 설명
- Ceph OSD 플래그를 확인합니다.
- 예제
GET /api/osd/flags HTTP/1.1 Host: example.com
GET /api/osd/flags HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/osd/flags- 설명
- 전체 스토리지 클러스터에 대한 Ceph OSD 플래그를 설정합니다.
- 매개 변수
-
recovery_deletes,sortbit, andpglog_hardlimit플래그는 설정되지 않을 수 없습니다. purged_snapshots플래그를 설정할 수 없습니다.중요성공적인 작동을 위해서는 이 네 개의 플래그를 포함해야 합니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/osd/flags/individual- 설명
- 개별 Ceph OSD 플래그를 확인합니다.
- 예제
GET /api/osd/flags/individual HTTP/1.1 Host: example.com
GET /api/osd/flags/individual HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/osd/flags/individual- 설명
-
Ceph OSD의 개별 하위 집합에 대한
,nooutnoin,noup플래그를 업데이트합니다. - 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/osd/safe_to_delete- 매개 변수
쿼리:
-
svc_ids- Ceph OSD 서비스 식별자에 필요한 문자열입니다.
-
- 예제
GET /api/osd/safe_to_delete?svc_ids=STRING HTTP/1.1 Host: example.com
GET /api/osd/safe_to_delete?svc_ids=STRING HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/osd/safe_to_destroy- 설명
- Ceph OSD가 안전한지 확인합니다.
- 매개 변수
쿼리:
-
ID- Ceph OSD 서비스 식별자의 필수 문자열입니다.
-
- 예제
GET /api/osd/safe_to_destroy?ids=STRING HTTP/1.1 Host: example.com
GET /api/osd/safe_to_destroy?ids=STRING HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/osd/SVC_ID- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다. 쿼리:
-
preserve_id- 문자열 값입니다. -
force- 문자열 값입니다.
-
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/osd/SVC_ID- 설명
- Ceph OSD에 대한 수집된 데이터를 반환합니다.
- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 예제
GET /api/osd/SVC_ID HTTP/1.1 Host: example.com
GET /api/osd/SVC_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/osd/SVC_ID- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/osd/SVC_ID/destroy- 설명
Ceph OSD를 삭제됨으로 표시합니다. 삭제하기 전에 Ceph OSD를 제거해야 합니다. 이 작업은 Ceph OSD 식별자를 그대로 유지하지만 Cephx 키, 구성 키 데이터 및 lockbox 키를 제거합니다.
주의이 작업은 데이터를 영구적으로 읽을 수 없게 렌더링합니다.
- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/osd/SVC_ID/devices- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 예제
GET /api/osd/SVC_ID/devices HTTP/1.1 Host: example.com
GET /api/osd/SVC_ID/devices HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/osd/SVC_ID/histogram- 설명
- Ceph OSD 히스토그램 데이터를 반환합니다.
- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 예제
GET /api/osd/SVC_ID/histogram HTTP/1.1 Host: example.com
GET /api/osd/SVC_ID/histogram HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/osd/SVC_ID/mark- 설명
Ceph OSD
를,아래로 표시하고끊겼습니다.참고Ceph OSD는
손실된상태로 표시하기 전에 삭제해야 합니다.- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/osd/SVC_ID/purge- 설명
map에서 Ceph OSD를 제거합니다.
참고제거하기 전에 Ceph OSD를
제거해야합니다.- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/osd/SVC_ID/reweight- 설명
-
Ceph OSD를 일시적으로 재충전합니다. Ceph OSD
가 표시되지 않으면OSD의 weight가0으로 설정됩니다. Ceph OSD가 다시로표시되면 OSD의 weight가1로 설정됩니다. - 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/osd/SVC_ID/scrub- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다. 쿼리:
-
deep- 부울 값(true또는false)입니다.
-
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/osd/SVC_ID/smart- 매개 변수
-
SVC_ID를 Ceph OSD 서비스 식별자의 문자열 값으로 바꿉니다.
-
- 예제
GET /api/osd/SVC_ID/smart HTTP/1.1 Host: example.com
GET /api/osd/SVC_ID/smart HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.15. Ceph Object Gateway 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API rgw 엔드포인트를 사용하여 Ceph Object Gateway를 관리하는 방법 참조입니다.
GET /api/rgw/status- 설명
- Ceph Object Gateway 상태를 표시합니다.
- 예제
GET /api/rgw/status HTTP/1.1 Host: example.com
GET /api/rgw/status HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/rgw/daemon- 설명
- Ceph Object Gateway 데몬을 표시합니다.
- 예제
GET /api/rgw/daemon HTTP/1.1 Host: example.com
GET /api/rgw/daemon HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/rgw/daemon/SVC_ID- 매개 변수
-
SVC_ID를 문자열 값으로 서비스 식별자로 바꿉니다.
-
- 예제
GET /api/rgw/daemon/SVC_ID HTTP/1.1 Host: example.com
GET /api/rgw/daemon/SVC_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/rgw/site- 매개 변수
쿼리:
-
query- 문자열 값입니다. -
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다.
-
- 예제
GET /api/rgw/site HTTP/1.1 Host: example.com
GET /api/rgw/site HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
bucket Management
GET /api/rgw/bucket- 매개 변수
쿼리:
-
stats- 버킷 통계에 대한 부울 값입니다. -
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다.
-
- 예제
GET /api/rgw/bucket HTTP/1.1 Host: example.com
GET /api/rgw/bucket HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/rgw/bucket- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/rgw/bucket/BUCKET- 매개 변수
-
BUCKET을 버킷 이름으로 문자열 값으로 교체합니다. 쿼리:
-
purge_objects- 문자열 값입니다. -
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다.
-
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/rgw/bucket/BUCKET- 매개 변수
-
BUCKET을 버킷 이름으로 문자열 값으로 교체합니다. 쿼리:
-
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다.
-
-
- 예제
GET /api/rgw/bucket/BUCKET HTTP/1.1 Host: example.com
GET /api/rgw/bucket/BUCKET HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/rgw/bucket/BUCKET- 매개 변수
-
BUCKET을 버킷 이름으로 문자열 값으로 교체합니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
사용자 관리
GET /api/rgw/user- 설명
- Ceph Object Gateway 사용자를 표시합니다.
- 매개 변수
쿼리:
-
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다.
-
- 예제
GET /api/rgw/user HTTP/1.1 Host: example.com
GET /api/rgw/user HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/rgw/user- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/rgw/user/get_emails- 매개 변수
쿼리:
-
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다.
-
- 예제
GET /api/rgw/user/get_emails HTTP/1.1 Host: example.com
GET /api/rgw/user/get_emails HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/rgw/user/UID- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다. 쿼리:
-
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다.
-
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/rgw/user/UID- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다. 쿼리:
-
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다. -
stats- 사용자 통계에 대한 부울 값입니다.
-
-
- 예제
GET /api/rgw/user/UID HTTP/1.1 Host: example.com
GET /api/rgw/user/UID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/rgw/user/UID- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/rgw/user/UID/capability- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다. 쿼리:
-
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다. -
유형- 필수 항목입니다. 문자열 값입니다. -
perm- 필수 항목입니다. 문자열 값입니다.
-
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/rgw/user/UID/capability- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/rgw/user/UID/key- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다. 쿼리:
-
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다. -
KEY_TYPE- 문자열 값입니다. -
subuser- 문자열 값입니다. -
access_key- 문자열 값입니다.
-
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/rgw/user/UID/key- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/rgw/user/UID/quota- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다.
-
- 예제
GET /api/rgw/user/UID/quota HTTP/1.1 Host: example.com
GET /api/rgw/user/UID/quota HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/rgw/user/UID/quota- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/rgw/user/UID/subuser- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/rgw/user/UID/subuser/SUBUSER- 매개 변수
-
UID를 사용자 식별자로 문자열로 바꿉니다. -
SUBUSER를 하위 사용자 이름으로 문자열로 바꿉니다. 쿼리:
-
purge_keys- 키를 제거하지 않도록false로 설정합니다. 이는 S3 하위 사용자에게만 적용됩니다. -
daemon_name- 데몬의 이름을 문자열 값으로 지정합니다.
-
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.16. 역할을 조작하기 위한 REST API 링크 복사링크가 클립보드에 복사되었습니다!
radosgw-admin 역할 명령 외에도 REST API를 사용하여 역할을 조작할 수 있습니다.
REST 관리 API를 호출하려면 admin caps가 있는 사용자를 생성합니다.
예제
radosgw-admin --uid TESTER --display-name "TestUser" --access_key TESTER --secret test123 user create radosgw-admin caps add --uid="TESTER" --caps="roles=*"
[root@host01 ~]# radosgw-admin --uid TESTER --display-name "TestUser" --access_key TESTER --secret test123 user create
[root@host01 ~]# radosgw-admin caps add --uid="TESTER" --caps="roles=*"
역할을 생성합니다.
구문
POST “<hostname>?Action=CreateRole&RoleName=ROLE_NAME&Path=PATH_TO_FILE&AssumeRolePolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT”
POST “<hostname>?Action=CreateRole&RoleName=ROLE_NAME&Path=PATH_TO_FILE&AssumeRolePolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
POST “<hostname>?Action=CreateRole&RoleName=S3Access&Path=/application_abc/component_xyz/&AssumeRolePolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER"]},"Action":["sts:AssumeRole"]}]}”POST “<hostname>?Action=CreateRole&RoleName=S3Access&Path=/application_abc/component_xyz/&AssumeRolePolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER"]},"Action":["sts:AssumeRole"]}]}”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 응답 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할을 가져옵니다.
구문
POST “<hostname>?Action=GetRole&RoleName=ROLE_NAME”
POST “<hostname>?Action=GetRole&RoleName=ROLE_NAME”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
POST “<hostname>?Action=GetRole&RoleName=S3Access”
POST “<hostname>?Action=GetRole&RoleName=S3Access”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 응답 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할을 나열합니다.
구문
POST “<hostname>?Action=GetRole&RoleName=ROLE_NAME&PathPrefix=PATH_PREFIX”
POST “<hostname>?Action=GetRole&RoleName=ROLE_NAME&PathPrefix=PATH_PREFIX”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 요청 예
POST “<hostname>?Action=ListRoles&RoleName=S3Access&PathPrefix=/application”
POST “<hostname>?Action=ListRoles&RoleName=S3Access&PathPrefix=/application”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 응답 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow assume 역할 정책 문서를 업데이트합니다.
구문
POST “<hostname>?Action=UpdateAssumeRolePolicy&RoleName=ROLE_NAME&PolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT”
POST “<hostname>?Action=UpdateAssumeRolePolicy&RoleName=ROLE_NAME&PolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
POST “<hostname>?Action=UpdateAssumeRolePolicy&RoleName=S3Access&PolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER2"]},"Action":["sts:AssumeRole"]}]}”POST “<hostname>?Action=UpdateAssumeRolePolicy&RoleName=S3Access&PolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Principal":{"AWS":["arn:aws:iam:::user/TESTER2"]},"Action":["sts:AssumeRole"]}]}”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할에 연결된 정책을 업데이트합니다.
구문
POST “<hostname>?Action=PutRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME&PolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT”
POST “<hostname>?Action=PutRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME&PolicyDocument=TRUST_RELATIONSHIP_POLICY_DOCUMENT”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
POST “<hostname>?Action=PutRolePolicy&RoleName=S3Access&PolicyName=Policy1&PolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Action":["s3:CreateBucket"],"Resource":"arn:aws:s3:::example_bucket"}]}”POST “<hostname>?Action=PutRolePolicy&RoleName=S3Access&PolicyName=Policy1&PolicyDocument={"Version":"2022-06-17","Statement":[{"Effect":"Allow","Action":["s3:CreateBucket"],"Resource":"arn:aws:s3:::example_bucket"}]}”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할에 연결된 권한 정책 이름을 나열합니다.
구문
POST “<hostname>?Action=ListRolePolicies&RoleName=ROLE_NAME”
POST “<hostname>?Action=ListRolePolicies&RoleName=ROLE_NAME”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
POST “<hostname>?Action=ListRolePolicies&RoleName=S3Access” <PolicyNames> <member>Policy1</member> </PolicyNames>
POST “<hostname>?Action=ListRolePolicies&RoleName=S3Access” <PolicyNames> <member>Policy1</member> </PolicyNames>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할에 연결된 권한 정책을 가져옵니다.
구문
POST “<hostname>?Action=GetRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME”
POST “<hostname>?Action=GetRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할에 연결된 정책 삭제:
구문
POST “hostname>?Action=DeleteRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME“
POST “hostname>?Action=DeleteRolePolicy&RoleName=ROLE_NAME&PolicyName=POLICY_NAME“Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
POST “<hostname>?Action=DeleteRolePolicy&RoleName=S3Access&PolicyName=Policy1”
POST “<hostname>?Action=DeleteRolePolicy&RoleName=S3Access&PolicyName=Policy1”Copy to Clipboard Copied! Toggle word wrap Toggle overflow 역할을 삭제합니다.
참고역할을 해당 정책에 연결하지 않은 경우에만 삭제할 수 있습니다.
구문
POST “<hostname>?Action=DeleteRole&RoleName=ROLE_NAME"
POST “<hostname>?Action=DeleteRole&RoleName=ROLE_NAME"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
POST “<hostname>?Action=DeleteRole&RoleName=S3Access"
POST “<hostname>?Action=DeleteRole&RoleName=S3Access"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
A.17. NFS Ganesha 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API nfs-ganesha 끝점을 사용하여 Ceph NFS 게이트웨이를 관리하는 방법 참조입니다.
GET /api/nfs-ganesha/daemon- 설명
- NFS Ganesha 데몬에 대한 정보를 봅니다.
- 예제
GET /api/nfs-ganesha/daemon HTTP/1.1 Host: example.com
GET /api/nfs-ganesha/daemon HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/nfs-ganesha/export- 설명
- 모든 NFS Ganesha 내보내기 보기.
- 예제
GET /api/nfs-ganesha/export HTTP/1.1 Host: example.com
GET /api/nfs-ganesha/export HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/nfs-ganesha/export- 설명
- 새 NFS Ganesha 내보내기를 생성합니다.
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID- 설명
- NFS Ganesha 내보내기를 삭제합니다.
- 매개 변수
-
CLUSTER_ID를 스토리지 클러스터 식별자 문자열로 바꿉니다. -
EXPORT_ID를 정수로 내보내기 식별자로 바꿉니다. 쿼리:
-
reload_daemons- NFS Ganesha 데몬 구성의 재로드를 트리거하는 부울 값입니다.
-
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID- 설명
- NFS Ganesha 내보내기 정보를 봅니다.
- 매개 변수
-
CLUSTER_ID를 스토리지 클러스터 식별자 문자열로 바꿉니다. -
EXPORT_ID를 정수로 내보내기 식별자로 바꿉니다.
-
- 예제
GET /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID HTTP/1.1 Host: example.com
GET /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/nfs-ganesha/export/CLUSTER_ID/EXPORT_ID- 설명
- NFS Ganesha 내보내기 정보를 업데이트합니다.
- 매개 변수
-
CLUSTER_ID를 스토리지 클러스터 식별자 문자열로 바꿉니다. -
EXPORT_ID를 정수로 내보내기 식별자로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/nfs-ganesha/status- 설명
- NFS Ganesha 관리 기능의 상태 정보를 확인합니다.
- 예제
GET /api/nfs-ganesha/status HTTP/1.1 Host: example.com
GET /api/nfs-ganesha/status HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.18. Ceph Orchestrator 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 오케스트레이터 엔드포인트를 사용하여 Ceph Orchestrator 상태를 표시하는 방법 참조입니다.
GET /api/orchestrator/status- 설명
- Ceph Orchestrator 상태를 표시합니다.
- 예제
GET /api/orchestrator/status HTTP/1.1 Host: example.com
GET /api/orchestrator/status HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.19. 풀 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 풀 끝점을 사용하여 스토리지 풀을 관리하는 방법 참조입니다.
GET /api/pool- 설명
- 풀 목록을 표시합니다.
- 매개 변수
쿼리:
-
attr- 풀 속성의 문자열 값입니다. -
stats- 풀 통계에 대한 부울 값입니다.
-
- 예제
GET /api/pool HTTP/1.1 Host: example.com
GET /api/pool HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/pool- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/pool/POOL_NAME- 매개 변수
-
POOL_NAME을 풀 이름으로 교체합니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/pool/POOL_NAME- 매개 변수
-
POOL_NAME을 풀 이름으로 교체합니다. 쿼리:
-
attr- 풀 속성의 문자열 값입니다. -
stats- 풀 통계에 대한 부울 값입니다.
-
-
- 예제
GET /api/pool/POOL_NAME HTTP/1.1 Host: example.com
GET /api/pool/POOL_NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/pool/POOL_NAME- 매개 변수
-
POOL_NAME을 풀 이름으로 교체합니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/pool/POOL_NAME/configuration- 매개 변수
-
POOL_NAME을 풀 이름으로 교체합니다.
-
- 예제
GET /api/pool/POOL_NAME/configuration HTTP/1.1 Host: example.com
GET /api/pool/POOL_NAME/configuration HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.20. Prometheus 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API prometheus 끝점을 사용하여 Prometheus를 관리하는 방법에 대한 참조입니다.
GET /api/prometheus- 예제
GET /api/prometheus/rules HTTP/1.1 Host: example.com
GET /api/prometheus/rules HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/prometheus/rules- 예제
GET /api/prometheus/rules HTTP/1.1 Host: example.com
GET /api/prometheus/rules HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/prometheus/silence- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/prometheus/silence/S_ID- 매개 변수
-
S_ID를 문자열 값으로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/prometheus/silences- 예제
GET /api/prometheus/silences HTTP/1.1 Host: example.com
GET /api/prometheus/silences HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/prometheus/notifications- 예제
GET /api/prometheus/notifications HTTP/1.1 Host: example.com
GET /api/prometheus/notifications HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.21. RADOS 블록 장치 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 블록 엔드포인트를 사용하여 RADOS 블록 장치(RBD)를 관리하는 방법 참조입니다. 이 참조에는 다음과 같이 사용 가능한 모든 RBD 기능 엔드 포인트가 포함됩니다.
RBD 이미지
GET /api/block/image- 설명
- RBD 이미지를 확인합니다.
- 매개 변수
쿼리:
-
pool_name- 풀 이름을 문자열로 나타냅니다.
-
- 예제
GET /api/block/image HTTP/1.1 Host: example.com
GET /api/block/image HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/image- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/block/image/clone_format_version- 설명
- RBD 복제 형식 버전을 반환합니다.
- 예제
GET /api/block/image/clone_format_version HTTP/1.1 Host: example.com
GET /api/block/image/clone_format_version HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/block/image/default_features- 예제
GET /api/block/image/default_features HTTP/1.1 Host: example.com
GET /api/block/image/default_features HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/block/image/default_features- 예제
GET /api/block/image/default_features HTTP/1.1 Host: example.com
GET /api/block/image/default_features HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/block/image/IMAGE_SPEC- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/block/image/IMAGE_SPEC- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다.
-
- 예제
GET /api/block/image/IMAGE_SPEC HTTP/1.1 Host: example.com
GET /api/block/image/IMAGE_SPEC HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/block/image/IMAGE_SPEC- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/image/IMAGE_SPEC/copy- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/image/IMAGE_SPEC/flatten- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다.
-
- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/image/IMAGE_SPEC/move_trash- 설명
- 이미지를 오름차순으로 이동합니다. 클론에 의해 적극적으로 사용 중인 이미지는 비지니스로 이동하고 나중에 삭제할 수 있습니다.
- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
RBD 미러링
GET /api/block/mirroring/site_name- 설명
- RBD 미러링 사이트 이름을 표시합니다.
- 예제
GET /api/block/mirroring/site_name HTTP/1.1 Host: example.com
GET /api/block/mirroring/site_name HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/block/mirroring/site_name- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
RBD 미러링 풀 부트 스트랩
POST /api/block/mirroring/pool/POOL_NAME/bootstrap/peer- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/mirroring/pool/POOL_NAME/bootstrap/token- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다.
-
- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
RBD 미러링 풀 모드
GET /api/block/mirroring/pool/POOL_NAME- 설명
- RBD 미러링 요약을 표시합니다.
- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다.
-
- 예제
GET /api/block/mirroring/pool/POOL_NAME HTTP/1.1 Host: example.com
GET /api/block/mirroring/pool/POOL_NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/block/mirroring/pool/POOL_NAME- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
RBD 미러링 풀 피어
GET /api/block/mirroring/pool/POOL_NAME/peer- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다.
-
- 예제
GET /api/block/mirroring/pool/POOL_NAME/peer HTTP/1.1 Host: example.com
GET /api/block/mirroring/pool/POOL_NAME/peer HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/mirroring/pool/POOL_NAME/peer- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다. -
PEER_UUID를 문자열로 피어의 UUID로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다. -
PEER_UUID를 문자열로 피어의 UUID로 바꿉니다.
-
- 예제
GET /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID HTTP/1.1 Host: example.com
GET /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/block/mirroring/pool/POOL_NAME/peer/PEER_UUID- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다. -
PEER_UUID를 문자열로 피어의 UUID로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
RBD 미러링 요약
GET /api/block/mirroring/summary- 설명
- RBD 미러링 요약을 표시합니다.
- 예제
GET /api/block/mirroring/summary HTTP/1.1 Host: example.com
GET /api/block/mirroring/summary HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
RBD 네임스페이스
GET /api/block/pool/POOL_NAME/namespace- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다.
-
- 예제
GET /api/block/pool/POOL_NAME/namespace HTTP/1.1 Host: example.com
GET /api/block/pool/POOL_NAME/namespace HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/pool/POOL_NAME/namespace- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/block/pool/POOL_NAME/namespace/NAMESPACE- 매개 변수
-
POOL_NAME을 풀 이름으로 문자열로 바꿉니다. -
NAMESPACE를 문자열로 네임 스페이스로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
RBD 스냅샷
POST /api/block/image/IMAGE_SPEC/snap- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다. -
SNAPSHOT_NAME을 스냅샷 값으로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다. -
SNAPSHOT_NAME을 스냅샷 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME/clone- 설명
- 스냅샷을 이미지에 복제합니다.
- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다. -
SNAPSHOT_NAME을 스냅샷 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/image/IMAGE_SPEC/snap/SNAPSHOT_NAME/rollback- 매개 변수
-
IMAGE_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다. -
SNAPSHOT_NAME을 스냅샷 값으로 바꿉니다.
-
- 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
RBD Trash
GET /api/block/image/trash- 설명
- 모든 RBD 가급적 항목 또는 풀 이름으로 RBD 세부 정보를 표시합니다.
- 매개 변수
쿼리:
-
pool_name- 풀 이름을 문자열 값으로 지정합니다.
-
- 예제
GET /api/block/image/trash HTTP/1.1 Host: example.com
GET /api/block/image/trash HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/image/trash/purge- 설명
- 만료된 이미지를 모두 제거합니다.
- 매개 변수
쿼리:
-
pool_name- 풀 이름을 문자열 값으로 지정합니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/block/image/trash/IMAGE_ID_SPEC- 설명
-
오타에서 이미지를 삭제합니다. 이미지 지연 시간이 만료되지 않은 경우
force를 사용하지 않는 한 삭제할 수 없습니다. 복제하거나 스냅샷이 있는 활성 사용 중인 이미지는 삭제할 수 없습니다. - 매개 변수
-
IMAGE_ID_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다. 쿼리:
-
force- 부울 값으로 인해 이미지를 강제로 삭제할 수 있습니다.
-
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/block/image/trash/IMAGE_ID_SPEC/restore- 설명
- 기저귀에서 이미지를 복원합니다.
- 매개 변수
-
IMAGE_ID_SPEC를 이미지 이름으로 문자열 값으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.22. 성능 카운터 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API perf_counters 끝점을 사용하여 다양한 Ceph 성능 카운터를 표시하는 방법 참조입니다. 이 참조에는 다음과 같은 사용 가능한 모든 성능 카운터 끝점이 포함됩니다.
- Ceph 메타데이터 서버(MDS)
- Ceph Manager
- Ceph Monitor
- Ceph OSD
- Ceph Object Gateway
- Ceph RADOS Block Device(RBD) 미러링
GET /api/perf_counters- 설명
- 성능 카운터를 표시합니다.
- 예제
GET /api/perf_counters HTTP/1.1 Host: example.com
GET /api/perf_counters HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
Ceph Metadata Server
GET /api/perf_counters/mds/SERVICE_ID- 매개 변수
-
SERVICE_ID를 문자열로 필요한 서비스 식별자로 바꿉니다.
-
- 예제
GET /api/perf_counters/mds/SERVICE_ID HTTP/1.1 Host: example.com
GET /api/perf_counters/mds/SERVICE_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
Ceph Manager
GET /api/perf_counters/mgr/SERVICE_ID- 매개 변수
-
SERVICE_ID를 문자열로 필요한 서비스 식별자로 바꿉니다.
-
- 예제
GET /api/perf_counters/mgr/SERVICE_ID HTTP/1.1 Host: example.com
GET /api/perf_counters/mgr/SERVICE_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
Ceph Monitor
GET /api/perf_counters/mon/SERVICE_ID- 매개 변수
-
SERVICE_ID를 문자열로 필요한 서비스 식별자로 바꿉니다.
-
- 예제
GET /api/perf_counters/mon/SERVICE_ID HTTP/1.1 Host: example.com
GET /api/perf_counters/mon/SERVICE_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
Ceph OSD
GET /api/perf_counters/osd/SERVICE_ID- 매개 변수
-
SERVICE_ID를 문자열로 필요한 서비스 식별자로 바꿉니다.
-
- 예제
GET /api/perf_counters/osd/SERVICE_ID HTTP/1.1 Host: example.com
GET /api/perf_counters/osd/SERVICE_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
Ceph RADOS Block Device(RBD) 미러링
GET /api/perf_counters/rbd-mirror/SERVICE_ID- 매개 변수
-
SERVICE_ID를 문자열로 필요한 서비스 식별자로 바꿉니다.
-
- 예제
GET /api/perf_counters/rbd-mirror/SERVICE_ID HTTP/1.1 Host: example.com
GET /api/perf_counters/rbd-mirror/SERVICE_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
Ceph Object Gateway
GET /api/perf_counters/rgw/SERVICE_ID- 매개 변수
-
SERVICE_ID를 문자열로 필요한 서비스 식별자로 바꿉니다.
-
- 예제
GET /api/perf_counters/rgw/SERVICE_ID HTTP/1.1 Host: example.com
GET /api/perf_counters/rgw/SERVICE_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
TCMU Runner
GET /api/perf_counters/tcmu-runner/SERVICE_ID- 매개 변수
-
SERVICE_ID를 문자열로 필요한 서비스 식별자로 바꿉니다.
-
- 예제
GET /api/perf_counters/tcmu-runner/SERVICE_ID HTTP/1.1 Host: example.com
GET /api/perf_counters/tcmu-runner/SERVICE_ID HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.23. 역할 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 역할 엔드포인트를 사용하여 Ceph에서 다양한 사용자 역할을 관리하는 방법 참조입니다.
GET /api/role- 설명
- 역할 목록을 표시합니다.
- 예제
GET /api/role HTTP/1.1 Host: example.com
GET /api/role HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/role- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/role/NAME- 매개 변수
-
NAME을 역할 이름으로 문자열로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/role/NAME- 매개 변수
-
NAME을 역할 이름으로 문자열로 바꿉니다.
-
- 예제
GET /api/role/NAME HTTP/1.1 Host: example.com
GET /api/role/NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/role/NAME- 매개 변수
-
NAME을 역할 이름으로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/role/NAME/clone- 매개 변수
-
NAME을 역할 이름으로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.24. 서비스 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 서비스 엔드포인트를 사용하여 다양한 Ceph 서비스를 관리하는 방법 참조입니다.
GET /api/service- 매개 변수
쿼리:
-
service_name- 서비스 이름을 문자열로 나타냅니다.
-
- 예제
GET /api/service HTTP/1.1 Host: example.com
GET /api/service HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/service- 매개 변수
-
service_spec- JSON 파일로 서비스 사양입니다. -
service_name- 서비스 이름입니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/service/known_types- 설명
- 알려진 서비스 유형 목록을 표시합니다.
- 예제
GET /api/service/known_types HTTP/1.1 Host: example.com
GET /api/service/known_types HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/service/SERVICE_NAME- 매개 변수
-
SERVICE_NAME을 문자열로 서비스 이름으로 교체합니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/service/SERVICE_NAME- 매개 변수
-
SERVICE_NAME을 문자열로 서비스 이름으로 교체합니다.
-
- 예제
GET /api/service/SERVICE_NAME HTTP/1.1 Host: example.com
GET /api/service/SERVICE_NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/service/SERVICE_NAME/daemons- 매개 변수
-
SERVICE_NAME을 문자열로 서비스 이름으로 교체합니다.
-
- 예제
GET /api/service/SERVICE_NAME/daemons HTTP/1.1 Host: example.com
GET /api/service/SERVICE_NAME/daemons HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.25. 설정 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 설정 엔드포인트를 사용하여 다양한 Ceph 설정을 관리하는 방법 참조입니다.
GET /api/settings- 설명
- 사용 가능한 옵션 목록 표시
- 매개 변수
쿼리:
-
name- 쉼표로 구분된 옵션 이름 목록입니다.
-
- 예제
GET /api/settings HTTP/1.1 Host: example.com
GET /api/settings HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/settings- 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/settings/NAME- 매개 변수
-
NAME을 문자열 옵션 이름으로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/settings/NAME- 설명
- 지정된 옵션을 표시합니다.
- 매개 변수
-
NAME을 문자열 옵션 이름으로 바꿉니다.
-
- 예제
GET /api/settings/NAME HTTP/1.1 Host: example.com
GET /api/settings/NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/settings/NAME- 매개 변수
-
NAME을 문자열 옵션 이름으로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.26. Ceph 작업 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 작업 끝점을 사용하여 Ceph 작업을 표시하는 방법 참조입니다.
GET /api/task- 설명
- Ceph 작업을 표시합니다.
- 매개 변수
쿼리:
-
name- 작업의 이름입니다.
-
- 예제
GET /api/task HTTP/1.1 Host: example.com
GET /api/task HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.27. telemetry 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API Telemetry 엔드포인트를 사용하여 Telemetry Ceph Manager 모듈의 데이터를 관리하는 방법 참조입니다.
PUT /api/telemetry- 설명
- Telemetry 모듈을 통해 수집된 데이터 전송을 활성화하거나 비활성화합니다.
- 매개 변수
-
enable- 부울 값입니다. -
license_name-공유-1-0과 같은 문자열 값입니다. 사용자가 원격 분석 데이터 공유를 위한 라이센스를 인식하고 수락하는지 확인합니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/telemetry/report- 설명
- Ceph 및 장치의 보고서 데이터를 표시합니다.
- 예제
GET /api/telemetry/report HTTP/1.1 Host: example.com
GET /api/telemetry/report HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
A.28. Ceph 사용자 링크 복사링크가 클립보드에 복사되었습니다!
Ceph RESTful API 사용자 엔드포인트를 사용하여 Ceph 사용자 세부 정보를 표시하고 Ceph 사용자 암호를 관리하는 방법 참조입니다.
GET /api/user- 설명
- 사용자 목록을 표시합니다.
- 예제
GET /api/user HTTP/1.1 Host: example.com
GET /api/user HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/user- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
DELETE /api/user/USER_NAME- 매개 변수
-
USER_NAME을 사용자 이름으로 문자열로 바꿉니다.
-
- 상태 코드
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 204 콘텐츠가 없음 - 리소스가 삭제되었습니다.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
GET /api/user/USER_NAME- 매개 변수
-
USER_NAME을 사용자 이름으로 문자열로 바꿉니다.
-
- 예제
GET /api/user/USER_NAME HTTP/1.1 Host: example.com
GET /api/user/USER_NAME HTTP/1.1 Host: example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
PUT /api/user/USER_NAME- 매개 변수
-
USER_NAME을 사용자 이름으로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 200 OK - 확인
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/user/USER_NAME/change_password- 매개 변수
-
USER_NAME을 사용자 이름으로 문자열로 바꿉니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
POST /api/user/validate_password- 설명
- 암호를 확인하여 암호 정책을 충족하는지 확인합니다.
- 매개 변수
-
password- 검증할 암호입니다. -
사용자 이름- 선택 사항. 사용자 이름입니다. -
old_password- 선택 사항입니다. 이전 암호입니다.
-
- 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 상태 코드
- 201 Created - Resource created
- 202 승인됨 - 아직 실행 중입니다. 작업 대기열을 확인하십시오.
- 400 잘못된 요청 - 작업 예외. 자세한 내용은 응답 본문을 확인하십시오.
- 401 인증되지 않은 액세스 먼저 로그인해 주십시오.
- 403 금지 - 인증되지 않은 액세스 권한 권한을 확인해 주십시오.
- 500 Internal Server Error - 예기치 않은 오류 스택 추적에 대한 응답 본문을 확인하십시오.
부록 B. S3 일반적인 요청 헤더 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에는 유효한 공통 요청 헤더와 설명이 나열되어 있습니다.
| 요청 헤더 | 설명 |
|---|---|
|
| 요청 본문의 길이입니다. |
|
| 요청 시간 및 날짜(UTC)입니다. |
|
| 호스트 서버의 이름입니다. |
|
| 권한 부여 토큰. |
부록 C. S3 일반적인 응답 상태 코드 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에는 유효한 일반 HTTP 응답 상태와 해당 코드가 나열되어 있습니다.
| HTTP 상태 | 응답 코드 |
|---|---|
|
| 계속 |
|
| 성공 |
|
| Created |
|
| 수락됨 |
|
| NoContent |
|
| 부분 콘텐츠 |
|
| NotModified |
|
| InvalidArgument |
|
| InvalidDigest |
|
| BadDigest |
|
| InvalidBucketName |
|
| InvalidObjectName |
|
| UnresolvableGrantByEmailAddress |
|
| InvalidPart |
|
| InvalidPartOrder |
|
| RequestTimeout |
|
| EntityTooLarge |
|
| AccessDenied |
|
| UserSuspended |
|
| RequestTimeTooSkewed |
|
| NoSuchKey |
|
| NoSuchBucket |
|
| NoSuchUpload |
|
| MethodNotAllowed |
|
| RequestTimeout |
|
| BucketAlreadyExists |
|
| BucketNotEmpty |
|
| MissingContentLength |
|
| PreconditionFailed |
|
| InvalidRange |
|
| UnprocessableEntity |
|
| InternalError |
부록 D. S3 지원되지 않는 헤더 필드 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 유형 |
|---|---|
| x-amz-security-token | 요청 |
| 서버 | 응답 |
| x-amz-delete-marker | 응답 |
| x-amz-id-2 | 응답 |
| x-amz-request-id | 응답 |
| x-amz-version-id | 응답 |
부록 E. Swift 요청 헤더 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 유형 | 필수 항목 |
|---|---|---|---|
|
| 인증할 키 Ceph Object Gateway 사용자 이름입니다. | 문자열 | 제공됨 |
|
| Ceph Object Gateway 사용자 이름과 연결된 키입니다. | 문자열 | 제공됨 |
부록 F. Swift 응답 헤더 링크 복사링크가 클립보드에 복사되었습니다!
서버의 응답에는 X-Auth-Token 값이 포함되어야 합니다. 응답에는 API 문서 전체에서 다른 요청에 지정된 API_VERSION/ACCOUNT 접두사를 제공하는 X-Storage-Url 도 포함될 수 있습니다.
| 이름 | 설명 | 유형 |
|---|---|---|
|
|
요청에 지정된 | 문자열 |
|
|
사용자의 URL 및 | 문자열 |
부록 G. Secure Token Service API 사용 예 링크 복사링크가 클립보드에 복사되었습니다!
이 예제에서는 Python의 boto3 모듈을 사용하여 Ceph Object Gateway의 STS(Secure Token Service) 구현과 상호 작용하는 것입니다. 이 예에서 TESTER2 는 역할에 연결된 권한 정책에 따라 TESTER1 이 소유한 S3 리소스에 액세스하기 위해 TESTER1 에서 생성한 역할을 가정합니다.
AssumeRole 예제에서는 역할을 만들고 정책을 역할에 할당한 다음, 해당 임시 자격 증명을 사용하여 임시 자격 증명을 가져오고 S3 리소스에 액세스할 수 있는 역할을 가정합니다.
AssumeRoleWithWebIdentity 예제에서는 Keycloak, OpenID Connect ID 공급자인 외부 애플리케이션을 사용하여 사용자를 인증하며 역할의 권한 정책에 따라 임시 자격 증명을 가져오고 S3 리소스에 액세스하는 역할을 가정합니다.
AssumeRole 예
AssumeRoleWithWebIdentity Example
추가 리소스
-
Python의
boto모듈에 대한 자세한 내용은 Red Hat Ceph Storage Object Gateway Configuration 및 관리 가이드 의 S3 액세스 테스트 섹션을 참조하십시오.