私が現在取り組んでいるアプリケーションは、S3バケットにログメッセージを書き込むためにAmazon S3 Stream WrapperをPHPで使用しており、Golangに移植する必要があります。 Goにこれに同値がありますか? PutObject
メソッドはすべての内容を上書きし、追加するだけです。 PHPでは、既存のバケットに文字列を追加するのにfopen()
とfwrite()
を使用しています。ゴランのS3バケットへの書き込み/追加
os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0600)
私はファイルが存在しないというエラーが表示されます。私はs3://
とhttps://
の両方をログファイルにリンクしてみました。
は、ここでPHPのためのアマゾンの例です:
$stream = fopen('s3://bucket/key', 'w');
fwrite($stream, 'Hello!');
fclose($stream);
S3追記をサポートしていません。チャンクの束を入れて1つの大きなファイルに(シーンの裏に)追加することで、チャンク制限あたり5GBを払うS3Managerでさえ、その能力を与えません。最後のバイトが送信され、ファイルハンドルが閉じられるまで、ファイルは基本的に実際には全く存在しない場合があります。 – Rob
公式のawsのドキュメントをチェックしましたか? https://docs.aws.amazon.com/sdk-for-go/api/より具体的にはS3のドキュメント https://docs.aws.amazon.com/sdk-for-go/api/service/ s3/ – reticentroot
@Rob何とかPHPでストリーミングをやっているので、混乱しています... – Morgan