Google Cloud Storage 확장 프로그램

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

<ph type="x-smartling-placeholder">

버전: 1.4.1

Cloud Storage 버킷에 있는 파일의 서명된 URL을 나열, 다운로드, 생성합니다.

이 콘텐츠는 이 확장 프로그램을 구성하고 사용하기 위한 참조를 제공합니다. API 프록시에서 이 확장 프로그램을 사용하려면 먼저 다음 작업을 수행해야 합니다.

  1. Cloud Storage 버킷 생성

  2. 버킷에 객체 업로드

  3. Google Cloud Storage 확장 프로그램을 나타내는 GCP 서비스 계정에 버킷에 액세스할 수 있는 권한을 부여합니다. 사용할 역할에 대한 자세한 내용은 Cloud Storage 역할을 참조하세요. Cloud Storage의 권한에 대한 자세한 내용은 Identity and Access Management (IAM) 권한 사용을 참조하세요.

  4. GCP 콘솔을 사용하여 서비스 계정의 키를 생성합니다.

  5. 구성 참조를 사용하여 확장 프로그램을 추가 및 구성할 때 결과 키 JSON 파일의 콘텐츠를 사용합니다.

Cloud Storage 정보

Cloud Storage는 안전하고 내구성과 확장성이 뛰어난 파일 스토리지를 위한 서비스입니다. Cloud Storage를 처음 시작하는 경우 Cloud Storage 문서의 빠른 시작부터 시작하는 것이 좋습니다.

샘플

다음 예는 Extension콜아웃 정책을 사용하여 Cloud Storage 확장 프로그램 작업 지원을 구성하는 방법을 보여줍니다.

파일 나열

다음 예에서 확장 프로그램의 listFiles 작업은 파일 목록을 검색하여 배열로 반환합니다. listFiles 작업은 입력 매개변수를 사용하지 않습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Storage-File-List">
    <DisplayName>Get Storage File List</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>listFiles</Action>
    <Input><![CDATA[{}]]></Input>
    <Output parsed="false">storage.filelist.retrieved</Output>
</ConnectorCallout>

응답 값은 다음과 같습니다.

["example-text.txt","example-image.png"]

다음 메시지 할당 정책은 위의 Extension콜아웃 정책에서 응답 값을 검색하여 응답 페이로드에 복사합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
    <DisplayName>Assign Storage File List</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.filelist.retrieved}</Payload>
    </Set>
</AssignMessage>

파일 다운로드

다음 확장 콜아웃 정책은 Google Cloud Storage 확장 프로그램을 사용하여 콘텐츠가 Some example text.인 간단한 텍스트 파일을 다운로드합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Download-File">
    <DisplayName>Download File</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[{"fileName": "example-text.txt"}]]></Input>
    <Output>storage.file.retrieved</Output>
</ConnectorCallout>

응답 값은 다음과 같습니다.

{"content":"Some example text."}

다음 메시지 할당 정책은 확장 프로그램에서 반환한 값을 검색하여 응답 페이로드에 복사합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
    <DisplayName>Assign Storage File List</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.file.retrieved}</Payload>
    </Set>
</AssignMessage>

서명된 URL 생성

다음 확장 콜아웃 정책에서는 이 확장 프로그램을 사용하여 Cloud Storage 버킷에서 지정된 파일을 다운로드하기 위한 URL을 생성합니다. URL이 만료되어 더 이상 작동하지 않는 날짜와 함께 파일 이름을 전달합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Signed-URL">
    <DisplayName>Get Signed URL</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>generateSignedURL</Action>
    <Input><![CDATA[{
        "fileName" : "example-text.txt",
        "expiresOn" : "2018-08-05"
    }]]></Input>
    <Output>storage.url.retrieved</Output>
</ConnectorCallout>

확장 프로그램의 반환 값은 다음과 같습니다.

{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}

다음 메시지 할당 정책은 확장 프로그램에서 반환한 값을 검색하여 응답 본문에 복사합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-URL">
    <DisplayName>Assign Storage File URL</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.url.retrieved}</Payload>
    </Set>
</AssignMessage>

작업

<ph type="x-smartling-placeholder">

파일 다운로드

지정된 파일을 다운로드합니다.

요청 매개변수

매개변수 설명 유형 기본값 필수
fileName 다운로드할 파일입니다. 문자열 없음 예.

구문

<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>

<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>

응답

다운로드한 파일의 콘텐츠가 있는 객체를 나타내는 JSON입니다. 예를 들면 다음과 같습니다.

{"content":"Some example text."}

listFiles

다운로드할 수 있는 파일을 나열합니다.

요청 매개변수

없음

응답

파일 이름의 배열입니다. 예를 들면 다음과 같습니다.

["example-text.txt","example-image.png"]

generateSignedURL

버킷에 지정된 파일의 서명된 URL을 만듭니다. 이 URL을 사용하여 파일을 다운로드할 수 있습니다.

요청 매개변수

매개변수 설명 유형 기본값 필수
fileName 서명된 URL을 생성할 Cloud Storage 객체의 이름입니다. 문자열 없음 예.
expiresOn 서명된 URL이 만료되어야 하는 날짜입니다. 문자열 없음 아니요.

구문

<Input><![CDATA[{
  "fileName" : "file-for-which-to-generate-url",
  "expiresOn" : "date-to-expire-url"
}]]></Input>

<Input><![CDATA[{
  "fileName" : "example-text.txt",
  "expiresOn" : "2018-08-05"
}]]></Input>

응답

서명된 URL이 있는 객체를 나타내는 JSON입니다. 예를 들면 다음과 같습니다.

{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}

구성 참조

API 프록시에서 사용하기 위해 이 확장 프로그램을 구성하고 배포할 때 다음을 사용하세요. Apigee 콘솔을 사용하여 확장 프로그램을 구성하는 단계는 확장 프로그램 추가 및 구성을 참조하세요.

일반적인 확장 속성

모든 확장 프로그램에는 다음과 같은 속성이 있습니다.

속성 설명 기본 필수
name 확장 프로그램의 구성에 지정할 이름입니다. 없음 지원됨
packageName Apigee Edge에서 제공하는 확장 프로그램 패키지 이름입니다. 없음 지원됨
version 확장 프로그램을 구성하는 확장 프로그램 패키지의 버전 번호입니다. 없음 지원됨
configuration 추가하는 확장 프로그램 관련 구성 값입니다. 이 확장 프로그램 속성의 속성을 참조하세요. 없음 지원됨

이 확장 프로그램의 속성

속성 설명 기본값 필수
bucketName 이 확장 프로그램과 상호작용해야 하는 GCS 버킷입니다. 없음 예.