Cette page explique comment créer et gérer des configurations de rapport d'inventaire, ainsi que les rapports d'inventaire générés, afin d'obtenir un résumé général des métadonnées de tous vos objets dans un bucket donné. Pour obtenir une présentation des rapports d'inventaire, consultez la documentation de présentation des rapports d'inventaire Storage Insights.
Avant de commencer
Obtenir les rôles requis
Afin d'obtenir les autorisations nécessaires à la création et à la gestion des rapports d'inventaire, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet ou les buckets source et de destination avec lesquels vous gérerez les rapports d'inventaire.
Pour créer et gérer des configurations du rapport d'inventaire, procédez comme suit :
roles/storage.admin
sur le bucket source et le bucket de destinationroles/storageinsights.admin
sur le projet
Pour lire et télécharger des rapports d'inventaire, procédez comme suit :
roles/storage.objectViewer
sur le bucket de destinationroles/storageinsights.viewer
sur le projet
Ces rôles prédéfinis contiennent les autorisations requises pour créer et gérer des rapports et des configurations d'inventaire. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Pour créer et gérer des configurations du rapport d'inventaire, procédez comme suit :
storage.buckets.get
sur le bucket sourcestorage.objects.list
sur le bucket sourcestorage.buckets.getObjectInsights
sur le bucket sourcestorage.buckets.get
sur le bucket de destinationstorage.objects.create
sur le bucket de destinationstorageinsights.reportConfigs.delete
sur le projetstorageinsights.reportConfigs.get
sur le projetstorageinsights.reportConfigs.create
sur le projetstorageinsights.reportConfigs.list
sur le projetstorageinsights.reportConfigs.update
sur le projet
Pour lire et télécharger des rapports d'inventaire, procédez comme suit :
storage.objects.get
sur le bucket de destinationstorageinsights.reportDetails.get
sur le projetstorageinsights.reportDetails.list
sur le projet
Vous pouvez également obtenir ces autorisations avec d'autres rôles prédéfinis. Pour connaître les rôles et les autorisations associées, consultez la page Rôles IAM pour Cloud Storage.
Pour obtenir des instructions sur l'utilisation des rôles pour contrôler l'accès aux buckets, consultez la page Utiliser IAM. Pour obtenir des instructions sur l'utilisation des rôles pour contrôler l'accès aux projets, consultez la section Gérer les accès.
Activer l'API Storage Insights
Console
Pour activer l'API storageinsights.googleapis.com
, suivez les instructions de la page Activer des services.
Ligne de commande
Pour activer l'API Storage Insights dans votre projet actuel, exécutez la commande suivante :
gcloud services enable storageinsights.googleapis.com
Pour en savoir plus sur l'activation des services dans un projet Google Cloud, consultez la page Activer et désactiver des services.
API REST
API JSON
Utilisez la console Google Cloud ou Google Cloud CLI pour activer l'API Storage Insights.
Créer une configuration de rapport d'inventaire
Console
Procédez comme suit pour créer une configuration de rapport d'inventaire :
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket que vous souhaitez utiliser comme bucket source.
Sur la page Informations sur le bucket, cliquez sur l'onglet Rapports sur l'inventaire.
Cliquez sur Créer une configuration de rapport.
Dans la section Identifier la configuration de votre rapport, créez un nom à afficher pour la configuration du rapport d'inventaire. Le nom à afficher peut contenir jusqu'à 256 caractères.
Dans la section Sélectionner des champs de métadonnées, choisissez les champs de métadonnées que vous souhaitez inclure dans vos rapports d'inventaire.
Cliquez sur Continuer.
Dans la section Choisir un format de fichier, sélectionnez le format de fichier dans lequel vous souhaitez générer des rapports d'inventaire.
Dans la section Choisir un bucket de destination, sélectionnez le bucket que vous souhaitez utiliser en tant que bucket de destination.
Dans Saisir un chemin de destination (facultatif), vous pouvez éventuellement spécifier un chemin de destination où les rapports d'inventaire seront générés.
Dans la section Options de programmation, spécifiez la fréquence, la date de début et la date de fin de génération des rapports.
Cliquez sur Créer.
La page Détails de la configuration de rapport s'affiche. Les métadonnées des rapports d'inventaire générés s'affichent sur la page.
Ligne de commande
Pour créer une configuration de rapport d'inventaire, exécutez la commande
gcloud storage insights inventory-reports create
:gcloud storage insights inventory-reports create SOURCE_BUCKET_URL \ --csv-separator=SEPARATOR \ --csv-delimiter=DELIMITER \ --[no]-csv-header \ --parquet \ --display-name=DISPLAY_NAME \ --destination=DESTINATION_PATH \ --metadata-fields=METADATA_FIELD \ --schedule-starts=START_DATE \ --schedule-repeats=FREQUENCY \ --schedule-repeats-until=END_DATE
Remplacez :
SOURCE_BUCKET_URL
par l'URL du bucket source ; Par exemple,gs://my_example_source_bucket
.SEPARATOR
par le caractère utilisé pour séparer les enregistrements dans le fichier CSV du rapport d'inventaire. La valeur doit être définie sur\n
ou\r\n
. La valeur par défaut est\n
. Facultatif. Si l'option--csv-separator
est utilisée,--parquet
ne peut pas être utilisé.DELIMITER
par le délimiteur qui sépare les champs du fichier CSV du rapport d'inventaire. La valeur peut inclure un caractère et ne doit pas être identique à celle deSEPARATOR
. La valeur par défaut est,
. Facultatif. Si--csv-delimiter
est utilisé,--parquet
ne peut pas être utilisé.--[no]-csv-header
par l'option indiquant si les en-têtes sont inclus ou non dans le fichier CSV du rapport d'inventaire. Utilisez--csv-header
pour inclure les en-têtes et--no-csv-header
pour les exclure ; Si l'une de ces options est utilisée,--parquet
ne peut pas être utilisé.DISPLAY_NAME
par le nom modifiable de la configuration de rapport d'inventaire. Facultatif.--parquet
par l'option qui génère les rapports d'inventaire au format Apache Parquet au lieu du format CSV. Si cette option est utilisée,--csv-delimiter
,--csv-separator
et--[no-]csv-header
ne peuvent pas être utilisés.DESTINATION_PATH
par le bucket ou le dossier du bucket dans lequel les rapports d'inventaire seront générés. Par exemple,gs://my_example_destination_bucket
ougs://my_example_destination_bucket/path/to/inventory/report
.Lorsque vous spécifiez un chemin d'accès à un dossier dans un bucket, vous pouvez utiliser des mots clés dans le chemin d'accès, qui sont remplacés par leurs valeurs correspondantes quand le rapport est généré. Cela vous permet de générer des rapports dans un format de partitionnement Hive afin de pouvoir charger ou interroger des données dans BigQuery sans traitement supplémentaire.
METADATA_FIELD
par une liste de champs de métadonnées, séparés par une virgule, que vous souhaitez inclure dans le rapport d'inventaire.START_DATE
par la date UTC à laquelle vous souhaitez commencer à générer des rapports d'inventaire. Par exemple,2022-01-15
.FREQUENCY
par la fréquence à laquelle vous souhaitez générer les rapports d'inventaire. Les valeurs sont :daily
ouweekly
.END_DATE
par la date UTC après laquelle vous souhaitez cesser de générer des rapports d'inventaire. Doit être postérieure à la valeurSTART_DATE
. Par exemple, si vous spécifiez2022-02-15
, les rapports d'inventaire ne seront plus générés à compter du 16 février 2022.
Bibliothèques clientes
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
Procédez comme suit pour créer une configuration de rapport d'inventaire :
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Créez un fichier JSON contenant les informations suivantes. Tous les champs sont obligatoires, sauf indication contraire :
{ "display_name": "DISPLAY_NAME", "frequency_options": { "frequency": "FREQUENCY", "start_date": "START_DATE", "end_date": "END_DATE", }, "csv_options": { "record_separator": "RECORD_SEPARATOR", "delimiter": "DELIMITER", "header_required": HEADER_REQUIRED }, "object_metadata_report_options": { "metadata_fields": [ "METADATA_FIELD", ... ], "storage_filters": { "bucket": "SOURCE_BUCKET_NAME" }, "storage_destination_options": { "bucket": "DESTINATION_BUCKET_NAME", "destination_path": "DESTINATION_PATH" } } }
Remplacez :
DISPLAY_NAME
par le nom à afficher modifiable de la configuration de rapport d'inventaire. Peut contenir jusqu'à 256 caractères.FREQUENCY
par la fréquence de génération des rapports d'inventaire. Les valeurs sont :DAILY
ouWEEKLY
.START_DATE
par la date UTC à laquelle vous souhaitez commencer à générer des rapports d'inventaire. Ne peut pas être la date actuelle ni une date antérieure. La valeur doit être un objet contenant les clésday
,month
etyear
. Exemple :{"day": 15, "month": 8, "year": 2022}
.END_DATE
par la date UTC après laquelle vous souhaitez cesser de générer des rapports d'inventaire. La valeur doit être un objet contenant les clésday
,month
etyear
. Par exemple, si vous spécifiez{"day": 15, "month": 9, "year": 2022}
, les rapports d'inventaire ne sont plus générés à compter du 16 septembre 2022.RECORD_SEPARATOR
par le caractère utilisé pour séparer les enregistrements dans le fichier CSV du rapport d'inventaire. La valeur doit être définie sur\n
ou\r\n
. La valeur par défaut est\n
. Ce champ est facultatif.DELIMITER
par le délimiteur qui sépare les champs du fichier CSV du rapport d'inventaire. La valeur peut inclure un caractère et ne doit pas être identique à celle deRECORD_SEPARATOR
. La valeur par défaut est,
. Ce champ est facultatif.HEADER_REQUIRED
par la valeur booléenne qui indique si les en-têtes sont inclus ou non dans le fichier CSV. Ce champ est facultatif.SOURCE_BUCKET_NAME
par le nom du bucket source contenant les objets pour lesquels vous souhaitez générer des rapports d'inventaire. Exemple :my_example_bucket
.METADATA_FIELD
par une liste de champs de métadonnées, séparés par une virgule, que vous souhaitez inclure dans le rapport d'inventaire.DESTINATION_BUCKET_NAME
par le nom du bucket de destination dans lequel les rapports d'inventaire générés sont générés et stockés. Exemple :my_example_destination_bucket
.DESTINATION_PATH
par le chemin d'accès dans le bucket de destination où sont générés les rapports d'inventaire générés. Ce champ est facultatif.Lorsque vous spécifiez un chemin d'accès à un dossier dans un bucket, vous pouvez utiliser des mots clés dans le chemin d'accès, qui sont remplacés par leurs valeurs correspondantes quand le rapport est généré. Cela vous permet de générer des rapports dans un format de partitionnement Hive afin de pouvoir charger ou interroger des données dans BigQuery sans traitement supplémentaire.
Par exemple, l'exemple de code suivant crée une configuration de rapport d'inventaire nommée "Exemple de configuration de rapport d'inventaire" qui génère des rapports à une fréquence hebdomadaire :
{ "display_name": "Example inventory report configuration", "frequency_options": { "frequency": "WEEKLY", "start_date": { "day": 15, "month": 8, "year": 2022 }, "end_date": { "day": 15, "month": 9, "year": 2022 }, }, "csv_options": { "record_separator": "\n", "delimiter": ",", "header_required": true }, "object_metadata_report_options": { "metadata_fields": [ "project", "name", "bucket" ], "storage_filters": { "bucket": "example_source_bucket" }, "storage_destination_options": { "bucket": "example_destination_bucket" } } }
Pour appliquer la configuration de rapport d'inventaire, utilisez
cURL
pour appeler l'API JSON avec une requêteInsert
ReportConfig :curl -X POST --data-binary @JSON_FILE_NAME \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
Remplacez :
JSON_FILE_NAME
par le chemin d'accès au fichier JSON que vous avez créé à l'étape précédente.YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
Attribuer les rôles requis à l'agent de service
Un agent de service au niveau du projet est créé automatiquement la première fois que vous définissez une configuration de rapport d'inventaire. L'agent de service respecte le format de nom service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com
et apparaît sur la page IAM de la console Google Cloud lorsque vous sélectionnez la case Inclure les attributions de rôles fournies par Google.
Pour permettre à Storage Insights de générer et d'écrire des rapports d'inventaire, demandez à votre administrateur d'attribuer les rôles IAM suivants à l'agent de service :
roles/storage.insightsCollectorService
sur le bucket source, qui inclut les autorisationsstorage.buckets.getObjectInsights
etstorage.buckets.get
roles/storage.objectCreator
sur le bucket de destination, qui inclut l'autorisationstorage.objects.create
Pour obtenir des instructions sur l'attribution des rôles, consultez la page Utiliser IAM.
Vous pouvez accorder le rôle roles/storage.insightsCollectorService
à l'aide de la console Google Cloud ou de Google Cloud CLI. Exemple :
gcloud storage buckets add-iam-policy-binding SOURCE_BUCKET_URL \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com \ --role=roles/storage.insightsCollectorService
Une fois que l'agent de service dispose des autorisations requises, l'écriture du premier rapport d'inventaire dans le bucket de destination peut prendre jusqu'à 24 heures.
Modifier une configuration de rapport d'inventaire
Une fois la configuration du rapport d'inventaire créée, vous pouvez modifier certaines propriétés.
Console
Procédez comme suit pour modifier une configuration de rapport d'inventaire :
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket source contenant la configuration de rapport d'inventaire que vous souhaitez modifier.
Sur la page Informations sur le bucket de votre bucket source, cliquez sur l'onglet Rapports sur l'inventaire.
Cliquez sur le nom de la configuration de rapport d'inventaire que vous souhaitez modifier.
Sur la page Détails de la configuration du rapport qui s'affiche, modifiez les propriétés de votre choix à l'aide du bouton
Modifier.
Ligne de commande
Procédez comme suit pour modifier une configuration de rapport d'inventaire :
Pour identifier le nom de la configuration de rapport d'inventaire que vous souhaitez modifier, listez toutes les configurations d'inventaire dans le bucket source à l'aide de la commande
gcloud storage insights inventory-reports list
:gcloud storage insights inventory-reports list \ --source=SOURCE_BUCKET \ --filter=EXPRESSION \ --page-size=SIZE \ --sort-by=FIELD \ --format="yaml(name)"
Remplacez :
SOURCE_BUCKET
par l'URL du bucket source contenant la configuration de rapport d'inventaire ;EXPRESSION
par un filtre booléen à appliquer à chaque élément de ressource à lister. Si l'expression renvoie la valeur "True", l'élément est listé. Pour plus de détails et d'exemples d'expressions de filtre, exécutez la commande$ gcloud topic filters
;SIZE
par le nombre maximal de ressources par page. La valeur par défaut est 50.FIELD
par une liste de noms de clés de champ de ressources selon lesquels effectuer le tri, séparés par des virgules. L'ordre par défaut est croissant. Ajoutez le préfixe~
pour l'ordre décroissant sur ce champ.
Modifiez les champs de la configuration de rapport d'inventaire que vous souhaitez mettre à jour à l'aide de la commande
gcloud storage insights inventory-reports update
. L'exemple suivant met à jour la configuration de rapport d'inventaire de façon à générer des rapports d'inventaire une fois par jour au format Apache Parquet :gcloud storage insights inventory-reports update CONFIG_NAME \ --parquet \ --schedule-repeats="daily"
Bibliothèques clientes
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
Procédez comme suit pour modifier une configuration de rapport d'inventaire :
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Récupérez le nom de la configuration de rapport d'inventaire que vous souhaitez modifier à l'aide de
cURL
, afin d'appeler l'API JSON avec une requêteGet
ReportConfig :curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
Remplacez :
YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
Si vous souhaitez récupérer toutes les configurations de rapport d'inventaire situées dans un bucket source spécifique, ajoutez le paramètre de requête
filter
à votre requête :curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?filter=objectMetadataReportOptions.storageFilters.bucket=BUCKET_NAME" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
Remplacez :
YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
.BUCKET_NAME
par le nom du bucket source contenant les configurations de rapport d'inventaire que vous souhaitez modifier.
Créez un fichier JSON incluant les modifications apportées aux propriétés que vous souhaitez modifier. L'exemple suivant met à jour la configuration de rapport d'inventaire de façon à générer des rapports d'inventaire une fois par jour au format Apache Parquet :
{ "ReportConfig": { "frequency_options": { "frequency": "DAILY" }, "parquet_options": { } }
Pour appliquer la configuration de rapport d'inventaire, utilisez
cURL
pour appeler l'API JSON avec une requêtePatch
ReportConfig :curl --request PATCH \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --data-binary "@JSON_FILE_NAME.json" \
Remplacez :
YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
.REPORT_CONFIG_UUID
par l'UUID généré automatiquement de la configuration de rapport d'inventaire ;
Lister des configurations de rapport d'inventaire
Console
Procédez comme suit pour lister les configurations de rapport d'inventaire dans un bucket source :
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket source contenant les configurations de rapport d'inventaire que vous souhaitez consulter.
Sur la page Informations sur le bucket, cliquez sur l'onglet Rapports sur l'inventaire.
Les configurations de rapport d'inventaire figurant dans le bucket source s'affichent.
Ligne de commande
Vous pouvez lister toutes les configurations d'inventaire dans un bucket source à l'aide de la commande gcloud storage insights inventory-reports list
:
gcloud storage insights inventory-reports list \ --source=SOURCE_BUCKET \ --filter=EXPRESSION \ --page-size=SIZE \ --sort-by=FIELD \ --format="yaml(name)"
Remplacez :
SOURCE_BUCKET
par l'URL du bucket source contenant la configuration de rapport d'inventaire ;EXPRESSION
par un filtre booléen à appliquer à chaque élément de ressource à lister. Si l'expression renvoie la valeur "True", l'élément est listé. Pour plus de détails et d'exemples d'expressions de filtre, exécutez la commande$ gcloud topic filters
;SIZE
par le nombre maximal de ressources par page. La valeur par défaut est 50.FIELD
par une liste de noms de clés de champ de ressources selon lesquels effectuer le tri, séparés par des virgules. L'ordre par défaut est croissant. Ajoutez le préfixe~
pour l'ordre décroissant sur ce champ.
Bibliothèques clientes
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Vous pouvez lister toutes les configurations de rapport d'inventaire dans un projet pour un emplacement donné à l'aide d'une requête permettant de répertorier les configurations de rapports d'inventaire:
curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
Remplacez :
YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
Si vous souhaitez lister toutes les configurations de rapport d'inventaire situées dans un bucket source spécifique, ajoutez le paramètre de requête
filter
à votre requête :curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs?filter=objectMetadataReportOptions.storageFilters.bucket=BUCKET_NAME" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
Remplacez :
YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
.BUCKET_NAME
par le nom du bucket source contenant les configurations de rapport d'inventaire que vous souhaitez lister.
Télécharger un rapport d'inventaire
Console
Télécharger des rapports individuels
Les rapports d'inventaire sont générés et stockés en tant qu'objets dans le bucket de destination. Vous pouvez donc les télécharger comme vous le feriez pour un objet standard.
Procédez comme suit pour télécharger un rapport d'inventaire :
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket de destination qui contient le rapport d'inventaire que vous souhaitez télécharger.
Sur la page Informations sur le bucket, assurez-vous que l'onglet Objets est sélectionné.
Cliquez sur l'élément
Télécharger associé au rapport d'inventaire que vous souhaitez télécharger.
Si vous ne connaissez pas le bucket de destination, vous pouvez également télécharger un rapport d'inventaire via la configuration de rapport d'inventaire à partir de laquelle il a été généré :
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket source contenant la configuration de rapport d'inventaire ayant généré le rapport que vous souhaitez télécharger.
Sur la page Informations sur le bucket, cliquez sur le nom de la configuration de rapport d'inventaire.
Sur la page Détails de la configuration de rapport qui s'affiche, accédez à la section Historique du rapport d'inventaire, puis cliquez sur le chemin d'accès à l'objet de destination correspondant au rapport d'inventaire que vous souhaitez télécharger.
La page Informations sur le bucket s'affiche alors pour le bucket de destination qui contient le rapport d'inventaire.
Cliquez sur l'élément
Télécharger associé au rapport d'inventaire que vous souhaitez télécharger.
Télécharger des segments de rapport
Procédez comme suit pour télécharger un rapport d'inventaire qui a été divisé en un ou plusieurs segments :
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket de destination que vous avez spécifié lors de la création de la configuration du rapport d'inventaire.
Sur la page Informations sur le bucket, vérifiez la présence d'un fichier manifeste. La présence d'un fichier manifeste indique que tous les segments d'un rapport d'inventaire ont été générés.
Voici un exemple de nom de fichier manifeste :
fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json
.Dans le bucket de destination, cliquez sur le bouton
Télécharger associé au fichier manifeste. Repérez dans le champreport_shards_file_names
les noms des fichiers de segment que vous souhaitez télécharger.Dans le bucket de destination, cliquez sur le bouton
Télécharger associé aux fichiers de segment que vous souhaitez télécharger.
Ligne de commande
Télécharger des rapports individuels
Procédez comme suit pour télécharger un rapport d'inventaire :
Pour lister tous les rapports d'inventaire générés par une configuration de rapport d'inventaire et récupérer leur
REPORT_DETAIL_ID
, utilisez la commandegcloud storage insights inventory-reports details list
:gcloud storage insights inventory-reports details list CONFIG_NAME \ --filter=EXPRESSION \ --page-size=SIZE \ --sort-by=FIELD
Remplacez :
CONFIG_NAME
par le nom unique de la configuration de rapport d'inventaire, au formatprojects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID
;EXPRESSION
par un filtre booléen à appliquer à chaque élément de ressource à lister. Si l'expression renvoie la valeur "True", cet élément est répertorié. Pour plus de détails et d'exemples d'expressions de filtre, exécutez$ gcloud topic filters
.SIZE
par le nombre maximal de ressources par page. La valeur par défaut est 50.FIELD
par une liste de noms de clés de champ de ressources selon lesquels effectuer le tri, séparés par des virgules. L'ordre par défaut est croissant. Ajoutez le préfixe~
pour l'ordre décroissant sur ce champ.
Si l'opération réussit, la commande renvoie un résultat semblable à celui-ci :
REPORT_DETAIL_ID SNAPSHOT_TIME Report_2023-04-10T00-00 2023-04-10T00:53:03Z Report_2023-04-12T00-00 2023-04-12T00:52:54Z Report_2023-04-05T00-00 2023-04-05T00:53:01Z
Pour télécharger un rapport d'inventaire, vous devez d'abord récupérer la propriété
reportPathPrefix
de l'objet ReportDetail. Pour obtenir la propriétéreportPathPrefix
d'un rapport, utilisez la commandegcloud storage insights inventory-reports details describe
:gcloud storage insights inventory-reports details describe REPORT_DETAIL_NAME
Remplacez
REPORT_DETAIL_NAME
par le nom du rapport d'inventaire au formatprojects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/REPORT_DETAIL_ID
.
Télécharger des segments de rapport
Procédez comme suit pour télécharger un rapport d'inventaire qui a été divisé en un ou plusieurs segments :
Téléchargez le fichier manifeste du rapport d'inventaire à l'aide de la commande
gcloud storage cp
:gcloud storage cp gs://BUCKET_NAME/MANIFEST_FILE_NAME DOWNLOAD_PATH
Remplacez :
BUCKET_NAME
par le nom du bucket de destination.MANIFEST_FILE_NAME
par le nom du fichier manifeste dans le bucket de destination, en respectant la convention de nommage suivante :REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json
Où :
REPORT_CONFIG_UUID
est l'UUID généré automatiquement de la configuration de rapport d'inventaire qui a généré les segments de rapport que vous souhaitez télécharger.TARGET_DATETIME
correspond aux date et heure de génération du rapport d'inventaire.
Par exemple,
fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json
.DOWNLOAD_PATH
est le chemin d'accès à votre système de fichiers dans lequel vous souhaitez enregistrer le rapport d'inventaire. Exemple :./example_report.csv
.
Pour télécharger un fichier de segment, utilisez la commande
gcloud storage cp
:gcloud storage cp gs://BUCKET_NAME/SHARD_FILE_NAME DOWNLOAD_PATH
Remplacez :
BUCKET_NAME
par le nom du bucket de destination.SHARD_FILE_NAME
par le nom encodé en URL du fichier de segment que vous souhaitez télécharger. Exemple :fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv
.DOWNLOAD_PATH
est le chemin d'accès à votre système de fichiers dans lequel vous souhaitez enregistrer le rapport d'inventaire. Exemple :./example_report.csv
.
Bibliothèques clientes
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
Télécharger des rapports individuels
Procédez comme suit pour télécharger un rapport d'inventaire :
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Répertoriez tous les rapports d'inventaire générés par une configuration de rapport d'inventaire en utilisant
cURL
pour appeler l'API JSON avec une requête pour répertorier les détails du rapport d'inventaire:curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
Remplacez :
YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
.REPORT_CONFIG_UUID
par l'UUID généré automatiquement de la configuration de rapport d'inventaire qui a généré le rapport que vous souhaitez télécharger ;
Pour obtenir les détails d'un rapport individuel, utilisez
cURL
pour appeler l'API JSON à l'aide d'une requêteGet
ReportDetails :curl --request GET \ "https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID/reportDetails/REPORT_DETAIL_ID" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \
Remplacez :
YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
.REPORT_CONFIG_UUID
par l'UUID généré automatiquement de la configuration de rapport d'inventaire qui a généré le rapport que vous souhaitez télécharger ;REPORT_DETAIL_ID
par le nom du rapport d'inventaire que vous souhaitez télécharger ;
Télécharger des segments de rapport
Procédez comme suit pour télécharger un rapport d'inventaire qui a été divisé en un ou plusieurs segments :
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Pour télécharger le fichier manifeste du rapport d'inventaire, utilisez
cURL
pour appeler l'API JSON à l'aide d'une requête d'objetGET
:curl -X GET \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/MANIFEST_FILE_NAME?alt=media" \
Remplacez :
BUCKET_NAME
par le nom du bucket de destination.MANIFEST_FILE_NAME
par le nom du fichier manifeste dans le bucket de destination, en respectant la convention de nommage suivante :REPORT_CONFIG_UUID_TARGET_DATETIME_manifest.json
Où :
REPORT_CONFIG_UUID
est l'UUID généré automatiquement de la configuration de rapport d'inventaire qui a généré les segments de rapport que vous souhaitez télécharger.TARGET_DATETIME
est la date à laquelle le rapport d'inventaire a été généré.
Par exemple,
fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:00_manifest.json
.Le champ
report_shards_file_names
du fichier manifeste contient les noms des segments de rapport d'inventaire que vous pouvez télécharger.Pour télécharger les fichiers de segment du rapport d'inventaire, utilisez
curl
pour appeler l'API JSON Cloud Storage à l'aide d'une requête d'objetGet
:curl -X GET \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "DOWNLOAD_PATH" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/SHARD_FILE_NAME?alt=media"
Remplacez :
DOWNLOAD_PATH
par le chemin d'accès à votre système de fichiers local dans lequel vous souhaitez enregistrer votre objet. Exemple :Desktop/dog.png
.BUCKET_NAME
par le nom du bucket de destination contenant le rapport d'inventaire. Exemple :my-bucket
.SHARD_FILE_NAME
par le nom encodé en URL du fichier de segment que vous souhaitez télécharger. Exemple :fc95c52f-157a-494f-af4a-d4a53a69ba66_2022-11-30T00:54_0.csv
.
Supprimer une configuration de rapport d'inventaire
Console
Procédez comme suit pour supprimer une configuration de rapport d'inventaire :
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket source contenant la configuration de rapport d'inventaire que vous souhaitez supprimer.
Sur la page Informations sur le bucket de votre bucket source, cliquez sur l'onglet Rapports sur l'inventaire.
Cliquez sur le nom de la configuration de rapport d'inventaire que vous souhaitez supprimer.
Sur la page Détails de la configuration de rapport qui s'affiche, cliquez sur
Supprimer.
Ligne de commande
Pour supprimer une configuration de rapport d'inventaire, utilisez la commande gcloud storage insights inventory-reports delete
:
gcloud storage insights inventory-reports delete CONFIG_NAME --force
Remplacez CONFIG_NAME
par le nom unique de la configuration de rapport d'inventaire, au format projects/PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID
.
L'option --force
supprime les métadonnées de tous les rapports d'inventaire générés par la configuration de rapport d'inventaire donnée. Les objets du rapport d'inventaire ne sont pas supprimés.
Bibliothèques clientes
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
Procédez comme suit pour supprimer une configuration de rapport d'inventaire :
Vous devez installer et initialiser gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization
.Vous pouvez également créer un jeton d'accès à l'aide d'OAuth 2.0 Playground et l'inclure dans l'en-tête
Authorization
.Pour supprimer une configuration de rapport d'inventaire, utilisez
cURL
pour appeler l'API JSON avec une requêteDelete
ReportConfig :curl --request DELETE \ 'https://storageinsights.googleapis.com/v1/projects/YOUR_PROJECT/locations/LOCATION/reportConfigs/REPORT_CONFIG_UUID?force=true' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \
Remplacez :
YOUR_PROJECT
par le nom du projet dans lequel se trouvent vos buckets sources et de destination ;LOCATION
par l'emplacement des buckets sources et de destination. Exemple :us-west1
.REPORT_CONFIG_UUID
par l'UUID généré automatiquement de la configuration de rapport d'inventaire que vous souhaitez supprimer ;
Le paramètre de requête force
supprime les métadonnées de tous les rapports d'inventaire générés par la configuration de rapport d'inventaire donnée.
Les objets du rapport d'inventaire ne sont pas supprimés.
Avancé : Générer des rapports d'inventaire dans un format de partitionnement Hive
Lorsque vous créez une configuration de rapport d'inventaire, vous pouvez spécifier un chemin de destination, qui correspond à un emplacement de votre bucket de destination où des rapports d'inventaire seront générés. Cela vous permet de générer des rapports d'inventaire dans un format de partitionnement Hive.
Pour spécifier un chemin de destination, vous devez utiliser des mots clés réservés.
Les mots clés du chemin de destination sont remplacés par leurs valeurs correspondantes lors de la génération du rapport d'inventaire. Par exemple, le chemin de destination config={{report-config-id}}/date={{date}}
peut être résolu en config=1A34-F2E456-12B456-1C3D/date=2022-05-20
.
Mots clés du chemin de destination
Vous pouvez spécifier les mots clés report-config-id
, date
ou datetime
, dans une section délimitée par {{ et }}, où :
report-config-id
est l'UUID de la configuration de rapport d'inventaire.date
est la date à laquelle le rapport d'inventaire est généré. Elle utilise le format ISO 8601.datetime
est la date et l'heure de génération du rapport d'inventaire. Elle utilise le format ISO 8601.
Les mots clés peuvent être spécifiés à l'aide de l'un des outils suivants :
Lorsque vous utilisez la console Google Cloud, spécifiez des mots clés dans la section Saisir un chemin de destination (facultatif). Cette section s'affiche lorsque vous créez une configuration de rapport d'inventaire.
Lorsque vous utilisez Google Cloud CLI, spécifiez des mots clés réservés à l'aide de l'option
--destination
.Lorsque vous utilisez l'API JSON, spécifiez des mots clés réservés dans le champ
storage_destination_options.destination_path
de l'objet ReportConfig.
Contrôle des accès et sécurité
Les recommandations et remarques suivantes concernent la sécurité et l'utilisation des rapports et des configurations d'inventaire :
Nous recommandons aux utilisateurs ayant le rôle
roles/storage.admin
de disposer également des autorisationsstorageinsights.reportConfigs.*
pour pouvoir contrôler l'utilisation de toutes les ressources dans leurs buckets, telles que la lecture des objets et de leurs métadonnées.Nous vous recommandons de limiter l'accès à vos ressources de rapport d'inventaire en accordant les autorisations
storageinsights.reportConfigs.*
uniquement aux personnes nécessaires.Une fois qu'une configuration de rapport d'inventaire a été créée, elle continue de générer des rapports d'inventaire même si l'utilisateur qui l'a créée ne dispose plus des autorisations requises. Pour arrêter de générer des rapports d'inventaire, vous pouvez modifier la date de fin dans la configuration de rapport d'inventaire ou supprimer l'intégralité de la configuration.
Étapes suivantes
- Si vous rencontrez des problèmes lors de la génération de rapports d'inventaire, consultez la section Dépannage pour obtenir de l'aide.