无法使用 S3 预签名上传应用 url
Unable to upload app using S3 pre-signed url
我正在使用 AWS JAVA SDK 自动调用 Device Farm。我已成功创建项目、创建上传并生成 S3 预签名 url,但现在我必须使用此预签名 url.
发送 IPA 文件
这是我的代码,请让我知道我做错了什么。我想我没有以正确的方式将文件发送到服务器。请分享使用预签名 url 发送文件的代码示例。我已经尝试了很多不同的方法来将文件发送到设备场。
任何帮助将不胜感激。
AWSCredentials awsCredentials=new BasicAWSCredentials("sampleJRMSWANJS5KQ","sampleUSNnuC/fVSgvR9DSVr");
AWSDeviceFarm deviceFarmObj = new AWSDeviceFarmClient(awsCredentials);
CreateProjectRequest projReqObj = new CreateProjectRequest();
projReqObj.setName("JAVAHTTPAWSAPIPROJECT");
Project projObj = deviceFarmObj.createProject(projReqObj).getProject();
String projArn=projObj.getArn();
byte[] array = Files.readAllBytes(new File("/Users/abc/Documents/Card/Blue.ipa").toPath());
String data = new String(array,"UTF-8");
char[] charFile= data.toCharArray();
URL urlPreSigned = new URL(url);
HttpURLConnection connection=(HttpURLConnection)urlPreSigned.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("PUT");
OutputStreamWriter out = new OutputStreamWriter(
connection.getOutputStream());
out.write(charFile);
out.close();
int responseCode = connection.getResponseCode();
System.out.println("Service returned response code " + responseCode);
以下是对从 Device Farm Jenkins 插件上传应用程序的代码的参考。
https://github.com/awslabs/aws-device-farm-jenkins-plugin/blob/master/src/main/java/org/jenkinsci/plugins/awsdevicefarm/AWSDeviceFarm.java#L367
如果您需要任何其他信息,请告诉我们
我正在使用 AWS JAVA SDK 自动调用 Device Farm。我已成功创建项目、创建上传并生成 S3 预签名 url,但现在我必须使用此预签名 url.
发送 IPA 文件这是我的代码,请让我知道我做错了什么。我想我没有以正确的方式将文件发送到服务器。请分享使用预签名 url 发送文件的代码示例。我已经尝试了很多不同的方法来将文件发送到设备场。
任何帮助将不胜感激。
AWSCredentials awsCredentials=new BasicAWSCredentials("sampleJRMSWANJS5KQ","sampleUSNnuC/fVSgvR9DSVr");
AWSDeviceFarm deviceFarmObj = new AWSDeviceFarmClient(awsCredentials);
CreateProjectRequest projReqObj = new CreateProjectRequest();
projReqObj.setName("JAVAHTTPAWSAPIPROJECT");
Project projObj = deviceFarmObj.createProject(projReqObj).getProject();
String projArn=projObj.getArn();
byte[] array = Files.readAllBytes(new File("/Users/abc/Documents/Card/Blue.ipa").toPath());
String data = new String(array,"UTF-8");
char[] charFile= data.toCharArray();
URL urlPreSigned = new URL(url);
HttpURLConnection connection=(HttpURLConnection)urlPreSigned.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("PUT");
OutputStreamWriter out = new OutputStreamWriter(
connection.getOutputStream());
out.write(charFile);
out.close();
int responseCode = connection.getResponseCode();
System.out.println("Service returned response code " + responseCode);
以下是对从 Device Farm Jenkins 插件上传应用程序的代码的参考。 https://github.com/awslabs/aws-device-farm-jenkins-plugin/blob/master/src/main/java/org/jenkinsci/plugins/awsdevicefarm/AWSDeviceFarm.java#L367
如果您需要任何其他信息,请告诉我们