Chargement de données dans Autonomous Database à partir d'AWS S3

Cet exemple montre comment charger des données du stockage d'objets Amazon S3 vers Autonomous Database.

Vous disposez de différentes options pour effectuer le chargement de données dans Autonomous Database, par exemple :

  • Utilisation des options d'interface utilisateur : vous pouvez utiliser l'interface utilisateur de l'outil de chargement Data Studio pour créer des informations d'identification pour l'emplacement de banque cloud, sélectionner des fichiers contenant des données et exécuter des travaux de chargement de données.

    Reportez-vous à Loading Data from Cloud Storage

  • Utilisation des API Rest Data Services : Vous pouvez utiliser les API de l'outil de chargement Data Studio pour créer des liens vers l'emplacement de la banque cloud et exécuter des travaux de chargement de données.

    Reportez-vous à Utilisation des API de chargement de données Data Studio dans PL/SQL

  • Utilisation des commandes SQL comme expliqué dans cet exemple.

Toutes ces méthodes utilisent le même package PL/SQL DBMS_CLOUD pour le chargement des données. Toutefois, Data Studio offre des avantages supplémentaires par rapport aux commandes SQL. Il permet non seulement d'analyser la source et de créer des définitions de table, mais aussi d'effectuer des contrôles de validation.

Vous avez besoin d'informations d'identification d'accès AWS pour l'authentification de compte utilisateur et d'une URL d'objet pour accéder à l'objet dans le bucket Amazon S3.

Pour charger des données à partir d'un bucket Amazon S3, procédez comme suit :
  1. Créez des informations d'identification pour le compte utilisateur AWS dans Autonomous Database.

  2. Copiez les données du bucket Amazon S3 vers la base de données.

Rubriques

Préparation du chargement des données à partir d'AWS S3

Vérifiez les prérequis et préparez le chargement des données à partir d'Amazon S3.

Prérequis

Un fichier de données, par exemple data.txt, existe dans le bucket Amazon S3 que vous pouvez importer. L'exemple de fichier de cet exemple comporte les éléments suivants :
1,Direct Sales
2,Tele Sales
3,Catalog
4,Internet
5,Partners

Côté AWS, connectez-vous à votre compte AWS et procédez comme suit :

  1. Accordez des privilèges d'accès à l'utilisateur AWS IAM pour le bucket Amazon S3.
    Pour plus d'informations, reportez-vous à Contrôle de l'accès à un bucket avec des stratégies utilisateur.
  2. Créez une clé d'accès pour l'utilisateur.
    Pour plus d'informations, reportez-vous à Gestion des clés d'accès pour les utilisateurs IAM.
  3. Obtenez une URL d'objet pour le fichier de données stocké dans le bucket Amazon S3.

Procédure de chargement des données à partir d'AWS S3

Exécutez ces étapes pour charger des données d'Amazon S3 vers Autonomous Database.

  1. Stockez les informations d'identification d'accès AWS dans votre instance Autonomous Database et indiquez un nom d'informations d'identification. Cela permet à la base de données de s'authentifier auprès de votre compte utilisateur AWS et d'accéder aux éléments du bucket S3.
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'AWS_CRED_NAME',
        username => 'username',
        password => 'password'
      );
    END;
    /
    Remarque

    Ici, le nom utilisateur est votre ID de clé d'accès AWS et le mot de passe est votre clé d'accès utilisateur.

    Pour obtenir des informations détaillées sur les paramètres, reportez-vous à Procédure CREATE_CREDENTIAL.

    La création d'informations d'identification pour accéder aux ressources AWS n'est pas requise si vous activez les noms de ressource Amazon. Pour plus d'informations, reportez-vous à Utilisation des noms de ressource Amazon pour accéder aux ressources AWS.

    Vous pouvez éventuellement tester l'accès au bucket S3 comme indiqué dans cet exemple.

    SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('AWS_CRED_NAME', ' https://aws-bucket-01.s3.amazonaws.com/');
    
  2. Créez dans la base de données une table dans laquelle vous souhaitez charger les données.
    CREATE TABLE mytable (id NUMBER, name VARCHAR2(64));
    
  3. Importez des données du bucket Amazon S3 vers votre instance Autonomous Database.
    Indiquez le nom de la table et le nom des informations d'identification AWS, suivis de l'URL de l'objet S3.
    BEGIN
          DBMS_CLOUD.COPY_DATA(
              table_name => 'mytable',
              credential_name => 'AWS_CRED_NAME',
              file_uri_list => https://aws-bucket-01.s3.amazonaws.com/data.txt',
              format => json_object('delimiter' value ',')
          );
    END;
    /

    Pour obtenir des informations détaillées sur les paramètres, reportez-vous à Procédure COPY_DATA.

Vous avez importé des données d'Amazon S3 vers votre instance Autonomous Database. Vous pouvez exécuter cette instruction et vérifier les données de votre table.
SELECT * FROM mytable;
ID  NAME
--  –-------------
 1  Direct Sales
 2  Tele Sales
 3  Catalog
 4  Internet
 5  Partners

Pour plus d'informations sur le chargement des données, reportez-vous à Chargement des données à partir de fichiers dans le cloud.