Vous pouvez convertir un sujet d'importation en sujet standard ou, inversement, un sujet standard en sujet d'importation.
Convertir un sujet d'importation en sujet standard
Pour convertir un sujet d'importation en sujet standard, effacez les paramètres d'ingestion. Procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Sujets.
Cliquez sur le thème d'importation.
Sur la page d'informations de la thématique, cliquez sur Modifier.
Décochez l'option Activer l'ingestion.
Cliquez sur Mettre à jour.
gcloud
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement de shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
Exécutez la commande
gcloud pubsub topics update:gcloud pubsub topics update TOPIC_ID \ --clear-ingestion-data-source-settings
Remplacez TOPIC_ID par l'ID du thème.
Convertir un sujet standard en sujet d'importation Amazon Kinesis Data Streams
Pour convertir un sujet standard en sujet d'importation Amazon Kinesis Data Streams, vérifiez d'abord que vous remplissez toutes les conditions préalables.
Console
-
Dans la console Google Cloud , accédez à la page Sujets.
-
Cliquez sur la rubrique que vous souhaitez convertir en rubrique d'importation.
-
Sur la page d'informations de la thématique, cliquez sur Modifier.
-
Sélectionnez l'option Activer l'ingestion.
-
Pour la source d'ingestion, sélectionnez Amazon Kinesis Data Streams.
-
Saisissez les informations suivantes :
-
ARN du flux Kinesis : ARN du flux de données Kinesis que vous prévoyez d'ingérer dans Pub/Sub. Le format ARN est le suivant :
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
ARN du client Kinesis : ARN de la ressource client enregistrée dans le flux de données AWS Kinesis. Le format ARN est le suivant :
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimestamp}. -
ARN du rôle AWS : ARN du rôle AWS. Le format ARN du rôle est le suivant :
arn:aws:iam::${Account}:role/${RoleName}. -
Compte de service : compte de service que vous avez créé.
-
-
Cliquez sur Mettre à jour.
gcloud
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement de shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
Exécutez la commande
gcloud pubsub topics updateavec tous les indicateurs mentionnés dans l'exemple suivant :gcloud pubsub topics update TOPIC_ID
--kinesis-ingestion-stream-arn KINESIS_STREAM_ARN
--kinesis-ingestion-consumer-arn KINESIS_CONSUMER_ARN
--kinesis-ingestion-role-arn KINESIS_ROLE_ARN
--kinesis-ingestion-service-account PUBSUB_SERVICE_ACCOUNTRemplacez les éléments suivants :
-
TOPIC_ID correspond à l'ID ou au nom du thème. Ce champ ne peut pas être modifié.
-
KINESIS_STREAM_ARN est l'ARN du flux de données Kinesis que vous prévoyez d'ingérer dans Pub/Sub. Le format de l'ARN est le suivant :
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
KINESIS_CONSUMER_ARN correspond à l'ARN de la ressource consommateur enregistrée dans les flux de données AWS Kinesis. Le format ARN est le suivant :
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimestamp}. -
KINESIS_ROLE_ARN correspond à l'ARN du rôle AWS. Le format ARN du rôle est le suivant :
arn:aws:iam::${Account}:role/${RoleName}. -
PUBSUB_SERVICE_ACCOUNT correspond au compte de service que vous avez créé.
-
Go
L'exemple suivant utilise la version majeure de la bibliothèque cliente Pub/Sub pour Go (v2). Si vous utilisez toujours la bibliothèque v1, consultez le guide de migration vers la v2. Pour afficher la liste des exemples de code v1, consultez les exemples de code obsolètes.
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go dans le guide de démarrage rapide : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub en langage Go.
Java
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Java se trouvant sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java Pub/Sub.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub en langage Node.js.
Python
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Python qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub en langage Python.
C++
Avant d'essayer cet exemple, suivez les instructions de configuration pour C++ dans le guide de démarrage rapide : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub en langage C++.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub en langage Node.js.
Pour en savoir plus sur les ARN, consultez Amazon Resource Names (ARNs) (Noms de ressources Amazon (ARN)) et IAM Identifiers (Identifiants IAM).
Convertir un sujet standard en sujet d'importation Cloud Storage
Pour convertir un sujet standard en sujet d'importation Cloud Storage, vérifiez d'abord que vous remplissez tous les prérequis.
Console
-
Dans la console Google Cloud , accédez à la page Sujets.
-
Cliquez sur le sujet que vous souhaitez convertir en sujet d'importation Cloud Storage.
-
Sur la page d'informations de la thématique, cliquez sur Modifier.
-
Sélectionnez l'option Activer l'ingestion.
-
Pour la source d'ingestion, sélectionnez Google Cloud Storage.
-
Pour le bucket Cloud Storage, cliquez sur Parcourir.
La page Sélectionner un bucket s'ouvre. Sélectionnez l'une des options suivantes :
-
Sélectionnez un bucket existant dans un projet approprié.
-
Cliquez sur l'icône Créer, puis suivez les instructions à l'écran pour créer un bucket. Après avoir créé le bucket, sélectionnez-le pour le thème d'importation Cloud Storage.
-
-
Lorsque vous spécifiez le bucket, Pub/Sub vérifie que le compte de service Pub/Sub dispose des autorisations appropriées sur le bucket. En cas de problème d'autorisation, un message d'erreur s'affiche.
Si vous rencontrez des problèmes d'autorisation, cliquez sur Définir des autorisations. Pour en savoir plus, consultez Accorder des autorisations Cloud Storage au compte de service Pub/Sub.
-
Pour Format d'objet, sélectionnez Texte, Avro ou Pub/Sub Avro.
Si vous sélectionnez Texte, vous pouvez éventuellement spécifier un délimiteur pour diviser les objets en messages.
Pour en savoir plus sur ces options, consultez Format d'entrée.
- Facultatif. Vous pouvez spécifier une durée minimale pour créer l'objet pour votre sujet. Si ce champ est défini, seuls les objets créés après la durée minimale de création d'objet sont ingérés.
Pour en savoir plus, consultez Durée minimale pour créer l'objet.
- Vous devez spécifier un modèle glob. Pour ingérer tous les objets du bucket, utilisez
**comme modèle glob. Seuls les objets correspondant au modèle donné sont ingérés.Pour en savoir plus, consultez Mettre en correspondance un format glob.
- Conservez les autres paramètres par défaut.
- Cliquez sur Modifier le thème.
gcloud
-
Dans la console Google Cloud , activez Cloud Shell.
En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement de shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
Pour éviter de perdre vos paramètres pour le sujet d'importation, veillez à tous les inclure chaque fois que vous mettez à jour le sujet. Si vous oubliez de spécifier une valeur, Pub/Sub rétablit la valeur par défaut d'origine.
Exécutez la commande
gcloud pubsub topics updateavec tous les indicateurs mentionnés dans l'exemple suivant :gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
Remplacez les éléments suivants :
-
TOPIC_ID est l'ID ou le nom du sujet. Ce champ ne peut pas être modifié.
-
BUCKET_NAME : spécifie le nom d'un bucket existant. Exemple :
prod_bucketLe nom du bucket ne doit pas inclure l'ID du projet. Pour créer un bucket, consultez Créer des buckets. -
INPUT_FORMAT : spécifie le format des objets ingérés. Peut être défini sur
text,avrooupubsub_avro. Pour en savoir plus sur ces options, consultez Format d'entrée. -
TEXT_DELIMITER : spécifie le délimiteur avec lequel diviser les objets texte en messages Pub/Sub. Il doit s'agir d'un seul caractère et ne doit être défini que lorsque
INPUT_FORMATest défini surtext. La valeur par défaut est le caractère de nouvelle ligne (\n).Lorsque vous utilisez gcloud CLI pour spécifier le délimiteur, faites attention à la gestion des caractères spéciaux tels que le saut de ligne
\n. Utilisez le format'\n'pour vous assurer que le délimiteur est correctement interprété. Si vous utilisez simplement\nsans guillemets ni caractères d'échappement, le délimiteur sera"n". -
MINIMUM_OBJECT_CREATE_TIME : spécifie la durée minimale de création d'un objet pour qu'il puisse être ingéré. Il doit être au format UTC
YYYY-MM-DDThh:mm:ssZ. Par exemple,2024-10-14T08:30:30Z.Toute date, passée ou future, comprise entre le
0001-01-01T00:00:00Zet le9999-12-31T23:59:59Zinclus, est valide. -
MATCH_GLOB : spécifie le modèle glob à faire correspondre pour qu'un objet soit ingéré. Lorsque vous utilisez gcloud CLI, un glob de correspondance avec des caractères
*doit avoir le caractère*au format échappé\*\*.txt, ou l'ensemble du glob de correspondance doit être entre guillemets"**.txt"ou'**.txt'. Pour en savoir plus sur les syntaxes acceptées pour les modèles glob, consultez la documentation Cloud Storage.
-