Utilisation des SQL extensions Aurora Postgre avec Babelfish - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des SQL extensions Aurora Postgre avec Babelfish

Aurora Postgre SQL fournit des extensions permettant de travailler avec d'autres AWS services. Il s'agit d'extensions facultatives qui prennent en charge divers cas d'utilisation, tels que l'utilisation d'Amazon S3 avec votre cluster de base de données pour importer ou exporter des données.

  • Pour importer des données d'un compartiment Amazon S3 vers votre cluster de base de données Babelfish, vous devez configurer l'extension aws_s3 Aurora SQL Postgre. Cette extension vous permet également d'exporter les données de votre cluster de SQL base de données Aurora Postgre vers un compartiment Amazon S3.

  • AWS Lambda est un service de calcul qui vous permet d'exécuter du code sans provisionner ni gérer de serveurs. Vous pouvez par exemple utiliser des fonctions Lambda pour traiter les notifications d'événements à partir de votre instance de base de données. Pour en savoir plus sur Lambda, veuillez consulter Qu'est-ce qu' AWS  Lambda ? dans le Guide du développeur AWS Lambda . Pour appeler des fonctions Lambda depuis votre cluster de base de données Babelfish, vous devez configurer l'extension Aurora aws_lambda Postgre. SQL

Pour configurer ces extensions pour votre cluster Babelfish, vous devez d'abord accorder à l'utilisateur Babelfish interne l'autorisation de charger les extensions. Après avoir accordé l'autorisation, vous pouvez charger les SQL extensions Aurora Postgre.

Activation des SQL extensions Aurora Postgre dans votre cluster de base de données Babelfish

Avant de pouvoir charger les extensions aws_s3 ou aws_lambda, vous accordez les privilèges nécessaires à votre cluster de base de données Babelfish.

La procédure suivante utilise l'outil de ligne de SQL commande psql Postgre pour se connecter au cluster de base de données. Pour de plus amples informations, veuillez consulter Utilisation de psql pour se connecter au cluster de bases de données. Vous pouvez également utiliser pgAdmin. Pour plus de détails, consultez Utilisation de pgAdmin pour se connecter au cluster de bases de données.

Cette procédure charge les extensions aws_s3 et aws_lambda l'une après l'autre. Si vous ne comptez utiliser que l'une de ces extensions, vous n'avez pas besoin de les charger toutes les deux. L'extension aws_commons est requise par chacune, et elle est chargée par défaut, comme indiqué dans la sortie.

Pour configurer votre cluster de base de données Babelfish avec des privilèges pour les extensions Aurora Postgre SQL
  1. Connectez-vous à votre cluster de base de données Babelfish. Utilisez le nom de l'utilisateur « principal » (-U) que vous avez spécifié lors de la création du cluster de base de données Babelfish. La valeur par défaut (postgres) est illustrée dans les exemples.

    Dans Linux, macOS, ou Unix:

    psql -h your-Babelfish.cluster.444455556666-us-east-1.rds.amazonaws.com \ -U postgres \ -d babelfish_db \ -p 5432

    Dans Windows:

    psql -h your-Babelfish.cluster.444455556666-us-east-1.rds.amazonaws.com ^ -U postgres ^ -d babelfish_db ^ -p 5432

    La commande répond par une invite à saisir le mot de passe du nom d'utilisateur (-U).

    Password:

    Saisissez le mot de passe du nom d'utilisateur (-U) du cluster de base de données. Lorsque vous serez connecté, vous obtiendrez une sortie similaire à ce qui suit.

    psql (13.4) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. postgres=>
  2. Accordez des privilèges à l'utilisateur Babelfish interne pour créer et charger des extensions.

    babelfish_db=> GRANT rds_superuser TO master_dbo; GRANT ROLE
  3. Créez et chargez l'extension aws_s3. L'extension aws_commons est nécessaire et elle est installée automatiquement lorsque l'extension aws_s3 est installée.

    babelfish_db=> create extension aws_s3 cascade; NOTICE: installing required extension "aws_commons" CREATE EXTENSION
  4. Créez et chargez l'extension aws_lambda.

    babelfish_db=> create extension aws_lambda cascade; CREATE EXTENSION babelfish_db=>

Utilisation de Babelfish avec Amazon S3

Si vous ne disposez pas d'un compartiment Amazon S3 à utiliser avec votre cluster de base de données Babelfish, vous pouvez en créer un. Vous devez accorder l'accès pour tout compartiment Amazon S3 que vous souhaitez utiliser.

Avant d'essayer d'importer ou d'exporter des données à l'aide d'un compartiment Amazon S3, suivez les étapes uniques suivantes.

Pour configurer l'accès de votre instance de base de données Babelfish à votre compartiment Amazon S3
  1. Créez un compartiment Amazon S3 pour votre instance Babelfish, si nécessaire. Pour ce faire, suivez les instructions de la section Create a Bucket (Créer un compartiment) dans le Guide de l'utilisateur Amazon Simple Storage Service.

  2. Chargez les fichiers dans votre compartiment Amazon S3. Pour ce faire, suivez les étapes de la section Add an object to a bucket (Ajouter un objet à un compartiment) dans le Guide de l'utilisateur Amazon Simple Storage Service.

  3. Configurez les autorisations nécessaires :

    • Pour importer des données à partir d'Amazon S3, le cluster de base de données Babelfish doit être autorisé à accéder au compartiment. Nous vous recommandons d'utiliser un rôle AWS Identity and Access Management (IAM) et d'associer une IAM politique à ce rôle pour votre cluster. Pour ce faire, suivez les étapes de Utilisation d'un IAM rôle pour accéder à un compartiment Amazon S3.

    • Pour exporter des données à partir de votre cluster de base de données Babelfish, votre cluster doit avoir accès au compartiment Amazon S3. Comme pour l'importation, nous vous recommandons d'utiliser un IAM rôle et une politique. Pour ce faire, suivez les étapes de Configuration de l'accès à un compartiment Amazon S3.

Vous pouvez désormais utiliser Amazon S3 avec l'extension aws_s3 et votre cluster de base de données Babelfish.

Pour importer des données à partir d'Amazon S3 vers Babelfish et pour exporter des données Babelfish vers Amazon S3
  1. Utilisez l'extension aws_s3 avec votre cluster de base de données Babelfish.

    Lorsque vous le faites, assurez-vous de référencer les tables telles qu'elles existent dans le contexte de PostgreSQL. En d'autres termes, si vous souhaitez importer vers une table Babelfish nommée [database].[schema].[tableA], référez-vous à cette table en tant que database_schema_tableA dans la fonctionaws_s3 :

  2. Assurez-vous de référencer les tables Babelfish en utilisant le nom SQL Postgre lorsque vous utilisez l'aws_s3extension et Amazon S3, comme indiqué dans le tableau suivant.

Table Babelfish

Table Aurora Postgre SQL

database.schema.table

database_schema_table

Pour en savoir plus sur l'utilisation d'Amazon S3 avec Aurora PostgreSQL, consultez Importation de données depuis Amazon S3 dans un cluster de SQL base de données Aurora Postgre RDS etExportation de données depuis un cluster de SQL base de données Aurora Postgre RDS S3.

Utiliser Babelfish avec AWS Lambda

Après le chargement de l'extension aws_lambda dans votre cluster de base de données Babelfish, mais avant l'appel des fonctions Lambda, accordez à Lambda l'accès à votre cluster de base de données en suivant cette procédure.

Pour configurer l'accès à votre cluster de base de données Babelfish afin qu'il fonctionne avec Lambda

Cette procédure utilise le AWS CLI pour créer la IAM politique et le rôle, et les associer au cluster de base de données Babelfish.

  1. Créez une IAM politique qui autorise l'accès à Lambda depuis votre cluster de base de données Babelfish.

    aws iam create-policy --policy-name rds-lambda-policy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToExampleFunction", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:aws-region:444455556666:function:my-function" } ] }'
  2. Créez un IAM rôle que la politique peut assumer lors de l'exécution.

    aws iam create-role --role-name rds-lambda-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. Attachez la stratégie au rôle.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::444455556666:policy/rds-lambda-policy \ --role-name rds-lambda-role --region aws-region
  4. Attacher le rôle à votre cluster de base de données Babelfish

    aws rds add-role-to-db-cluster \ --db-cluster-identifier my-cluster-name \ --feature-name Lambda \ --role-arn arn:aws:iam::444455556666:role/rds-lambda-role \ --region aws-region

Une fois ces tâches terminées, vous pouvez appeler vos fonctions Lambda. Pour plus d'informations et des exemples de configuration d'un cluster AWS Lambda de SQL base de données Aurora Postgre avec AWS Lambda, consultezÉtape 2 : Configuration de votre cluster IAM de SQL base de données Aurora Postgre RDS et AWS Lambda.

Pour appeler une fonction Lambda à partir de votre cluster de base de données Babelfish

AWS Lambda prend en charge les fonctions écrites en Java, Node.js, Python, Ruby et dans d'autres langages. Si la fonction renvoie du texte lorsqu'elle est appelée, vous pouvez l'appeler à partir de votre cluster de base de données Babelfish. L'exemple suivant est une fonction Python d'espace réservé qui renvoie un message de salutation.

lambda_function.py import json def lambda_handler(event, context): #TODO implement return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!')

Babelfish n'est actuellement pas compatible. JSON Si votre fonction revientJSON, vous utilisez un wrapper pour gérer leJSON. Par exemple, disons que la fonction lambda_function.py illustrée ci-dessus est stockée dans Lambda en tant que my-function.

  1. Connectez-vous à votre cluster de base de données Babelfish à l'aide du psql client (ou du pgAdmin client). Pour de plus amples informations, veuillez consulter Utilisation de psql pour se connecter au cluster de bases de données.

  2. Créez l'encapsuleur. Cet exemple utilise le langage procédural SQL de Postgre pourSQL,PL/pgSQL. Pour en savoir plus, consultez PL/Pg SQL — Langage SQL procédural.

    create or replace function master_dbo.lambda_wrapper() returns text language plpgsql as $$ declare r_status_code integer; r_payload text; begin SELECT payload INTO r_payload FROM aws_lambda.invoke( aws_commons.create_lambda_function_arn('my-function', 'us-east-1') ,'{"body": "Hello from Postgres!"}'::json ); return r_payload ; end; $$;

    La fonction peut désormais être exécutée depuis le port Babelfish (1433) ou depuis le TDS port Postgre SQL (5433).

    1. Pour invoquer (appeler) cette fonction depuis votre SQL port Postgre :

      SELECT * from aws_lambda.invoke(aws_commons.create_lambda_function_arn('my-function', 'us-east-1'), '{"body": "Hello from Postgres!"}'::json );

      La sortie est similaire à ce qui suit :

      status_code | payload | executed_version | log_result -------------+-------------------------------------------------------+------------------+------------ 200 | {"statusCode": 200, "body": "\"Hello from Lambda!\""} | $LATEST | (1 row)
    2. Pour invoquer (appeler) cette fonction depuis le TDS port, connectez-vous au port à l'aide du client de ligne de sqlcmd commande SQL du serveur. Pour plus de détails, consultez Utilisation d'un client SQL Server pour se connecter au cluster de bases de données. Une fois connecté, exécutez les opérations suivantes :

      1> select lambda_wrapper(); 2> go

      La commande renvoie un résultat semblable à ce qui suit :

      {"statusCode": 200, "body": "\"Hello from Lambda!\""}

Pour en savoir plus sur l'utilisation de Lambda avec Aurora PostgreSQL, consultez. Invoquer un AWS Lambda fonction d'un cluster de SQL base de données Aurora Postgre RDS Pour plus d'informations sur l'utilisation des fonctions Lambda, veuillez consulter Mise en route avec Lambda dans le Guide du développeur AWS Lambda .

Utilisation de pg_stat_statements dans Babelfish

Babelfish pour Aurora Postgre SQL prend en charge les pg_stat_statements extensions à partir de la version 3.3.0. Pour plus d'informations, consultez pg_stat_statements.

Pour plus de détails sur la version de cette extension prise en charge par Aurora PostgreSQL, consultez la section Versions des extensions.

Création de l'extension pg_stat_statements

Pour l'activer sur pg_stat_statements, vous devez activer le calcul de l'identifiant de la requête. Il s'active automatiquement si compute_query_id est défini sur on ou auto dans le groupe de paramètres. La valeur par défaut du paramètre compute_query_id est auto. Vous devez également créer cette extension pour activer cette fonctionnalité. Utilisez la commande suivante pour installer l'extension depuis le point de SQL terminaison T :

1>EXEC sp_execute_postgresql 'CREATE EXTENSION pg_stat_statements WITH SCHEMA sys';

Vous pouvez accéder aux statistiques des requêtes à l'aide de la requête suivante :

postgres=>select * from pg_stat_statements;
Note

Pendant l'installation, si vous ne fournissez pas le nom du schéma de l'extension, celle-ci sera créée par défaut dans le schéma public. Pour y accéder, vous devez utiliser des crochets avec un qualificateur de schéma, comme indiqué ci-dessous :

postgres=>select * from [public].pg_stat_statements;

Vous pouvez également créer l'extension depuis le PSQL point de terminaison.

Autorisation de l'extension

Par défaut, vous pouvez consulter les statistiques des requêtes effectuées dans votre SQL base de données T sans avoir besoin d'autorisation.

Pour accéder aux statistiques de requêtes créées par d'autres personnes, vous devez avoir le SQL rôle pg_read_all_stats Postgre. Suivez les étapes mentionnées ci-dessous pour créer la commande GRANT pg_read_all_stats.

  1. Dans T-SQL, utilisez la requête suivante qui renvoie le nom du rôle PG interne.

    SELECT rolname FROM pg_roles WHERE oid = USER_ID();
  2. Connectez-vous à la SQL base de données Babelfish for Aurora Postgre avec le privilège rds_superuser et utilisez la commande suivante :

    GRANT pg_read_all_stats TO <rolname_from_above_query>
Exemple

Depuis le point de SQL terminaison T :

1>SELECT rolname FROM pg_roles WHERE oid = USER_ID(); 2>go
rolname ------- master_dbo (1 rows affected)

Depuis le PSQL point de terminaison :

babelfish_db=# grant pg_read_all_stats to master_dbo;
GRANT ROLE

Vous pouvez accéder aux statistiques des requêtes à l'aide de la vue pg_stat_statements :

1>create table t1(cola int); 2>go 1>insert into t1 values (1),(2),(3); 2>go
(3 rows affected)
1>select userid, dbid, queryid, query from pg_stat_statements; 2>go
userid dbid queryid query ------ ---- ------- ----- 37503 34582 6487973085327558478 select * from t1 37503 34582 6284378402749466286 SET QUOTED_IDENTIFIER OFF 37503 34582 2864302298511657420 insert into t1 values ($1),($2),($3) 10 34582 NULL <insufficient privilege> 37503 34582 5615368793313871642 SET TEXTSIZE 4096 37503 34582 639400815330803392 create table t1(cola int) (6 rows affected)

Réinitialisation des statistiques des requêtes

Vous pouvez utiliser pg_stat_statements_reset() pour réinitialiser les statistiques recueillies jusqu'à présent par pg_stat_statements. Pour plus d'informations, consultez pg_stat_statements. Il est actuellement pris en charge uniquement via le PSQL point de terminaison. Connectez-vous à Babelfish for Aurora Postgre SQL avec des rds_superuser privilèges, utilisez la commande suivante :

SELECT pg_stat_statements_reset();

Limites

  • Actuellement, n'pg_stat_statements()est pas pris en charge via le SQL point de terminaison T. pg_stat_statementsl'affichage est la méthode recommandée pour recueillir les statistiques.

  • Certaines requêtes peuvent être réécrites par l'SQLanalyseur T implémenté par le SQL moteur Aurora Postgre. La pg_stat_statements vue affichera la requête réécrite et non la requête d'origine.

    Exemple

    select next value for [dbo].[newCounter];

    La requête ci-dessus est réécrite comme suit dans la vue pg_stat_statements.

    select nextval($1);
  • Selon le flux d'exécution des instructions, certaines requêtes peuvent ne pas être suivies par pg_stat_statements et ne seront pas visibles dans la vue. Elle comprend les instructions suivantes : use dbname, goto, print, raise error, set, throw, declare cursor.

  • ALTERLOGINLes instructions for CREATE LOGIN et, query et queryid ne seront pas affichés. Elle indiquera que les privilèges sont insuffisants.

  • La vue pg_stat_statements contient toujours les deux entrées ci-dessous, car elles sont exécutées en interne par le client sqlcmd.

    • SET QUOTED_IDENTIFIER OFF

    • SETTEXTSIZE4096

Utiliser pgvector dans Babelfish

pgvector, une extension open source, vous permet de rechercher des données similaires directement dans votre base de données Postgres. Babelfish supporte désormais cette extension à partir des versions 15.6 et 16.2. Pour plus d'informations, consultez la documentation open source de pgvector.

Prérequis

Pour activer la fonctionnalité pgvector, installez l'extension dans le schéma sys en utilisant l'une des méthodes suivantes :

  • Exécutez la commande suivante dans le client sqlcmd :

    exec sys.sp_execute_postgresql 'CREATE EXTENSION vector WITH SCHEMA sys';
  • Connectez-vous babelfish_db et exécutez la commande suivante dans le client psql :

    CREATE EXTENSION vector WITH SCHEMA sys;
Note

Après avoir installé l'extension pgvector, le type de données vectorielles ne sera disponible que dans les nouvelles connexions à la base de données que vous établirez. Les connexions existantes ne reconnaîtront pas le nouveau type de données.

Fonctionnalité prise en charge

Babelfish étend la fonctionnalité T pour prendre en charge les SQL fonctionnalités suivantes :

  • Stockage

    Babelfish prend désormais en charge la syntaxe compatible avec les types de données vectoriels, améliorant ainsi sa compatibilité avec T. SQL Pour en savoir plus sur le stockage de données avec pgvector, consultez Stockage.

  • Interrogation

    Babelfish étend la prise en charge de SQL l'expression T pour inclure les opérateurs de similarité vectorielle. Cependant, pour toutes les autres requêtes, la SQL syntaxe T standard est toujours requise.

    Note

    T- SQL ne prend pas en charge le type Array et les pilotes de base de données ne disposent d'aucune interface pour les gérer. Pour contourner le problème, Babelfish utilise des chaînes de texte (varchar/nvarchar) pour stocker des données vectorielles. Par exemple, lorsque vous demandez une valeur vectorielle [1,2,3], Babelfish renvoie une chaîne « [1,2,3] » comme réponse. Vous pouvez analyser et diviser cette chaîne au niveau de l'application selon vos besoins.

    Pour en savoir plus sur l'interrogation de données avec pgvector, consultez la section Requête.

  • Indexation

    T- supporte SQL Create Index désormais USING INDEX_METHOD la syntaxe. Vous pouvez désormais définir l'opérateur de recherche de similarité à utiliser sur une colonne spécifique lors de la création d'un index.

    La grammaire est également étendue pour prendre en charge les opérations de similarité vectorielle sur la colonne requise (vérifiez la grammaire column_name_list_with_order_for_vector).

    CREATE [UNIQUE] [clustered] [COLUMNSTORE] INDEX <index_name> ON <table_name> [USING vector_index_method] (<column_name_list_with_order_for_vector>) Where column_name_list_with_order_for_vector is: <column_name> [ASC | DESC] [VECTOR_COSINE_OPS | VECTOR_IP_OPS | VECTOR_L2_OPS] (COMMA simple_column_name [ASC | DESC] [VECTOR_COSINE_OPS | VECTOR_IP_OPS | VECTOR_L2_OPS])

    Pour en savoir plus sur l'indexation des données avec pgvector, consultez Indexation.

  • Performances

    • SET BABELFISH_STATISTICS PROFILE ONÀ utiliser pour déboguer les plans de requête à partir du point de SQL terminaison T.

    • Augmentez max_parallel_workers_get_gather à l'aide de la set_config fonction prise en charge dans T-SQL.

    • À utiliser IVFFlat pour des recherches approximatives. Pour de plus amples informations, veuillez consulter IVFFlat.

    Pour améliorer les performances avec pgvector, voir Performance.

Limites

  • Babelfish ne prend pas en charge la recherche en texte intégral pour la recherche hybride. Pour plus d'informations, consultez la section Recherche hybride.

  • Babelfish ne prend actuellement pas en charge la fonctionnalité de réindexation. Cependant, vous pouvez toujours utiliser le point de SQL terminaison Postgre pour réindexer. Pour plus d'informations, consultez la section Passer l'aspirateur.

Utilisation de l'apprentissage automatique d'Amazon Aurora avec Babelfish

Vous pouvez étendre les fonctionnalités de votre cluster de SQL base de données Babelfish for Aurora Postgre en l'intégrant à l'apprentissage automatique Amazon Aurora. Cette intégration fluide vous donne accès à une gamme de services puissants tels qu'Amazon Comprehend, Amazon SageMaker AI ou Amazon Bedrock, chacun étant conçu pour répondre à des besoins d'apprentissage automatique distincts.

En tant qu'utilisateur de Babelfish, vous pouvez utiliser les connaissances existantes en matière de SQL syntaxe et de sémantique T lorsque vous travaillez avec le machine learning Aurora. Suivez les instructions fournies dans la AWS documentation d'Aurora PostgreSQL. Pour de plus amples informations, veuillez consulter Utilisation de l'apprentissage automatique d'Amazon Aurora avec Aurora Postgre SQL.

Prérequis

  • Avant d'essayer de configurer votre cluster de SQL base de données Babelfish for Aurora Postgre pour utiliser l'apprentissage automatique Aurora, vous devez connaître les exigences et les prérequis associés. Pour de plus amples informations, veuillez consulter Conditions requises pour utiliser l'apprentissage automatique Aurora avec Aurora Postgre SQL.

  • Assurez-vous d'installer l'aws_mlextension à l'aide du point de terminaison Postgres ou de la procédure du sp_execute_postgresql magasin.

    exec sys.sp_execute_postgresql 'Create Extension aws_ml'
    Note

    Actuellement, Babelfish ne supporte pas les opérations en cascade sp_execute_postgresql dans Babelfish. Comme il aws_ml repose suraws_commons, vous devrez l'installer séparément à l'aide du point de terminaison Postgres.

    create extension aws_common;

Gestion de la SQL syntaxe et de la sémantique T avec des fonctions aws_ml

Les exemples suivants expliquent comment SQL la syntaxe et la sémantique T sont appliquées aux services Amazon ML :

Exemple : aws_bedrock.invoke_model — Une requête simple utilisant les fonctions Amazon Bedrock
aws_bedrock.invoke_model( model_id varchar, content_type text, accept_type text, model_input text) Returns Varchar(MAX)

L'exemple suivant montre comment invoquer un modèle Anthropic Claude 2 pour Bedrock à l'aide de invoke_model.

SELECT aws_bedrock.invoke_model ( 'anthropic.claude-v2', -- model_id 'application/json', -- content_type 'application/json', -- accept_type '{"prompt": "\n\nHuman: You are a helpful assistant that answers questions directly and only using the information provided in the context below. \nDescribe the answerin detail.\n\nContext: %s \n\nQuestion: %s \n\nAssistant:","max_tokens_to_sample":4096,"temperature" :0.5,"top_k":250,"top_p":0.5,"stop_sequences":[]}' -- model_input );
Exemple : aws_comprehend.detect_sentiment — Une requête simple utilisant les fonctions Amazon Comprehend
aws_comprehend.detect_sentiment( input_text varchar, language_code varchar, max_rows_per_batch int) Returns table (sentiment varchar, confidence real)

L'exemple suivant montre comment appeler le service Amazon Comprehend.

select sentiment from aws_comprehend.detect_sentiment('This is great', 'en');
Exemple : aws_sagemaker.invoke_endpoint — Une requête simple utilisant les fonctions Amazon SageMaker
aws_sagemaker.invoke_endpoint( endpoint_name varchar, max_rows_per_batch int, VARIADIC model_input "any") -- Babelfish inherits PG's variadic parameter type Rerurns Varchar(MAX)

Puisque model_input est marqué comme VARIADIC et de type « any », les utilisateurs peuvent transmettre une liste de n'importe quelle longueur et de n'importe quel type de données à la fonction qui servira d'entrée au modèle. L'exemple suivant montre comment appeler le SageMaker service Amazon.

SELECT CAST (aws_sagemaker.invoke_endpoint( 'sagemaker_model_endpoint_name', NULL, arg1, arg2 -- model inputs are separate arguments ) AS INT) -- cast the output to INT

Pour des informations plus détaillées sur l'utilisation de l'apprentissage automatique Aurora avec Aurora PostgreSQL, consultezUtilisation de l'apprentissage automatique d'Amazon Aurora avec Aurora Postgre SQL.

Limites

  • Bien que Babelfish n'autorise pas la création de tableaux, il peut toujours gérer des données représentant des tableaux. Lorsque vous utilisez des fonctions telles aws_bedrock.invoke_model_get_embeddings que celles qui renvoient des tableaux, les résultats sont fournis sous forme de chaîne contenant les éléments du tableau.