

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# WhatsApp で送信するメディアファイルのアップロード
<a name="managing-media-files-s3"></a>

メディアファイルを送受信するときは、Amazon S3 バケットに保存し、WhatsApp からアップロードまたは取得する必要があります。Amazon S3 バケットは、WhatsApp Business Account (WABA) AWS リージョン と同じ AWS アカウント および にある必要があります。これらの指示は、Amazon S3 バケットを作成し、ファイルをアップロードし、ファイルへの URL を構築する方法を示しています。Amazon S3 コマンドの詳細については、[「AWS CLI で高レベル (s3) コマンドを使用する](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html)」を参照してください。の設定の詳細については AWS CLI、「 *[AWS Command Line Interface ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/)*」の[「AWS CLI の設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」および*[Amazon S3ユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)*」の[「バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」および[「オブジェクトのアップロード](https://docs.aws.amazon.com//AmazonS3/latest/userguide/upload-objects.html)」を参照してください。

**注記**  
WhatsApp はメディアファイルを削除する前に 30 日間保存します。*WhatsApp Business Platform Cloud API リファレンス*」の[「メディアのアップロード](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#upload-media)」を参照してください。

メディアファイルへの[署名付き URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html) を作成することもできます。署名付き URL を使用すると、オブジェクトへの時間制限付きアクセスを許可し、他のユーザーに AWS セキュリティ認証情報やアクセス許可を必要とせずにオブジェクトをアップロードできます。

1. Amazon S3 バケットを作成するには、[create-bucket](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/create-bucket.html) AWS CLI コマンドを使用します。コマンドラインで以下のコマンドを入力します。

   ```
   aws s3api create-bucket --region '{{us-east-1}}' --bucket {{BucketName}}
   ```

   上記のコマンドでは:
   + {{us-east-1}} を、WABA AWS リージョン が存在する に置き換えます。
   + {{BucketName}} を新しいバケットの名前に置き換えます。

1. Amazon S3 バケットにファイルをコピーするには、[cp](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-objects-copy) AWS CLI コマンドを使用します。コマンドラインで以下のコマンドを入力します。

   ```
   aws s3 cp {{SourceFilePathAndName}} s3://{{BucketName}}/{{FileName}} 
   ```

   上記のコマンドでは:
   + {{SourceFilePathAndName}} をコピーするファイルパスと名前に置き換えます。
   + {{BucketName}} をバケットの名前に置き換えます。
   + {{FileName}} をファイルに使用する名前に置き換えます。

   送信時に使用する URL は次のとおりです。

   ```
   s3://{{BucketName}}/{{FileName}}
   ```

   [署名付き URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html) を作成するには、{{ユーザー入力プレースホルダー}}を独自の情報に置き換えます。

   ```
   aws s3 presign s3://{{amzn-s3-demo-bucket1}}/{{mydoc.txt}} --expires-in {{604800}} --region {{af-south-1}} --endpoint-url {{https://s3.af-south-1.amazonaws.com}}
   ```

   返される URL は次のとおりです。 `https://amzn-s3-demo-bucket1.s3.af-south-1.amazonaws.com/mydoc.txt?{Headers}`

1. post-WhatsAppを使用して、メディアファイルを WhatsApp にアップロードします。 [post-whatsapp-message-media](https://docs.aws.amazon.com/cli/latest/reference/socialmessaging/post-whatsapp-message-media.html) 正常に完了すると、コマンドはメディアメッセージを送信するために必要な {{{MEDIA\_ID}}} を返します。

   ```
   aws socialmessaging post-whatsapp-message-media --origination-phone-number-id {{{ORIGINATION_PHONE_NUMBER_ID}}}  --source-s3-file bucketName={{{BUCKET}}},key={{{MEDIA_FILE}}}
   ```

   上記のコマンドで、次の操作を行います。
   + {{{ORIGINATION\_PHONE\_NUMBER\_ID}}} を電話番号の ID に置き換えます。
   + {{{BUCKET}}} を Amazon S3 バケットの名前に置き換えます。
   + {{{MEDIA\_FILE}}} をメディアファイルの名前に置き換えます。

   `--source-s3-presigned-url` の代わりに [を使用して、署名付き URL](#managing-media-files-s3.title) を使用してアップロードすることもできます`--source-s3-file`。`headers` フィールド`Content-Type`で を追加する必要があります。両方を使用すると、 `InvalidParameterException` が返されます。

   ```
   --source-s3-presigned-url headers={"{{Name}}":"{{Value}}"},url={{https://BUCKET.s3.REGION/MEDIA_FILE}}
   ```

1. 正常に完了すると、{{MEDIA\_ID}} が返されます。{{MEDIA\_ID}} は、メディア[メッセージを送信するときにメディア](send-message-media.md)ファイルを参照するために使用されます。