Formats d'URI DBMS_CLOUD
Décrit le format des URI de fichier source dans les opérations avec DBMS_CLOUD. Le format dépend du service de stockage d'objets que vous utilisez.
DBMS_CLOUD garantit une communication sécurisée et tout URI que vous spécifiez doit utiliser HTTPS, avec https:// comme préfixe pour l'URI.
- Format d'URI natif d'Oracle Cloud Infrastructure Object Storage
- Format d'URI Swift d'Oracle Cloud Infrastructure Object Storage
- Format d'URI d'Oracle Cloud Infrastructure Object Storage à l'aide de l'URL de demande préauthentifiée
- Format URI à l'aide de l'URL publique
- Format d'URI du service Stockage d'objets pour Oracle Cloud Infrastructure version classique
- Variables de substitution dans les URL Oracle Cloud Infrastructure (OCI)
Vous pouvez fournir des variables de substitution prédéfinies dans vos URL Oracle Cloud Infrastructure (OCI) lorsque vous fournissez l'URI du paramètreobject_uripour les procédures et fonctionsDBMS_CLOUD. - Format d'URI Amazon S3
- Format d'URI Azure Blob Storage ou Azure Data Lake Storage
- Format d'URI compatible Amazon S3
- GitHub Raw URL Format
DBMS_CLOUDsupports GitHub Raw URLs to access data from a GitHub Repository. - Formats supplémentaires d'URI géré par le client
En plus desURIspréconfigurés et reconnus avec leurs noms de domaine complets (FQDNs),DBMS_CLOUDne peut pas déterminer le modèle d'authentification approprié pour les points d'extrémité gérés par le clientURIs. Dans ces cas,DBMS_CLOUDs'appuie sur le modèleURIapproprié pour identifier le modèle d'authentification pour le point d'extrémité géré par le client.
Rubrique parent : DBMS_CLOUD Ensemble
Format d'URI natif d'Oracle Cloud Infrastructure Object Storage
Si vos fichiers sources résident sur Oracle Cloud Infrastructure Object Storage dans le domaine commercial (OC1), il est recommandé d'utiliser le format d'URI suivant qui utilise des points d'extrémité dédiés au stockage d'objets. Pour plus d'informations, voir Points d'extrémité dédiés du service de stockage d'objets.
https://namespace-string.objectstorage.region.oci.customer-oci.com/n/namespace-string/b/bucketname/o/filenameLes URL de point d'extrémité dédié au magasin d'objets OCI ne sont prises en charge que dans les domaines commerciaux (OC1).
Si vos fichiers sources résident dans le service Oracle Cloud Infrastructure Object Storage et ne se trouvent pas dans le domaine commercial (OC1), vous devez utiliser le format suivant :
https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o/filenamePar exemple, dans le domaine commercial (OC1), l'URI natif du fichier channels.txt dans le seau bucketname du centre de données Phoenix est :
https://namespace.objectstorage.region.oci.customer-oci.com/n/namespace/b/bucketname/o/channels.txtDans cet exemple, namespace-string est l'espace de noms du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.
DBMS_CLOUD :
-
my$home_region: Spécifie la région principale de votre location Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$home_regionest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
-
my$region: Spécifie la région Oracle Cloud Infrastructure (OCI) de votre base de données d'IA autonome.La variable de substitutionmy$regionest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$cloud_domain: Spécifie le nom de domaine Oracle Cloud Infrastructure (OCI) pour Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$cloud_domainest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$namespace: Spécifie l'espace de noms du service de stockage d'objets pour Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$namespaceest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
-
my$compartment: Spécifie l'OCID de votre compartiment.La variable de substitutionmy$compartmentest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$tenancy: Spécifie l'OCID de votre location.La variable de substitutionmy$tenancyest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'Vous pouvez trouver l'URI dans le menu de points de suspension de droite d'Oracle Cloud Infrastructure Object Storage "Détails de l'objet" dans le magasin d'objets :
- Ouvrez la console Oracle Cloud Infrastructure en cliquant sur
à côté d'Oracle Cloud.
- Dans le menu de navigation de gauche d'Oracle Cloud Infrastructure, cliquez sur Infrastructure de base. Sous Stockage d'objets, cliquez sur Stockage d'objets.
- Sous Portée de la liste, sélectionnez un compartiment.
- Dans la colonne Nom, sélectionnez un seau.
- Dans la zone Objets, cliquez sur Voir les détails de l'objet.
- Dans la page Détails de l'objet, le champ Chemin de l'URL (URI) affiche l'URI permettant d'accéder à l'objet.
Les fichiers sources doivent être stockés dans un compartiment de niveau de stockage d'objets. La base de données autonome d'IA ne prend pas en charge les compartiments du niveau de stockage d'archives. Voir Aperçu du stockage d'objets pour plus d'informations.
Rubrique parent : Formats d'URI DBMS_CLOUD
Format d'URI Swift d'Oracle Cloud Infrastructure Object Storage
Si vos fichiers sources résident sur Oracle Cloud Infrastructure Object Storage dans le domaine commercial (OC1), il est recommandé d'utiliser le format d'URI suivant qui utilise des points d'extrémité dédiés au stockage d'objets. Pour plus d'informations, voir Points d'extrémité dédiés du service de stockage d'objets.
https://namespace-string.swiftobjectstorage.region.oci.customer-oci.com/v1/namespace-string/bucket/filenameLes URL de point d'extrémité dédié au magasin d'objets OCI ne sont prises en charge que dans les domaines commerciaux (OC1).
Si vos fichiers sources résident dans le service Oracle Cloud Infrastructure Object Storage et ne se trouvent pas dans le domaine commercial (OC1), vous devez utiliser le format suivant :
https://swiftobjectstorage.region.oraclecloud.com/v1/namespace-string/bucket/filenamePar exemple, dans le domaine commercial (OC1), l'URI Swift pour le fichier channels.txt dans le seau bucketname du centre de données Phoenix est :
https://namespace-string.swiftobjectstorage.us-phoenix-1.oci.customer-oci.com/v1/namespace-string/bucketname/channels.txtDans cet exemple, namespace-string est l'espace de noms du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.
Les fichiers sources doivent être stockés dans un compartiment de niveau de stockage d'objets. La base de données autonome d'IA ne prend pas en charge les compartiments du niveau de stockage d'archives. Voir Aperçu du stockage d'objets pour plus d'informations.
-
my$home_region: Spécifie la région principale de votre location Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$home_regionest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
-
my$region: Spécifie la région Oracle Cloud Infrastructure (OCI) de votre base de données d'IA autonome.La variable de substitutionmy$regionest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$cloud_domain: Spécifie le nom de domaine Oracle Cloud Infrastructure (OCI) pour Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$cloud_domainest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$namespace: Spécifie l'espace de noms du service de stockage d'objets pour Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$namespaceest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
-
my$compartment: Spécifie l'OCID de votre compartiment.La variable de substitutionmy$compartmentest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$tenancy: Spécifie l'OCID de votre location.La variable de substitutionmy$tenancyest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
Rubrique parent : Formats d'URI DBMS_CLOUD
Format d'URI d'Oracle Cloud Infrastructure Object Storage à l'aide d'une URL de demande préauthentifiée
Si vos fichiers sources résident sur le service Oracle Cloud Infrastructure Object Storage, vous pouvez utiliser les URI préauthentifiés d'Oracle Cloud Infrastructure. Lorsque vous créez une demande préauthentifiée, une URL unique est générée. Vous pouvez ensuite fournir l'URL unique aux utilisateurs de votre organisation, partenaires ou tiers pour accéder à la cible de ressource de stockage d'objets identifiée dans la demande préauthentifiée.
Évaluez attentivement les besoins de l'entreprise et les ramifications de sécurité de l'accès préauthentifié. Lorsque vous créez l'URL de la demande préauthentifiée, notez Expiration et le type d'accès pour vous assurer qu'ils sont appropriés pour votre utilisation.
Une URL de demande préauthentifiée permet à toute personne qui en dispose d'accéder aux cibles identifiées dans la demande tant que celle-ci est active. En plus de tenir compte des besoins opérationnels de l'accès préauthentifié, il est tout aussi important de gérer sa distribution.
Si vos fichiers sources résident sur Oracle Cloud Infrastructure Object Storage dans le domaine commercial (OC1), il est recommandé d'utiliser le format d'URI suivant qui utilise des points d'extrémité dédiés au stockage d'objets. Pour plus d'informations, voir Points d'extrémité dédiés du service de stockage d'objets.
https://namespace-string.objectstorage.region.oci.customer-oci.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
Les URL de point d'extrémité dédié au magasin d'objets OCI ne sont prises en charge que dans les domaines commerciaux (OC1).
Si vos fichiers sources résident dans le service Oracle Cloud Infrastructure Object Storage et ne se trouvent pas dans le domaine commercial (OC1), vous devez utiliser le format suivant :
https://objectstorage.region.oraclecloud.com.com/p/encrypted_string/n/namespace-string/b/bucket/o/filename
Par exemple, dans le domaine commercial (OC1), un exemple d'URI préauthentifié pour le fichier channels.txt dans le seau bucketname du centre de données Phoenix est :
https://namespace-string.objectstorage.us-phoenix-1.oci.customer-oci.com/p/2xN-uDtWJNsiD910UCYGue/n/namespace-string/b/bucketname/o/channels.txt
Dans cet exemple, namespace-string est l'espace de noms du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.
Vous pouvez utiliser une URL préauthentifiée dans n'importe quelle procédure DBMS_CLOUD qui utilise une URL pour accéder aux fichiers du magasin d'objets Oracle Cloud Infrastructure, sans avoir à créer de données d'identification. Vous devez spécifier le paramètre credential_name en tant que NULL ou ne pas fournir de paramètre credential_name.
Exemple :
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;
/Une liste d'URL mixtes est valide. Si la liste d'URL contient à la fois des URL préauthentifiées et des URL nécessitant une authentification,
DBMS_CLOUD utilise la valeur credential_name spécifiée pour accéder aux URL nécessitant une authentification et, pour les URL préauthentifiées, la valeur credential_name spécifiée est ignorée.
Pour plus d'informations, voir Utilisation des demandes préauthentifiées.
DBMS_CLOUD :
-
my$home_region: Spécifie la région principale de votre location Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$home_regionest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
-
my$region: Spécifie la région Oracle Cloud Infrastructure (OCI) de votre base de données d'IA autonome.La variable de substitutionmy$regionest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$cloud_domain: Spécifie le nom de domaine Oracle Cloud Infrastructure (OCI) pour Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$cloud_domainest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$namespace: Spécifie l'espace de noms du service de stockage d'objets pour Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$namespaceest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
-
my$compartment: Spécifie l'OCID de votre compartiment.La variable de substitutionmy$compartmentest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$tenancy: Spécifie l'OCID de votre location.La variable de substitutionmy$tenancyest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'Rubrique parent : Formats d'URI DBMS_CLOUD
Format d'URI à l'aide d'une URL publique
Si vos fichiers sources résident dans un magasin d'objets qui fournit des URL publiques, vous pouvez utiliser des URL publiques avec des procédures DBMS_CLOUD. Public signifie que le service de stockage d'objets prend en charge l'accès anonyme et non authentifié aux fichiers du magasin d'objets. Consultez votre service de stockage d'objets en nuage pour plus de détails sur la façon de rendre un objet public dans un magasin d'objets pris en charge.
Évaluez soigneusement les besoins d'affaires et les ramifications de sécurité liées à l'utilisation d'URL publiques. Lorsque vous utilisez des URL publiques, car le contenu du fichier n'est pas authentifié, assurez-vous que cela est approprié pour votre utilisation.
Vous pouvez utiliser une URL publique dans n'importe quelle procédure DBMS_CLOUD qui utilise une URL pour accéder aux fichiers de votre magasin d'objets, sans avoir à créer de données d'identification. Vous devez spécifier le paramètre credential_name en tant que NULL ou ne pas fournir de paramètre credential_name.
Par exemple, la commande suivante utilise DBMS_CLOUD.COPY_DATA sans credential_name :
BEGIN
DBMS_CLOUD.COPY_DATA(
table_name =>'CHANNELS',
file_uri_list =>'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/chan_v3.dat',
format => json_object('delimiter' value ',') );
END;
/Dans cet exemple, namespace-string est l'espace de noms du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.
Une liste d'URL mixtes est valide. Si la liste d'URL contient à la fois des URL publiques et des URL nécessitant une authentification,
DBMS_CLOUD utilise la valeur credential_name spécifiée pour accéder aux URL nécessitant une authentification et, pour les URL publiques, la valeur credential_name spécifiée est ignorée.
Voir Compartiments publics pour plus d'informations sur l'utilisation des compartiments publics d'Oracle Cloud Infrastructure.
DBMS_CLOUD :
-
my$home_region: Spécifie la région principale de votre location Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$home_regionest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
-
my$region: Spécifie la région Oracle Cloud Infrastructure (OCI) de votre base de données d'IA autonome.La variable de substitutionmy$regionest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$cloud_domain: Spécifie le nom de domaine Oracle Cloud Infrastructure (OCI) pour Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$cloud_domainest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$namespace: Spécifie l'espace de noms du service de stockage d'objets pour Oracle Cloud Infrastructure (OCI).La variable de substitutionmy$namespaceest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
-
my$compartment: Spécifie l'OCID de votre compartiment.La variable de substitutionmy$compartmentest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
-
my$tenancy: Spécifie l'OCID de votre location.La variable de substitutionmy$tenancyest prise en charge uniquement avec les types de données d'identification suivants :-
Clé de signature d'API OCI
-
Principal de ressource OCI
-
Jeton d'authentification/Données d'identification Swift
-
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'Rubrique parent : Formats d'URI DBMS_CLOUD
Format d'URI du service Stockage d'objets pour Oracle Cloud Infrastructure version classique
Si vos fichiers sources résident dans le service Stockage d'objets pour Oracle Cloud Infrastructure version classique, reportez-vous à la page REST pour obtenir une description du format d'URI permettant d'accéder à vos fichiers : À propos des URL REST pour les ressources du service de stockage d'objets pour Oracle Cloud Infrastructure version classique.
Rubrique parent : Formats d'URI DBMS_CLOUD
Variables de substitution dans les URL Oracle Cloud Infrastructure (OCI)
Vous pouvez fournir des variables de substitution prédéfinies dans vos URL Oracle Cloud Infrastructure (OCI) lorsque vous fournissez un URI pour le paramètre object_uri pour les procédures et fonctions DBMS_CLOUD.
Ces variables de substitution sont des paramètres fictifs prédéfinis tels que my$home_region et my$tenancy, qui sont résolus et remplacés par les valeurs réelles correspondantes en fonction du contexte d'exécution de votre base de données IA autonome. Les valeurs propres à l'environnement, telles que l'OCID ou l'espace de noms de la location, ne sont pas codées en dur, ce qui rend votre code SQL dynamique et portable à déployer dans plusieurs régions (pour les API REST OCI).
Voici les avantages liés à l'utilisation de variables de substitution dans les URL OCI :
-
Le code SQL est moins sujet aux erreurs car les variables de substitution éliminent la nécessité de fournir des valeurs codées en dur. Ceci est particulièrement utile lors de l'utilisation d'identifiants longs.
-
Le code SQL est portable et n'est pas propre à une région ou à un environnement. Le même code SQL peut être réutilisé et déployé dans plusieurs régions pour les API REST OCI sans avoir à identifier la région courante.
-
Le basculement inter-région pour une base de données autonome avec intelligence artificielle à l'aide des API REST d'OCI est pratique et moins sujet aux erreurs.
Le tableau suivant répertorie chaque variable de substitution, ainsi que le type de données d'identification pris en charge correspondant et un exemple de valeur :
| Nom du paramètre | Description | Types de données d'identification pris en charge | Exemple de valeur |
|---|---|---|---|
|
|
Spécifie la région principale de votre location Oracle Cloud Infrastructure (OCI). |
|
|
|
|
Spécifie la région Oracle Cloud Infrastructure (OCI) de votre base de données d'IA autonome. |
|
|
|
|
Spécifie le nom de domaine Oracle Cloud Infrastructure (OCI) pour Oracle Cloud Infrastructure (OCI). |
|
|
|
|
Spécifie l'espace de noms du service de stockage d'objets pour Oracle Cloud Infrastructure (OCI). |
|
|
|
|
Spécifie l'OCID de votre compartiment. |
|
|
|
|
Spécifie l'OCID de votre location. |
|
|
Exemple d'utilisation de variables de substitution prédéfinies pour accéder à un fichier de stockage d'objets :
SELECT TO_CLOB(DBMS_CLOUD.GET_OBJECT (
credential_name => credential_name,
object_uri => 'https://objectstorage.my$region.my$cloud_domain/n/my$namespace/b/bucket_name/o/file_name'))
FROM DUAL;Exemple d'utilisation de variables de substitution prédéfinies pour accéder au fichier de rapport de coûts OCI :
SELECT TO_CLOB(DBMS_CLOUD.GET_OBJECT (
credential_name => credential_name,
object_uri => 'https://objectstorage.my$home_region.my$cloud_domain/n/namespace-string/b/my$tenancy/o/reports/cost-csv/file_name.csv.gz',
compression => DBMS_CLOUD.COMPRESS_GZIP))
FROM DUAL;Rubrique parent : Formats d'URI DBMS_CLOUD
Format d'URI Amazon S3
Si vos fichiers sources résident dans Amazon S3, consultez la description suivante du format d'URI pour accéder à vos fichiers : Accès à un seau.
Par exemple, ce qui suit fait référence au fichier channels.txt dans le seau adb de la région us-west-2.
https://s3-us-west-2.amazonaws.com/adb/channels.txt
Vous pouvez utiliser une URL prédéfinie dans n'importe quelle procédure DBMS_CLOUD qui utilise une URL pour accéder aux fichiers du magasin d'objets Amazon S3, sans avoir à créer de données d'identification. Pour utiliser une URL prédéfinie dans une procédure DBMS_CLOUD, spécifiez le paramètre credential_name comme NULL ou n'indiquez pas de paramètre credential_name.
Pour plus d'informations, voir Partager un objet avec d'autres.
DBMS_CLOUD prend en charge la syntaxe de point d'extrémité Amazon S3 standard pour accéder à vos seaux. DBMS_CLOUD ne prend pas en charge les points d'extrémité existants d'Amazon S3. Pour plus d'informations, voir Points d'extrémité existants.
Rubrique parent : Formats d'URI DBMS_CLOUD
Azure Blob Storage ou Azure Data Lake Storage URI Format
Si vos fichiers sources résident dans Azure Blob Storage ou Azure Data Lake Storage, voir la description suivante du format d'URI pour accéder à vos fichiers : Syntaxe de l'URI de la ressource.
Par exemple, ce qui suit fait référence au fichier channels.txt dans le conteneur adb du compte de stockage adb_user :
https://adb_user.blob.core.windows.net/adb/channels.txtVous pouvez utiliser l'URL des signatures d'accès partagé (SAS) dans n'importe quelle procédure
DBMS_CLOUD qui prend une URL pour accéder aux fichiers dans Azure Blob Storage ou Azure Data Lake Storage, sans avoir à créer de données d'identification. Pour utiliser une URL de signature d'accès partagé (SAS), spécifiez le paramètre credential_name comme NULL ou n'indiquez pas de paramètre credential_name.
Pour plus d'informations, voir Accorder un accès limité aux ressources de stockage Azure à l'aide des signatures d'accès partagé.
Rubrique parent : Formats d'URI DBMS_CLOUD
Format d'URI compatible Amazon S3
DBMS_CLOUD prend en charge les mises en oeuvre du service de stockage d'objets qui prennent en charge les URL compatibles avec Amazon S3, notamment les services suivants :
- Oracle Cloud Infrastructure Object Storage avec URL compatible Amazon S3
- Google Cloud Storage avec URL compatible Amazon S3
- Wasabi Hot Cloud Storage avec URL compatible Amazon S3
Pour utiliser
DBMS_CLOUD avec un magasin d'objets compatible Amazon S3, vous devez fournir des données d'identification valides. Pour plus d'informations, voir ProcédureCREATE_CREDENTIAL.
Si vos fichiers sources résident sur un service qui prend en charge les URI compatibles avec Amazon S3, utilisez le format d'URI suivant pour accéder à vos fichiers :
-
URL compatible S3 du service Oracle Cloud Infrastructure Object Storage
Si vos fichiers sources résident sur Oracle Cloud Infrastructure Object Storage dans le domaine commercial (OC1), il est recommandé d'utiliser les formats d'URL d'objet et d'URL de seau indiqués ci-dessous pour le domaine commercial (OC1). Pour plus d'informations, voir Points d'extrémité dédiés du service de stockage d'objets.
Note
Les URL de point d'extrémité dédié au magasin d'objets OCI ne sont prises en charge que dans les domaines commerciaux (OC1).Formats d'URL d'objet
-
Pris en charge uniquement dans le domaine commercial (OC1) :
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name/object_name -
Prise en charge dans toutes les zones :
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name/object_name
Formats d'URL de seau :
-
Pris en charge uniquement dans le domaine commercial (OC1) :
https://mynamespace.compat.objectstorage.region.oci.customer-oci.com/bucket_name -
Prise en charge dans toutes les zones :
https://mynamespace.compat.objectstorage.region.oraclecloud.com/bucket_name
Pour plus d'informations, voir Compatibilité avec Amazon S3 et API du service de stockage d'objets.
-
-
URL compatible S3 de Google Cloud Storage
Format d'URL d'objet :
https://bucketname.storage.googleapis.com/object_nameFormat d'URL de seau :
https://bucketname.storage.googleapis.com/Pour plus d'informations, voir Migration d'Amazon S3 vers Cloud Storage et Points d'extrémité de demande.
-
URL compatible Wasabi S3
Format d'URL d'objet :
https://bucketname.s3.region.wasabisys.com/object_nameFormat d'URL de seau :
https://bucketname.s3.region.wasabisys.com/Pour plus d'informations, voir Informations de référence sur l'API Wasabi S3 et URL de service pour les régions de stockage de Wasabi.
Rubrique parent : Formats d'URI DBMS_CLOUD
Format d'URL brute GitHub
DBMS_CLOUD prend en charge les URL brutes GitHub pour accéder aux données à partir d'un référentiel GitHub.
Pour l'accès
DBMS_CLOUD avec des URL brutes GitHub, l'accès au référentiel est limité à la fonctionnalité en lecture seule. Les API DBMS_CLOUD telles que DBMS_CLOUD.PUT_OBJECT qui écrivent des données ne sont pas prises en charge avec les API DBMS_CLOUD dans un référentiel GitHub.
Vous pouvez également utiliser DBMS_CLOUD_REPO.PUT_FILE pour charger des données dans un référentiel GitHub.
Utilisez les URL brutes GitHub avec les API DBMS_CLOUD pour accéder aux fichiers sources qui résident dans un référentiel GitHub. Lorsque vous naviguez jusqu'à un fichier sur GitHub et cliquez sur le lien Brut, l'URL brute GitHub s'affiche. Le domaine raw.githubusercontent.com fournit des versions non traitées des fichiers stockés dans les référentiels GitHub.
Par exemple, en utilisant DBMS_CLOUD.GET_OBJECT :
BEGIN
DBMS_CLOUD.GET_OBJECT(
credential_name => 'MY_CRED',
object_uri => 'https://raw.githubusercontent.com/myaccount/myrepo/master/data-management-library/autonomous-database/adb-loading.csv',
directory_name => 'DATA_PUMP_DIR'
);
END;
/Par exemple, en utilisant DBMS_CLOUD.CREATE_EXTERNAL_TABLE :
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
credential_name => 'MY_CRED',
table_name => 'EMPLOYEES_EXT',
file_uri_list => 'https://raw.githubusercontent.com/myaccount/myrepo/master/data-management-library/autonomous-database/*.csv',
column_list => 'name varchar2(30), gender varchar2(30), salary number',
format => JSON_OBJECT('type' value 'csv')
);
END;
/
SELECT * FROM employees_ext;Les procédures DBMS_CLOUD qui utilisent une URL pour accéder à un référentiel GitHub ne nécessitent pas de données d'identification avec une visibilité publique des référentiels GitHub. Pour utiliser une URL de visibilité publique, vous pouvez spécifier le paramètre credential_name en tant que NULL ou ne pas fournir de paramètre credential_name. Pour plus d'informations, voir Définition de la visibilité du référentiel.
Rubrique parent : Formats d'URI DBMS_CLOUD
Formats d'URI supplémentaires gérés par le client
URIs préconfiguré et reconnu avec ses noms de domaine complets (FQDNs), DBMS_CLOUD ne peut pas déterminer le modèle d'authentification approprié pour les points d'extrémité gérés par le client URIs. Dans ces cas, DBMS_CLOUD s'appuie sur le modèle URI approprié pour identifier le modèle d'authentification pour le point d'extrémité géré par le client.
| Modèle d'URI | Type d'authentification | Description de la méthode d'accès | Exemple d'URI |
|---|---|---|---|
| de base :// | Authentification de base | Le nom d'utilisateur et le mot de passe stockés dans l'objet de données d'identification de base de données sont utilisés pour authentifier la demande HTTP | basic://api.github.com/users/myaccount |
| porteur :// | authentification par jeton du porteur | Le jeton de porteur stocké dans le champ de mot de passe de l'objet de données d'identification de base de données est utilisé pour spécifier l'en-tête d'autorisation de la demande HTTP | bearer://api.sendgrid.com/v3/resource |
| oci :// | OCI natif | Clé de signature OCI obtenue à partir de l'objet de données d'identification de base de données stocké et utilisé pour signer des demandes à l'aide du protocole d'authentification OCI | oci://objectstorage.us-ashburn-1.oraclecloud.com |
| public :// | Aucune authentification | URL publiques | public://cms.data.gov/ |
| s3:// | Compatible avec S3 Amazon Web Services | Clé d'accès et clé secrète obtenues à partir du champ nom d'utilisateur/mot de passe de l'objet de données d'identification de base de données, et authentification compatible S3 effectuée pour la demande HTTP. | s3://bucket.myprivatesite.com/file1.csv |
Exemples :
Point d'extrémité géré par le client à l'aide d'une authentification compatible avec S3.
Cet exemple montre comment, pour la nouvelle version de URIs, les clients peuvent ajouter le modèle de nom d'hôte public ou privé à l'aide de l'ensemble DBMS_NETWORK_ACL_ADMIN. Le bloc de code, exécuté par l'utilisateur ADMIN, permet à HTTPS d'accéder aux points d'extrémité du domaine *.myprivatesite.com pour l'utilisateur SCOTT. Il montre ensuite comment l'utilisateur SCOTT accède au point d'extrémité nouvellement activé. Notez que les données d'identification MY_CRED pour l'utilisateur SCOTT doivent stocker la clé d'accès et la clé secrète pour l'authentification compatible S3 effectuée pour la demande HTTP indiquée par le préfixe URI.
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;
/
Point d'extrémité géré par le client avec accès public
Cet exemple montre comment enregistrer l'utilisateur SCOTT pour accéder aux API REST publiques. L'utilisateur ADMIN crée une liste de contrôle d'accès réseau pour l'hôte afin de fournir l'accès à l'utilisateur SCOTT.
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;
/Rubrique parent : Formats d'URI DBMS_CLOUD
