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.
Étape 1 : créer un flux de diffusion Firehose
Important
Avant d'effectuer les étapes suivantes, vous devez utiliser une politique d'accès afin que Firehose puisse accéder à votre compartiment Amazon S3. Pour plus d'informations, consultez Controlling Access dans le manuel Amazon Data Firehose Developer Guide.
Toutes les étapes de cette section (Étape 1) doivent être réalisées dans le compte du destinataire des données du journal.
USA Est (Virginie du Nord) est utilisé dans les exemples de commandes suivants. Remplacez la région par la celle appropriée pour votre déploiement.
Pour créer un flux de diffusion Firehose à utiliser comme destination
Créez un compartiment Amazon S3 :
aws s3api create-bucket --bucket amzn-s3-demo-bucket --create-bucket-configuration LocationConstraint=us-east-1
Créez le IAM rôle qui autorise Firehose à placer des données dans le bucket.
D'abord, utilisez un éditeur de texte pour créer une politique d'approbation dans un fichier
~/TrustPolicyForFirehose.json
.{ "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId":"222222222222" } } } }
Créez le IAM rôle en spécifiant le fichier de politique de confiance que vous venez de créer.
aws iam create-role \ --role-name FirehosetoS3Role \ --assume-role-policy-document file://~/TrustPolicyForFirehose.json
La sortie de cette commande ressemblera à ce qui suit. Notez le nom et le rôle du rôleARN.
{ "Role": { "Path": "/", "RoleName": "FirehosetoS3Role", "RoleId": "AROAR3BXASEKW7K635M53", "Arn": "arn:aws:iam::222222222222:role/FirehosetoS3Role", "CreateDate": "2021-02-02T07:53:10+00:00", "AssumeRolePolicyDocument": { "Statement": { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "222222222222" } } } } } }
Créez une politique d'autorisation pour définir les actions que Firehose peut effectuer sur votre compte.
Utilisez d'abord un éditeur de texte pour créer la politique d'autorisations suivante dans un fichier nommé
~/PermissionsForFirehose.json
. Selon votre cas d'utilisation, il se peut que vous deviez ajouter des autorisations supplémentaires à ce fichier.{ "Statement": [{ "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }] }
Entrez la commande suivante pour associer la politique d'autorisation que vous venez de créer au IAM rôle.
aws iam put-role-policy --role-name FirehosetoS3Role --policy-name Permissions-Policy-For-Firehose-To-S3 --policy-document file://~/PermissionsForFirehose.json
Entrez la commande suivante pour créer le flux de diffusion Firehose. Remplacez
my-role-arn
andamzn-s3-demo-bucket2-arn
avec les valeurs correctes pour votre déploiement.aws firehose create-delivery-stream \ --delivery-stream-name 'my-delivery-stream' \ --s3-destination-configuration \ '{"RoleARN": "arn:aws:iam::222222222222:role/FirehosetoS3Role", "BucketARN": "arn:aws:s3:::amzn-s3-demo-bucket"}'
La sortie doit ressembler à ce qui suit :
{ "DeliveryStreamARN": "arn:aws:firehose:us-east-1:222222222222:deliverystream/my-delivery-stream" }