public class BeamFileSystemArtifactStagingService extends AbstractArtifactStagingService
ArtifactStagingServiceGrpc.ArtifactStagingServiceImplBase based on beam file system. BeamFileSystemArtifactStagingService requires BeamFileSystemArtifactStagingService.StagingSessionToken in every me call. The
manifest is put in BeamFileSystemArtifactStagingService.StagingSessionToken.getBasePath()/BeamFileSystemArtifactStagingService.StagingSessionToken.getSessionId() and artifacts are put in BeamFileSystemArtifactStagingService.StagingSessionToken.getBasePath()/BeamFileSystemArtifactStagingService.StagingSessionToken.getSessionId()/ARTIFACTS.
The returned token is the path to the manifest file.
The manifest file is encoded in ArtifactApi.ProxyManifest.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
BeamFileSystemArtifactStagingService.StagingSessionToken
Serializable StagingSessionToken used to stage files with
BeamFileSystemArtifactStagingService. |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ARTIFACTS |
static java.lang.String |
MANIFEST |
NO_ARTIFACTS_STAGED_TOKEN| Constructor and Description |
|---|
BeamFileSystemArtifactStagingService() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.String |
generateStagingSessionToken(java.lang.String sessionId,
java.lang.String basePath)
Generate a stagingSessionToken compatible with
BeamFileSystemArtifactStagingService. |
java.lang.String |
getArtifactUri(java.lang.String stagingSession,
java.lang.String encodedFileName) |
java.lang.String |
getRetrievalToken(java.lang.String stagingSession) |
java.nio.channels.WritableByteChannel |
openManifest(java.lang.String stagingSession) |
java.nio.channels.WritableByteChannel |
openUri(java.lang.String uri) |
void |
removeArtifacts(java.lang.String stagingSessionToken) |
void |
removeUri(java.lang.String uri) |
close, commitManifest, putArtifactbindServicepublic static final java.lang.String MANIFEST
public static final java.lang.String ARTIFACTS
public BeamFileSystemArtifactStagingService()
public java.lang.String getArtifactUri(java.lang.String stagingSession,
java.lang.String encodedFileName)
throws java.lang.Exception
getArtifactUri in class AbstractArtifactStagingServicejava.lang.Exceptionpublic java.nio.channels.WritableByteChannel openUri(java.lang.String uri)
throws java.io.IOException
openUri in class AbstractArtifactStagingServicejava.io.IOExceptionpublic void removeUri(java.lang.String uri)
throws java.io.IOException
removeUri in class AbstractArtifactStagingServicejava.io.IOExceptionpublic void removeArtifacts(java.lang.String stagingSessionToken)
throws java.lang.Exception
removeArtifacts in class AbstractArtifactStagingServicejava.lang.Exceptionpublic java.nio.channels.WritableByteChannel openManifest(java.lang.String stagingSession)
throws java.lang.Exception
openManifest in class AbstractArtifactStagingServicejava.lang.Exceptionpublic java.lang.String getRetrievalToken(java.lang.String stagingSession)
throws java.lang.Exception
getRetrievalToken in class AbstractArtifactStagingServicejava.lang.Exceptionpublic static java.lang.String generateStagingSessionToken(java.lang.String sessionId,
java.lang.String basePath)
BeamFileSystemArtifactStagingService.sessionId - Unique sessionId for artifact staging.basePath - Base path to upload artifacts.