Vue ASSIGNMENT_CHANGES
La vue INFORMATION_SCHEMA.ASSIGNMENT_CHANGES
contient une liste en quasi-temps réel de toutes les modifications apportées aux attributions dans le projet d'administration. Chaque ligne représente une modification apportée à une seule attribution. Pour en savoir plus sur la réservation, consultez la section Présentation de Reservations.
Autorisation requise
Pour interroger la vue INFORMATION_SCHEMA.ASSIGNMENT_CHANGES
, vous devez disposer de l'autorisation IAM (Identity and Access Management) bigquery.reservationAssignments.list
pour le projet.
Chacun des rôles IAM prédéfinis suivants inclut l'autorisation requise :
roles/bigquery.resourceAdmin
roles/bigquery.resourceEditor
roles/bigquery.resourceViewer
roles/bigquery.user
roles/bigquery.admin
Pour plus d'informations sur les autorisations BigQuery, consultez la page Contrôle des accès avec IAM.
Schéma
La vue INFORMATION_SCHEMA.ASSIGNMENT_CHANGES
présente le schéma suivant :
Nom de la colonne | Type de données | Valeur |
---|---|---|
change_timestamp |
TIMESTAMP |
Heure à laquelle la modification s'est produite. |
project_id |
STRING |
ID du projet d'administration. |
project_number |
INTEGER |
Numéro du projet d'administration. |
assignment_id |
STRING |
ID qui identifie de manière unique l'attribution. |
reservation_name |
STRING |
Nom de la réservation utilisée par l'attribution. |
job_type |
STRING |
Type de tâche pouvant utiliser la réservation. Il peut s'agir de PIPELINE ou QUERY . |
assignee_id |
STRING |
ID qui identifie de manière unique la ressource affectée. |
assignee_number |
INTEGER |
Numéro qui identifie de manière unique la ressource affectée. |
assignee_type |
STRING |
Type de ressource affectée. Il peut s'agir de organization , folder ou project . |
action |
STRING |
Type d'événement survenu lors de l'attribution. Il peut s'agir de CREATE , UPDATE ou DELETE . |
user_email |
STRING |
Adresse e-mail de l'utilisateur ou sujet de la fédération d'identité de personnel ayant effectué la modification. google pour les modifications apportées par Google. NULL si l'adresse e-mail est inconnue.
|
state |
STRING |
État de l'attribution. Il peut s'agir de PENDING ou ACTIVE . |
Conservation des données
Cette vue contient les attributions en cours et les attributions supprimées qui sont conservées pendant une durée maximale de 41 jours après laquelle elles sont supprimées de la vue.
Champ d'application et syntaxe
Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région. Si vous ne spécifiez pas de qualificatif de région, les métadonnées sont extraites de toutes les régions. Le tableau suivant explique le champ d'application de la région pour cette vue :
Nom de la vue | Champ d'application de la ressource | Champ d'application de la région |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.ASSIGNMENT_CHANGES[_BY_PROJECT] |
Niveau Projet | REGION |
-
PROJECT_ID
(facultatif) : ID de votre projet Google Cloud . Si non spécifié, le projet par défaut est utilisé. -
REGION
: tout nom de région d'ensemble de données. Par exemple,`region-us`
.
Exemples
Trouver les dernières modifications apportées à un devoir
L'exemple suivant montre l'utilisateur qui a effectué la dernière mise à jour d'une attribution particulière à une date spécifiée.
SELECT user_email, change_timestamp, reservation_name, assignment_id FROM `region-us`.INFORMATION_SCHEMA.ASSIGNMENT_CHANGES WHERE change_timestamp BETWEEN '2021-09-30' AND '2021-10-01' AND assignment_id = 'assignment_01' ORDER BY change_timestamp DESC LIMIT 1;
Le résultat ressemble à ce qui suit :
+--------------------------------+-----------------------+--------------------+-----------------+ | user_email | change_timestamp | reservation_name | assignment_id | +--------------------------------+-----------------------+--------------------+-----------------+ | cloudysanfrancisco@gmail.com |2021-09-30 09:30:00 UTC| my_reservation | assignment_01 | +--------------------------------+-----------------------+--------------------+-----------------+
Identifier l'état d'attribution d'une réservation à un moment précis
L'exemple suivant affiche toutes les attributions actives d'une réservation à un moment donné.
SELECT reservation_name, assignee_id, assignee_type, job_type FROM `region-REGION`.INFORMATION_SCHEMA.ASSIGNMENT_CHANGES WHERE reservation_name = RESERVATION_NAME AND change_timestamp < TIMESTAMP QUALIFY ROW_NUMBER() OVER(PARTITION BY assignee_id, job_type ORDER BY change_timestamp DESC) = 1 AND action != 'DELETE';
Remplacez les éléments suivants :
REGION
: région où se trouve votre réservationRESERVATION_NAME
: nom de la réservation utilisée par l'attributionTIMESTAMP
: code temporel représentant le moment précis auquel la liste des devoirs est vérifiée.
Le résultat ressemble à ce qui suit :
+-------------------------+---------------------------+---------------+----------+ | reservation_name | assignee_id | assignee_type | job_type | +-------------------------+---------------------------+---------------+----------+ | test-reservation | project_1 | PROJECT | QUERY | | test-reservation | project_2 | PROJECT | QUERY | +-------------------------+---------------------------+---------------+----------+
Identifier l'état d'attribution d'une réservation lorsqu'un travail spécifique a été exécuté
Pour afficher les attributions actives lors de l'exécution d'un certain job, utilisez l'exemple suivant.
SELECT reservation_name, assignee_id, assignee_type, job_type FROM `region-REGION`.INFORMATION_SCHEMA.ASSIGNMENT_CHANGES WHERE reservation_name = RESERVATION_NAME AND change_timestamp < (SELECT creation_time FROM PROJECT_ID.`region-REGION`.INFORMATION_SCHEMA.JOBS WHERE job_id = JOB_ID) QUALIFY ROW_NUMBER() OVER(PARTITION BY assignee_id, job_type ORDER BY change_timestamp DESC) = 1 AND action != 'DELETE';
Remplacez les éléments suivants :
REGION
: région où se trouve votre réservationRESERVATION_NAME
: nom de la réservation utilisée par l'attributionPROJECT_ID
: ID de votre projet Google Cloud dans lequel le job a été exécutéJOB_ID
: ID du job pour lequel l'état de l'attribution a été vérifié