2016-07-31 5 views
0

URL을 가져올 수있는 간단한 S3 서버를 설정하려고합니다 (이 경우 이미 가져온 Quickbase 파일이됩니다). 버튼을 클릭하면 게시 할 Quickbase 페이지에 저장된 스크립트가 호출됩니다 단순화하기 위해 내가 정의 된 태그 필드와 S3에 업로드 할AWS S3 url 설정 자격 증명을 사용하는 방법은 무엇입니까?

var fileToUpload = $(this).attr('data'); 
var qbfiletag = $(this).attr('data'); 

파일과 스크립트에 뽑아 데이터 등의 사업부 필드 년대 DBID와 레코드 ID # 정확한 Quickbase이라고 URL을 가지고 있어요 가져올 파일을 저장합니다.

Juice와 Zapier 팀이이 작업을 수행했기 때문에 이것이 가능하다는 것을 알고 있습니다. URL로 사용하기위한 자격 증명을 설정하는 데 어려움이 있습니다.

나는 액세스 키를 올바르게 설정하지 못했습니다. 나는 mycompany.quickbase.com에 대한 읽기 권한을 부여했지만 그 외에도 다양한 정보를 가지고있어서 aws가 내가 망쳐 놓은 곳을 좁히기가 어렵습니다.

+0

S3 서버에 저장된 해당 레코드와 관련된 문서로 이어지는 Quickbase 폼의 버튼을 누르는 것이 목표입니까? –

+0

Quickbase 폼에서 Quickbase에서 파일을 검색하고이를 s3 서버에 저장하는 버튼을 누릅니다. –

답변

0

JavaScript를 통해 S3에 액세스하기 위해 계정을 설정하는 데 몇 가지 단계가있는 것처럼 보입니다. 버킷을 만든 후에 버킷의 속성에 액세스하고 CORS 구성을 편집하여 CORS를 설정해야합니다. 회사 도메인에 대한 읽기/쓰기 액세스 권한을 부여 했으므로 이미이 작업을 수행했을 것입니다.

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
<CORSRule> 
    <AllowedOrigin>https://mycompany.quickbase.com</AllowedOrigin> 
    <AllowedMethod>PUT</AllowedMethod> 
    <AllowedMethod>POST</AllowedMethod> 
    <AllowedMethod>DELETE</AllowedMethod> 
    <AllowedHeader>*</AllowedHeader> 
</CORSRule> 

번째 부분은 Identity and Access Management Console에서 IAM 사용자를 생성하는 것이다 : I은 아마존이 시험을 사용 하였다. 사용자를 생성하는 과정에서 Amazon은 액세스 키 ID와 비밀 액세스 키 쌍을 자동으로 생성합니다. 나중에 API 호출에이 값이 필요합니다. 또한 사용자에 대한 권한을 설정하는 정책을 첨부해야합니다. 내 테스트에 AmazonS3FullAccess 정책을 사용했습니다. 이 모든 작업은 해당 콘솔을 통해 수행됩니다.

IAM 사용자가 설정되면 Amazon의 JavaScript SDK를 사용하여 S3 객체를 인스턴스화하기 전에 액세스 키 ID와 비밀 액세스 키를 AWS 구성자에게 전달할 수 있습니다.

AWS.config.update({accessKeyId: 'ABCDEFGHIJKLMNOP', secretAccessKey: 'a1b2c3d4e5f6g7i8j9k0+0012ab'}); 
var bucket = new AWS.S3({params: {Bucket: 'myBucketName'}}); 

은 거기에서 당신은 당신의 파일을 업로드 포함한 SDK에서 S3의 방법 중 하나를 호출 bucket 객체를 사용할 수 있습니다.

+0

quickbase 내에서 게시를 시도하고 도메인 간 문제가 발생했습니다. 그래서 대신 GH의 please.js와 같은 것을 사용하여 올바른 파일을 가져 오기 위해 QB의 참조에 필요한 데이터가 포함 된 메시지를 게시합니다. [이] (http://stackoverflow.com/questions/17585881/amazon-s3-direct-file-upload-from-client-browser-private-key-disclosure/31055652#31055652) 형식을 사용하려고했습니다. 전기. 그리고 Access-Control-Allow-Origin 문제가 있습니다. 웹 사이트에서 신고하는 방법을 잘 모르겠습니다. –

+0

도메인 간 문제가 계속 발생하는 경우, 이것은 CORS가 올바르게 설정되지 않았다는 좋은 징후입니다. 프로젝트의 특정 요구 사항에 맞게 작업하기 전에 데이터를 개체에 업로드하는 Amazon의 사례를 얻으려고 시도 했습니까? 그렇지 않은 경우 예제를 시도하고 작동하는 것으로 알려진 코드로 CORS 및 인증 문제를 해결하는 것이 좋습니다. 그게 위의 내 대답을 테스트하는 방법입니다. http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/browser-examples.html#Amazon_S3 –

관련 문제