Package DBMS_CLOUD_NOTIFICATION
Le package DBMS_CLOUD_NOTIFICATION
vous permet d'envoyer des messages ou la sortie d'une requête SQL à un fournisseur.
- DBMS_CLOUD_NOTIFICATION Présentation
Description du packageDBMS_CLOUD_NOTIFICATION
. - Récapitulatif des sous-programmes DBMS_CLOUD_NOTIFICATION
Ce tableau récapitule les sous-programmes inclus dans le package.
Rubrique parent : Référence de package fourni avec Autonomous Database
Présentation de DBMS_CLOUD_NOTIFICATION
Décrit le package DBMS_CLOUD_NOTIFICATION
.
Les fournisseurs pris en charge avec DBMS_CLOUD_NOTIFICATION
sont les suivants : Email, Microsoft Teams, OCI Notifications (ONS) et Slack.
Lorsque vous utilisez le service OCI Notifications avec le package DBMS_CLOUD_NOTIFICATION
, seule la procédure DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
est prise en charge (la procédure DBMS_CLOUD_NOTIFICATION.SEND_DATA
n'est pas prise en charge)
Rubrique parent : Package DBMS_CLOUD_NOTIFICATION
Récapitulatif des sous-programmes DBMS_CLOUD_NOTIFICATION
Ce tableau récapitule les sous-programmes inclus dans le package.
Sous-programme | Description |
---|---|
Envoyer la sortie de requête SQL à un fournisseur. |
|
Envoyer un SMS à un fournisseur. |
- Procédure SEND_DATA
La procédureSEND_DATA
envoie les résultats de la requête indiquée à un fournisseur. - Procédure SEND_MESSAGE
La procédure envoie un message texte à un fournisseur.
Rubrique parent : Package DBMS_CLOUD_NOTIFICATION
SEND_DATA Procédure
La procédure SEND_DATA
envoie les résultats de la requête indiquée à un fournisseur.
Syntaxe
DBMS_CLOUD_NOTIFICATION.SEND_DATA
(
provider IN VARCHAR2,
credential_name IN VARCHAR2,
query IN CLOB,
params IN CLOB
);
Paramètres
Paramètre | Description |
---|---|
|
Spécifie le fournisseur. Les valeurs valides sont : ' Ce paramètre est obligatoire. |
|
Nom de l'objet d'informations d'identification permettant d'accéder au fournisseur. Pour le fournisseur de messagerie, les informations d'identification sont le nom des informations d'identification de l'expéditeur approuvé SMTP qui contient son nom utilisateur et son mot de passe. Pour le fournisseur msteams, les informations d'identification sont le nom des informations d'identification. Pour le fournisseur Slack, le nom utilisateur des informations d'identification doit être Ce paramètre est obligatoire. |
|
Indique l'interrogation SQL à exécuter. Les résultats sont envoyés au soignant. Ce paramètre est obligatoire. |
|
Spécifie des paramètres spécifiques pour Pour le type de fournisseur
Pour le type de fournisseur
Pour le type de fournisseur
Ce paramètre est obligatoire. |
Notes d'utilisation
-
Utilisez la procédure
DBMS_CLOUD.CREATE_CREDENTIAL
(credential_name
,username
,password)
pour créer l'objet d'informations d'identification.Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.
-
Pour le fournisseur
email
, tenez compte des points suivants :-
L'utilisateur requiert une adresse de connexion SMTP pour que le serveur Email Delivery obtienne
smtp_host
. L'utilisateur a également besoin d'un expéditeur approuvé SMTP et de ses informations d'identification pour s'authentifier auprès du serveur Email Delivery afin d'obtenir le fichiercredential_name
. La connexion SMTP doit être configurée et les informations d'identification SMTP doivent être générées et approuvées. -
La taille maximale de message prise en charge lors de l'utilisation de
DBMS_CLOUD_NOTIFICATION.SEND_DATA
avec le fournisseuremail
est de 32k octets. -
Vous pouvez uniquement utiliser
DBMS_CLOUD_NOTIFICATION
pour les notifications par courriel avec Autonomous Database version 19.21 et supérieure.
-
-
Pour le fournisseur
msteams
, l'utilisateur requiert l'application Microsoft Teams et un bot configuré dans celle-ci. L'application doit être publiée dans l'organisation et installée après avoir obtenu l'approbation de l'administrateur du centre d'administration. L'utilisateur doit également disposer des droits d'accèsFiles.ReadWrite.All
etChannelSettings.Read.All
pour l'API Graph à partir de son portail Azure. Pour générer le jeton requis, l'utilisateur requiertbot_id
dans le nom utilisateur etbot_secret
dans le mot de passe.La taille de fichier maximale prise en charge lors de l'utilisation de
DBMS_CLOUD_NOTIFICATION.SEND_DATA
pour Microsoft Teams est de 4 Mo. - Pour le fournisseur
slack
, la valeurusername
peut être n'importe quelle chaîne valide etpassword
est le jeton de bot Slack.
Exemples
Envoyez une sortie SQL avec le fournisseur email
:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'EMAIL_CRED',
username => 'username',
password => 'password');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_DATA
(
provider => 'email',
credential_name => 'EMAIL_CRED',
query => 'SELECT tablespace_name FROM dba_tablespaces',
params => json_object('recipient' value 'mark@oracle.com, suresh@oracle.com',
'to_cc' value 'nicole@oracle.com1, jordan@oracle.com',
'to_bcc' value 'manisha@oracle.com',
'subject' value 'Test subject',
'type' value 'json',
'title' value 'mytitle',
'message' value 'This is the message',
'smtp_host' value 'smtp.email.example.com',
'sender' value 'approver_sender@oracle.com' )
);
END;
/
Envoyez une sortie SQL avec le fournisseur msteams
:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(credential_name => 'TEAMS_CRED',
username => 'bot_id',
password => 'bot_secret');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
(provider => 'msteams',
credential_name => 'TEAMS_CRED',
query => 'SELECT tablespace_name FROM dba_tablespaces',
params => json_object('tenant'value '5b743bc******c0286',
'team'value '0ae401*********5d2bd',
'channel'value '19%3a94be023*****%40thread.tacv2',
'title'value 'today',
'type'value 'csv'));
END;
/
Envoyez une sortie SQL avec le fournisseur slack
:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'SLACK_CRED',
username => 'SLACK_TOKEN',
password => 'password');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_DATA
(
provider => 'slack',
credential_name => 'SLACK_CRED',
query => 'SELECT username, account_status, expiry_date FROM USER_USERS WHERE rownum < 5',
params => json_object('channel' value 'C0....08','type' value 'csv'));
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_NOTIFICATION
SEND_MESSAGE Procédure
La procédure envoie un message texte à un soignant.
Syntaxe
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
(
provider IN VARCHAR2,
credential_name IN VARCHAR2,
message IN CLOB,
params IN CLOB
);
Paramètres
Paramètre | Description |
---|---|
|
Spécifie le fournisseur. Les valeurs valides sont : ' Ce paramètre est obligatoire. |
|
Nom de l'objet d'informations d'identification permettant d'accéder au fournisseur.
Ce paramètre est obligatoire. Utilisez la procédure |
|
Indique le texte du message. Ce paramètre est obligatoire. |
|
Spécifie des paramètres spécifiques pour Pour le type de fournisseur
Pour le type de fournisseur
Pour le type de fournisseur
Pour le fournisseur OCI Notifications de type
Avec le fournisseur
|
Note d'utilisation pour le fournisseur de courriels
Pour le fournisseur email
, l'utilisateur requiert une adresse de connexion SMTP pour que le serveur Email Delivery obtienne smtp_host
. L'utilisateur a également besoin d'un expéditeur approuvé SMTP et de ses informations d'identification pour s'authentifier auprès du serveur Email Delivery afin d'obtenir le fichier credential_name
. La connexion SMTP doit être configurée et les informations d'identification SMTP doivent être générées et approuvées.
Note d'utilisation pour le fournisseur Msteams
Pour le fournisseur msteams
, l'utilisateur requiert l'application Microsoft Teams et un bot configuré dans celle-ci. L'application doit être publiée dans l'organisation et installée après avoir obtenu l'approbation de l'administrateur du centre d'administration. L'utilisateur doit également disposer des droits d'accès Files.ReadWrite.All
et ChannelSettings.Read.All
pour l'API Graph à partir de son portail Azure. Pour générer le jeton requis, l'utilisateur requiert bot_id
dans le nom utilisateur et bot_secret
dans le mot de passe.
Remarque d'utilisation pour le fournisseur Slack
Pour le fournisseur slack
, la valeur username
peut être n'importe quelle chaîne valide et password
est le jeton de bot Slack.
Notes d'utilisation pour les notifications OCI du fournisseur OCI
DBMS_CLOUD_NOTIFICATION
prend en charge le fournisseur OCI Notifications. Pour plus de détails sur le fournisseur OCI Notifications, reportez-vous à Présentation de Notifications.
- Pour utiliser le fournisseur OCI Notifications, vous devez effectuer les opérations suivantes :
- Créer un sujet. Pour plus d'informations sur la création d'un sujet, reportez-vous à Création d'un sujet.
- Créez les abonnements requis. Pour plus de détails sur la création d'un abonnement, reportez-vous à Création d'un abonnement.
- Après avoir créé les abonnements, confirmez-les. Les messages sont uniquement publiés sur des abonnements confirmés. Pour plus d'informations sur la confirmation des abonnements, reportez-vous à Confirmation d'un abonnement.
- L'instance Autonomous Database, les informations d'identification et de connexion, si vous utilisez des informations d'identification utilisateur, et le sujet d'abonnement doivent tous se trouver dans la même région.
- Notez les limitations suivantes :
- Limite de taille de message : la limite de taille de message par demande est de 64 ko. Les messages dépassant cette taille ne peuvent pas être envoyés ou traités dans une seule demande.
- Limite du taux de distribution des messages : il existe différentes limites de taux de distribution des messages en fonction du protocole utilisé.
- Protocole
email
: la limite est de 10 messages par minute et par adresse.
Cette restriction peut avoir un impact sur la vitesse à laquelle les messages peuvent être transmis et reçus.
- Protocole
- Transactions par minute (TPM) par limite de location : il existe une limite de TPM de 60 par sujet pour cette opération. Cette limite représente le nombre maximal de messages par minute pouvant être traités ou traités pour un sujet donné. Si vous dépassez cette limite, les messages ne seront pas traités ou traités plus lentement.
Exemples
Envoyez un message texte avec le fournisseur email
:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'EMAIL_CRED',
username => 'username',
password => 'password');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
(
provider => 'email',
credential_name => 'EMAIL_CRED',
message => 'Subject content',
params => json_object('recipient' value 'mark@oracle.com, suresh@oracle.com',
'to_cc' value 'nicole@oracle.com, jordan@oracle.com',
'to_bcc' value 'manisha@oracle.com',
'subject' value 'Test subject',
'smtp_host' value 'smtp.email.example.com',
'sender' value 'approver_sender@oracle.com' )
);
END;
/
Envoyez un message texte avec le fournisseur msteams
:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(credential_name => 'TEAMS_CRED',
username => 'bot_id',
password => 'bot_secret');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
(
provider => 'msteams',
credential_name => 'TEAMS_CRED',
message => 'text from new teams api',
params => json_object('channel'value 'C0....08'),'region'value 'india');
END;
/
Envoyez un message texte avec le fournisseur slack
:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'SLACK_CRED',
username => 'SLACK_TOKEN',
password => 'password');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
(
provider => 'slack',
credential_name => 'SLACK_CRED',
message => 'Send text from Autonomous Database.',
params => json_object('channel' value 'C0....08'));
END;
/
Envoyez un message texte avec OCI Notifications, saisissez le fournisseur oci
:
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
(
provider => 'oci',
credential_name => 'OCI_CRED',
message => 'Text message for you.',
params => json_object('topic_ocid' value 'oci********pa',
'title' value 'Title for message subject' ));
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
(
provider => 'oci',
credential_name => 'OCI$RESOURCE_PRINCIPAL',
message => 'Text message for you.',
params => json_object('topic_ocid' value 'oci********pa',
'title' value 'Title for message subject' ));
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_NOTIFICATION