8

Amazon.ElasticTranscoder.Model (.NET、C#) を使用してすべてのファイルを公開する方法。これが私のコードです:

public static void CreateJobRequest(string videoPath, string bucketName)
{
string accsessKey = CloudSettings.AccessKeyID;
string secretKey = CloudSettings.SecreteKey;
var etsClient = new AmazonElasticTranscoderClient(accsessKey,secretKey, RegionEndpoint.USEast1);
var notifications = new Notifications()
{
Completed = "arn:aws:sns:us-east-1:XXXXXXXXXXXX:Transcode",
Error = "arn:aws:sns:us-east-1:XXXXXXXXXXXX:Transcode",
Progressing = "arn:aws:sns:us-east-1:XXXXXXXXXXXX:Transcode",
Warning = "arn:aws:sns:us-east-1:XXXXXXXXXXXX:Transcode"
};

var pipeline=etsClient.CreatePipeline(new CreatePipelineRequest()
{
Name = "MyFolder",
InputBucket = bucketName,
OutputBucket = bucketName,
Notifications = notifications,
Role = "arn:aws:iam::XXXXXXXXXXXX:role/Elastic_Transcoder_Default_Role"

}).CreatePipelineResult.Pipeline;
etsClient.CreateJob(new CreateJobRequest()
{
PipelineId = pipeline.Id,
Input = new JobInput()
{
AspectRatio = "auto",
Container = "mp4",
FrameRate = "auto",
Interlaced = "auto",
Resolution = "auto",
Key = videoPath

},
Output = new CreateJobOutput()
{
ThumbnailPattern = videoPath+"videoName{resolution}_{count}",
Rotate = "0",
PresetId = "1351620000000-000020",
Key = videoPath+"newFileName.mp4"
}
});
}

すべてが完璧に機能しますが、トランスコードされたファイルは非公開です。どうすればそれを公開に設定できますか?

4

3 に答える 3

20

今日この問題が発生したばかりで、解決方法は次のとおりです。

「トランスコードされたファイルとプレイリスト用に Amazon S3 バケットを設定する」の下のパイプライン

  1. 「+許可リンクを追加」を使用します。
  2. 「Grantee Type」として「Amazon S3 Group」を選択します。
  3. 「すべてのユーザー」として「被付与者」を選択します。
  4. 次に、「アクセス」を「開く/ダウンロード」および「表示権限」にチェックします。
  5. 変更内容を保存。

「サムネイル用の Amazon S3 バケットの設定」のすぐ下のセクションで生成されたサムネイルに対して、これを繰り返すことができます。

于 2013-05-24T09:33:03.810 に答える
7

@timstermaticの回答に追加するだけです-オブジェクトを公開するために「開く/ダウンロード」アクセスを許可するだけで済みました。

「アクセス許可の表示」オプションは、オブジェクト自体を表示するのではなく、オブジェクトのACL (アクセス制御リスト)を誰でも読み取ることができるようにするために使用されます。これは、「開く/ダウンロード」オプションによって処理されます。

AWS の用語でいつものように、誤解しやすいです。「オブジェクトを表示するアクセス許可」ではなく、「オブジェクトのアクセス許可を表示する」です。

(申し訳ありませんが、これをコメントとして追加できませんでした。十分な担当者がいません。)

于 2013-12-03T09:53:44.933 に答える