클라우드 객체 스토리지 URI 형식
이 문서에서는 DBMS_CLOUD 작업에서 소스 파일 URI의 형식에 대해 설명합니다. 형식은 사용 중인 오브젝트 스토리지 서비스에 따라 다릅니다. DBMS_CLOUD는 보안 통신을 보장하며, 지정한 URI는 HTTPS를 사용해야 하며, https://는 URI의 접두어로 사용됩니다.
Oracle Cloud Infrastructure Object Storage 고유 URI 형식
참고: 자율운영 AI 데이터베이스는 표준 계층 스토리지 버킷만 지원합니다. 아카이브 계층 스토리지 버킷은 지원되지 않습니다.
소스 파일이 OC1(상용 영역)의 Oracle Cloud Infrastructure Object Storage에 상주하는 경우 오브젝트 스토리지 전용 끝점을 사용하는 다음 URI 형식을 사용하는 것이 좋습니다. 자세한 내용은 오브젝트 스토리지 전용 엔드포인트를 참조하십시오.
https://namespace-string.objectstorage.region.oci.customer-oci.com/n/namespace-string/b/bucketname/o/filename
참고: OCI 객체 저장소 전용 끝점 URL은 OC1(상용 영역)에서만 지원되며 19.24 이상에서 사용할 수 있습니다.
소스 파일이 Oracle Cloud Infrastructure Object Storage에 있고 상용 영역(OC1)이 아닌 경우 다음 형식을 사용해야 합니다.
https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o/filename
예를 들어 상용 영역(OC1)에서 Phoenix 데이터 센터의 *bucketname* 버킷에 있는 channels.txt 파일에 대한 고유 URI는 다음과 같습니다.
https://namespace.objectstorage.region.oci.customer-oci.com/n/namespace/b/bucketname/o/channels.txt
이 예에서 namespace-string은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.
Object Store의 오른쪽 줄임표 메뉴에 있는 Oracle Cloud Infrastructure Object Storage "Object Details"에서 URI를 찾을 수 있습니다.
-
Oracle Cloud 옆에 있는
을 눌러 Oracle Cloud Infrastructure 콘솔을 엽니다. -
Oracle Cloud Infrastructure 왼쪽 탐색 메뉴에서 스토리지를 누릅니다. 오브젝트 스토리지 및 아카이브 스토리지에서 버킷을 누릅니다.
-
목록 범위에서 구획을 선택합니다.
-
이름 열 아래에서 버킷 이름을 누릅니다.
-
객체 탭에서 작업을 열고 관심 있는 객체에 대한 객체 세부정보 보기를 누릅니다.
-
Object Details 페이지에서 URL Path (URI) 필드에 객체에 액세스할 URI가 표시됩니다.
Oracle Cloud Infrastructure Object Storage Swift URI 형식
소스 파일이 OC1(상용 영역)의 Oracle Cloud Infrastructure Object Storage에 상주하는 경우 오브젝트 스토리지 전용 끝점을 사용하는 다음 URI 형식을 사용하는 것이 좋습니다. 자세한 내용은 오브젝트 스토리지 전용 엔드포인트를 참조하십시오.
https://namespace-string.swiftobjectstorage.region.oci.customer-oci.com/v1/namespace-string/bucket/filename
참고: OCI 객체 저장소 전용 끝점 URL은 OC1(상용 영역)에서만 지원되며 19.24 이상에서 사용할 수 있습니다.
소스 파일이 Oracle Cloud Infrastructure Object Storage에 있고 상용 영역(OC1)이 아닌 경우 다음 형식을 사용해야 합니다.
https://swiftobjectstorage.region.oraclecloud.com/v1/namespace-string/bucket/filename
예를 들어 상용 영역(OC1)에서 Phoenix 데이터 센터의 *bucketname* 버킷에 있는 channels.txt 파일에 대한 Swift URI는 다음과 같습니다.
https://namespace-string.swiftobjectstorage.us-phoenix-1.oci.customer-oci.com/v1/namespace-string/bucketname/channels.txt
이 예에서 namespace-string은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.
주: 소스 파일은 오브젝트 스토리지 계층 버킷에 저장해야 합니다. 자율운영 AI 데이터베이스는 아카이브 스토리지 계층의 버킷을 지원하지 않습니다. 자세한 내용은 Object Storage 개요를 참조하십시오.
사전 인증된 요청 URL을 사용하는 Oracle Cloud Infrastructure Object Storage URI 형식
소스 파일이 Oracle Cloud Infrastructure Object Storage에 상주하는 경우 Oracle Cloud Infrastructure 사전 인증된 URI를 사용할 수 있습니다. 사전 인증된 요청을 생성하면 고유한 URL이 생성됩니다. 그런 다음 조직, 파트너 또는 타사 사용자에게 고유 URL을 제공하여 사전 인증된 요청에서 식별된 오브젝트 스토리지 리소스 대상에 액세스할 수 있습니다.
주: 사전 인증된 액세스에 대한 비즈니스 요구 사항 및 보안 영향을 신중하게 평가합니다. 사전 인증된 요청 URL을 생성할 때 만료 및 접근 유형을 기록해 두면 해당 URL이 사용자의 용도에 적합한지 확인할 수 있습니다.
사전 인증된 요청 URL은 요청이 활성 상태인 동안 요청에서 식별된 대상에 대한 URL 액세스 권한을 가진 모든 사용자에게 제공합니다. 사전 인증된 액세스의 운영 요구 사항을 고려하는 것 외에도 배포를 관리하는 것도 중요합니다.
소스 파일이 OC1(상용 영역)의 Oracle Cloud Infrastructure Object Storage에 상주하는 경우 오브젝트 스토리지 전용 끝점을 사용하는 다음 URI 형식을 사용하는 것이 좋습니다. 자세한 내용은 오브젝트 스토리지 전용 엔드포인트를 참조하십시오.
https://namespace-string.objectstorage.region.oci.customer-oci.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
참고: OCI 객체 저장소 전용 끝점 URL은 OC1(상용 영역)에서만 지원되며 19.24 이상에서 사용할 수 있습니다.
소스 파일이 Oracle Cloud Infrastructure Object Storage에 있고 상용 영역(OC1)이 아닌 경우 다음 형식을 사용해야 합니다.
https://objectstorage.region.oraclecloud.com.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
예를 들어, 상용 영역(OC1)에서 Phoenix 데이터 센터의 bucketname 버킷에 있는 channels.txt 파일에 대해 사전 인증된 샘플 URI는 다음과 같습니다.
https://namespace-string.objectstorage.us-phoenix-1.oci.customer-oci.com/p/2xN-uDtWJNsiD910UCYGue/n/namespace-string/b/bucketname/o/channels.txt
이 예에서 namespace-string은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.
인증서를 생성할 필요 없이 Oracle Cloud Infrastructure 객체 저장소의 파일에 액세스하기 위한 URL을 사용하는 DBMS_CLOUD 프로시저에서 사전 인증된 URL을 사용할 수 있습니다. credential_name 매개변수를 NULL로 지정하거나 credential_name 매개변수를 제공하지 않아야 합니다.
예:
BEGIN
DBMS_CLOUD.COPY_DATA(
table_name =>'CHANNELS',
file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/p/unique-pre-authenticated-string/n/namespace-string/b/bucketname/o/channels.txt',
format => json_object('delimiter' value ',') );
END;
/
주: 혼합된 URL 목록은 유효합니다. URL 목록에 사전 인증된 URL과 인증이 필요한 URL이 모두 포함된 경우 DBMS_CLOUD는 지정된 credential_name를 사용하여 인증이 필요한 URL에 액세스하고 사전 인증된 URL의 경우 지정된 credential_name가 무시됩니다.
자세한 내용은 사전 인증된 요청 사용을 참조하십시오.
Amazon S3 URI 형식
소스 파일이 Amazon S3에 상주하는 경우 파일 액세스를 위한 URI 형식에 대한 설명은 버킷 액세스를 참조하십시오.
예를 들어, 다음은 us-west-2 영역의 atpc 버킷에 있는 channels.txt 파일을 나타냅니다.
https://s3-us-west-2.amazonaws.com/atpc/channels.txt
자격 증명을 만들 필요 없이 Amazon S3 객체 저장소의 파일에 액세스하기 위한 URL을 사용하는 DBMS_CLOUD 절차에서 미리 서명된 URL을 사용할 수 있습니다. DBMS_CLOUD 프로시저에서 미리 서명된 URL을 사용하려면 credential_name 매개변수를 NULL로 지정하거나 credential_name 매개변수를 제공하지 마십시오.
자세한 내용은 객체와 다른 사람 공유를 참조하십시오.
주: DBMS_CLOUD는 버킷에 액세스하기 위한 표준 Amazon S3 끝점 구문을 지원합니다. DBMS_CLOUD는 Amazon S3 레거시 엔드포인트를 지원하지 않습니다. 자세한 내용은 레거시 끝점을 참조하십시오.
Azure Blob 저장소 URI 형식
소스 파일이 Azure Blob Storage에 상주하는 경우 파일에 액세스하기 위한 URI 형식에 대한 설명은 리소스 URI 구문을 참조하십시오.
예를 들어, 다음은 스토리지 계정 atpc_user의 atpc 컨테이너에 있는 channels.txt 파일을 나타냅니다.
https://atpc_user.blob.core.windows.net/atpc/channels.txt
주: 인증서를 생성할 필요 없이 URL을 사용하여 Azure Blob Storage의 파일에 액세스하는 DBMS_CLOUD 프로시저에서 SAS(공유 액세스 서명) URL을 사용할 수 있습니다. SAS(공유 액세스 서명) URL을 사용하려면 credential_name 매개변수를 NULL로 지정하거나 credential_name 매개변수를 제공하지 마십시오.
See Grant Limited Access to Azure Storage Resources Using Shared Access Signatures (SAS) for more information.
Amazon S3 호환 URI 형식
DBMS_CLOUD는 다음 서비스를 포함하여 Amazon S3 호환 URL을 지원하는 객체 스토리지 서비스 구현을 지원합니다.
- Amazon S3 호환 URL이 포함된 Oracle Cloud Infrastructure Object Storage
- Amazon S3 호환 URL이 포함된 Google Cloud Storage
- Amazon S3 호환 URL을 사용하는 Wasabi Hot Cloud Storage
주: Amazon S3 호환 객체 저장소와 함께 DBMS_CLOUD를 사용하려면 적합한 인증서를 제공해야 합니다. 자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.
소스 파일이 Amazon S3 호환 URI를 지원하는 서비스에 상주하는 경우 다음 URI 형식을 사용하여 파일에 액세스합니다.
-
Oracle Cloud Infrastructure Object Storage S3 호환 URL
소스 파일이 OC1(상용 영역)의 Oracle Cloud Infrastructure Object Storage에 상주하는 경우 아래 나열된 오브젝트 URL 및 버킷 URL 형식을 OC1(상용 영역)에 사용하는 것이 좋습니다. 자세한 내용은 오브젝트 스토리지 전용 엔드포인트를 참조하십시오.
참고: OCI 객체 저장소 전용 끝점 URL은 OC1(상용 영역)에서만 지원되며 19.24 이상에서 사용할 수 있습니다.
객체 URL 형식
-
상용 영역(OC1)에서만 지원됨:
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name/object_name -
모든 영역에서 지원됨:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name/object_name
버킷 URL 형식:
-
상용 영역(OC1)에서만 지원됨:
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name -
모든 영역에서 지원됨:
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name
자세한 내용은 Amazon S3 호환성 및 오브젝트 스토리지 서비스 API를 참조하십시오.
-
-
Google Cloud Storage S3 호환 URL
객체 URL 형식:
https://bucketname.storage.googleapis.com/object_name버킷 URL 형식:
https://bucketname.storage.googleapis.com/자세한 내용은 Amazon S3에서 클라우드 스토리지로 마이그레이션 및 요청 엔드포인트를 참조하십시오.
-
Wasabi S3 호환 URL
객체 URL 형식:
https://bucketname.s3.region.wasabisys.com/object_name버킷 URL 형식:
https://bucketname.s3.region.wasabisys.com/자세한 내용은 Wasabi S3 API Reference 및 Wasabi 스토리지 지역에 대한 서비스 URL을 참조하십시오.
추가 고객 관리 URI 형식
사전 구성된 인식된 URIs와 정규화된 도메인 이름(FQDNs) 외에도 DBMS_CLOUD는 고객 관리 끝점 URIs에 대해 적절한 인증 체계를 결정할 수 없습니다. 이러한 경우 DBMS_CLOUD는 적절한 URI 체계를 사용하여 고객 관리 끝점에 대한 인증 체계를 식별합니다.
| URI 체계 | 인증 유형 | 액세스 방법 설명 | URI 예제 |
|---|---|---|---|
| 기본:// | 기본 승인 | 데이터베이스 인증서 객체에 저장된 사용자 이름 및 암호는 HTTP 요청을 인증하는 데 사용됩니다. | basic://api.github.com/users/myaccount |
| 베어러:// | 지급자 토큰 승인 | 데이터베이스 인증서 객체의 비밀번호 필드에 저장된 지급자 토큰은 HTTP 요청에 대한 권한 부여 헤더를 지정하는 데 사용됩니다. | bearer://api.sendgrid.com/v3/resource |
| OCI:// | OCI 네이티브 | OCI 인증 프로토콜을 사용하여 요청에 저장 및 서명하는 데 사용되는 데이터베이스 인증서 객체에서 얻은 OCI 서명 키 | oci://objectstorage.us-ashburn-1.oraclecloud.com |
| 공용:// | 인증 없음 | 공개 URL | public://cms.data.gov/ |
| s3:// | Amazon Web Services S3 호환 | 데이터베이스 인증서 객체의 사용자 이름/암호 필드에서 얻은 액세스 키 및 암호 키와 HTTP 요청에 대해 수행된 S3 호환 인증입니다. | s3://bucket.myprivatesite.com/file1.csv |
예제:
S3 호환 인증을 사용하는 고객 관리 끝점입니다.
이 예에서는 새 URIs의 경우 고객이 DBMS_NETWORK_ACL_ADMIN 패키지를 사용하여 공용 또는 전용 호스트 이름 패턴을 추가하는 방법을 보여줍니다. 사용자 ADMIN에 의해 실행된 코드 블록은 사용자 SCOTT가 도메인 *.myprivatesite.com의 끝점에 대해 HTTPS 액세스를 사용으로 설정합니다. 그런 다음 사용자 SCOTT가 새로 사용으로 설정된 끝점에 액세스하는 방법을 보여줍니다. 사용자 SCOTT에 대한 인증서 MY_CRED는 URI 접두어로 표시된 HTTP 요청에 대해 수행된 S3 호환 인증에 대한 액세스 키와 보안 키를 저장해야 합니다.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*.myprivatesite.com',
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'SCOTT',
principal_type => xs_acl.ptype_db),
private_target => TRUE );
END;
/
BEGIN
DBMS_CLOUD.get_object(
credential_name => 'MY_CRED',
object_uri => 's3://bucket.myprivatesite.com/file1.csv',
directory_name => 'MY_DIR' );
END;
/
퍼블릭 액세스가 가능한 고객 관리 엔드포인트
이 예에서는 공용 REST API에 액세스하기 위해 SCOTT 사용자를 등록하는 방법을 보여줍니다. ADMIN 사용자는 SCOTT 사용자에 대한 액세스를 제공하기 위해 호스트에 대한 네트워크 ACL을 만듭니다.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'data.cms.gov',
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'SCOTT',
principal_type => xs_acl.ptype_db)
);
END;
/
SELECT DBMS_CLOUD.get_response_text(
DBMS_CLOUD.send_request(
uri => 'public://data.cms.gov/provider-data/api/1/datastore/imports/a',
method => DBMS_CLOUD.METHOD_GET,
headers => JSON_OBJECT('Accept' VALUE 'application/json')
)
)
FROM DUAL;
/